负载均衡器不需要写业务逻辑,所以运行很快,但是访问量大时仍可能崩溃,因为压力都在负载均衡器上。负载均衡器分配的请求还需要等待请求相应之后,再通过负载均衡器返回给调用方。(服务器端的负载均衡)
使用注册中心时,请求先访问注册中心(zookeeper),拿到所需要的服务器的地址,然后自己通过轮询分配请求,然后去直接访问所需要的服务器并得到结果(客户端的负载均衡)。分两步走,压力会显著下降。
OCP开发原则:“开放-封闭”(Open-Close Principle,OCP)原则。
Open (Open for extendtion)模块的行为必须是开放的、支持扩展的,而不是僵化的。
Close(Closed for modification)在对模块的功能进行扩展时,不应该影响或大规模地影响已有的模块。
分布式系统:各个服务模块之间解耦。
分布式集群:多台机器部署相同的服务,通过负载均衡器或者注册中心,和缓存服务器来处理大量请求。
不同类型的消息最好有所区分,这样更加方便,每个服务只订阅自己关心的数据。称之为消息系统(如kafka)。