我眼中的SpringCloud微服务
我眼中的微服务是指一种架构模式或者一种架构风格,目的是将传统的单一的应用程序,根据业务功能拆分成一组规模较小的,相对功能独立的服务,拆分后的服务独立运行,服务间相互协调,互相配合,为用户提供完整服务。
1、微服务的优缺点
1.1、优点
开发简单,代码易于理解,各个服务支持用不同语言进行开发,服务之间松耦合,允许利用融合新技术,易于与第三方集成,支持独立的数据存储。
1.2、缺点
开发人员要处理分布式系统的复杂性。
2微服务流行的框架
最流行的两种分别是SpringCloud和Dubbo,经常拿两者进行对比,其实对比的是REST和RPC。SpringCloud是一种完整的微服务解决方案,它提供分布式情况下的的各种解决方案的集合,而Dubbo是一款高性能的Java RPC框架,两者本身没有可比性。
2.1、SpringCloud
功能定位:完整的微服务框架。
2.2、Dubbo
功能定位:服务框架。
2.3、SpringCloud与Dubbo对比
框架 | SpringCloud | Dubbo/DubboX |
---|---|---|
支持REST | 是,Ribbon | 否 |
支持RPC | 否 | 是 |
支持多语言 | 是 (REST形式) | 否 |
服务注册与发现 | 是(Eureka) | 是 |
负载均衡 | 是(Eureka) | 是 |
配置服务 | 集中配置 | 否 |
服务调用链 | 是(Zuul) | 否 |
高可用/容错 | 是 | 是 |
典型应用案例 | Netflix | alibaba |
社区活跃度 | 高 | 高 |
文档丰富度 | 高 | 高 |