集群
伸缩性(根据用户需求的能力合理添加服务器数量)
高可用(单点失效)
负载均衡(过来的服务可以尽量均摊到几个服务器上)
高性能(并行计算解决复杂的科学问题)
分布式
缓解服务器的访问和存储压力
一个业务分拆多个子业务,部署在不同的服务器上。
各部分通过通信协议交互,缺一不可
某台故障,部分功能缺失,整体无法运行
这时候多个业务组件(ServiceA ServiceB ServiceC)需要通过 API GateGateway 访问
微服务与分布式比较相像
是一种架构风格
一个小服务只对应一个单一的功能
每个服务可以单独部署运行
服务之间通过rpc交互
微服务的设计是为了不因为某个模块的升级和 BUG 影响现有的整个系统业务。微服务与分布式的细微差别是,微服务的应用不一定是分散在多个服务器上,它也可以是同一个服务器
分布式服务最后都会向微服务架构演化,这是一种趋势。不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维难度会增大。
集群模式需要做好 Session 共享,确保在不同服务器切换的过程中不会因为没有获取到 Session 而引起服务终止。