【发布时间】:2012-09-20 21:21:43
【问题描述】:
我正在设计系统架构。(Java EE/Spring)
这个系统的主要因素是低延迟。(从端到端谈论大约 1 ms 和更少)
我们已经为这个实时系统计划了几个组件。
我向各位专家提出的问题:我知道耦合和解耦的所有优点(故障转移、分离、维护、扩展等)
我在这里面临的问题是:
例如,假设我在机器 A(app1) 和机器 B(app2) 上有两个不同的应用程序。
一个请求必须通过两台机器。两台机器都处理完请求后,最终的答案将发送给客户端。
这两者之间的集成延迟肯定会比在同一台机器下拥有这些应用程序(网络时间等)更高。
另一方面,我可以独立更新和维护每个应用程序,而无需依赖同一台机器。故障转移、集群、负载平衡也是如此
你有什么建议?我应该考虑什么?延迟与解耦和维护
谢谢, 射线。
【问题讨论】:
-
低延迟是什么意思?你说的是 100 毫秒、10 毫秒、1 毫秒、100 毫秒、10 毫秒吗?
-
即使它们在同一台机器上,如果它们是两个不同的应用程序,你可以单独维护它们对吗?您使用的是哪个应用服务器?
-
延迟稍后出现。如果您的部署方式是需要两台机器来完成单个请求,那么您也没有故障转移。在这样的部署中,他们都不能独立地为任何客户服务
-
@Peter Lawrey,大约 1 毫秒或更短的时间!
-
@Nambari,现在我们使用 Spring。
标签: java spring design-patterns architecture latency