发展:
从单机单体应用到垂直应用再到RPC服务再到后来微服务体系
发展大体经历了这样四个阶段。
那么对于服务化也相应的经历了这样几个阶段:
单点->远程服务调用->集群->RPC-服务治理。
今天来浅谈一下以上四个阶段:
单点:单机单体应用的核心问题。容易出现问题:宕机的单点故障问题。
远程服务调用:说白了,就是把应用划分后,又一次的出现单点故障问题。
集群:只是将一个节点的单点故障用另一个节点的服务单点进行解决。并没有从实质上解决该问题。
RPC:在原先的基础上对服务增加了服务注册和发现的功能。利用分布式的视角来解决了服务的合理化分配
以及治理工作。
微服务体系:它可以在RPC的基础上又增加了对服务的一些分组和隔离措施。
比如追踪一个服务的链路,查看一个服务调用方。
比如不同的调用方有不同的分组的服务提供者提供。
又比如:可以在服务分组和隔离措施实施完
但是除了以上服务的治理之外,依然不能解决大流量下的压力问题的话,就可以对每个微服务的核心业务
进行限流(令牌桶算法 漏桶算法 自定义算法 接口的幂等性设计等)。
那么上面的限流和接口幂等性设计之后,必然有些数据是被忽略处理的。
因此还需要拥有故障补偿机制来处理。
因此:总结:
单点(单体应用的进程内)
-->远程服务(多应用体系的进程)
-->集群共享服务的手动注册
-->服务的自动注册和发现
-->服务的分组和隔离手段
-->服务治理策略