【发布时间】:2017-08-27 11:14:49
【问题描述】:
假设,我正在运行一台运行 nodejs、websocket 服务和 redis 服务的机器。我想从规模的角度来分配系统,这两种方法哪个更好:
在不同的机器上运行每个服务。所以两台机器用于负载均衡器后面的 Websocket 服务,一台机器用于 nodejs,三台机器用于 Redis。
继续在同一台机器上运行所有服务,现在将这台机器克隆到另外五台机器上,并在负载均衡器后面运行它们。
我一直致力于/看到第一个架构。但是一位经验丰富的开发运营人员建议我采用第二种方法,他说这种方法易于管理并且可以更好地扩展。
另外,这并不特定于 nodejs、redis 等。我提到它们是为了更好地解释。总的来说,我想知道哪种架构更好。
【问题讨论】:
-
没有更好的通用架构。这取决于您的非功能性要求,例如可用性、数据一致性、响应时间、(峰值)负载、业务逻辑的复杂性、机器数量(复制数量)、用例......
标签: architecture server scalability