微服务在近几年来可以说是十分火爆,我们应该知道微服务的发展历程大致分为6个阶段分别是:单体应用阶段提、垂直应用阶段、分布式系统阶段、服务治理阶段、微服务阶段、最后到服务网格阶段。
既然谈到微服务我们不得不说说它的主流框架:
- Dubbo
致力于提供高性能和透明化的远程服务调用方案和SOA服务治理方案。
采用了Spring的配置方式。基于Spring的可扩展机制( Schema )可透明化接入应用,对应用没有API侵入,支持API调用方式(官方不推荐)。只需用Spring加载Dubbo的配置即可。
- Spring Cloud
是基于Spring Boot的一个快速开发微服务的框架。它提供了以下11个开发微服务所需的一些常见组件。
- 服务发现
- 断路器
- 智能路由
- 微代理
- 控制总线
- 一次性令牌
- 全局锁
- 领导选举
- 配置管理
- 分布式会话
- 集群状态
这些组件虽然不完全是Spring Cloud自己的产品。但是它通过Spring Boot风格对这些组件进行封装,屏蔽了复杂的配置和实现原理,最终给开发人员提供了一套简单易懂、易部署和易维护的分布式系统开发工具包。
它们两者的区别在于前者使得构建大型系统变得非常容易和低成本。后者主要用于小型项目架构。
- 服务网格lstio
Istio将流量管理添加到微服务中,提供了连接、安全、管理和监控微服务的方案。
三者对比
- dubbo架构图
- Springcloud架构图
- lstio架构图
- 细节对比