Spring Cloud简介
Spring Cloud VS Dubbo
Spring Cloud是基于Spring Boot的一系列开发框架的集合,提供了服务注册与发现、配置管理、服务网关、断路器、消息总线等众多功能。
Dubbo是Alibaba开源的分布式服务框架,提供了服务治理、健康检查等功能。
背景
Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。
Spring Cloud是Spring Source的产物,拥有Spring社区强大背书,以及Pivotal和Netfix强大的后盾与技术输出。其中Netflix开源的整套微服务架构套件是Spring Cloud的核心。社区活跃度
Dubbo版本更新较慢,主要在国内的影响力比较大。
Spring Cloud版本更新迭代较快,在国际上有较大的影响力。架构完整度
RPC VS REST
文档质量
Dubbo文档非常详细,讲解也很深入,易于阅读。由于版本已经基本稳定,不会出现不一致的情况。
Spring Cloud文档量大,更偏于整合。由于Spring Cloud迭代较快,难免会有不一致的情况。
服务注册与发现
和单体架构不同,微服务框架是由一系列职责单一的细粒度服务构成的分布式网络,服务之间通过轻量级机制进行通信,这时候必然会引入服务注册与发现问题。
集中式LB(Load Balancer)
单点问题:
性能开销:
部署复杂度:进程内LB
一种分布式解决方案
分布式配置中心
- 集中式配置管理
支持外部配置
版本管理
权限管理
服务网关
- 上述架构的不足
破坏了服务的无状态特点
无法直接复用既有接口 - 服务网关可以实现的功能
身份认证
鉴权
过滤
路由
协议适配
计流限流
访问日志
防爬虫
监控
服务容错保护
- 服务间的相互依赖
电路熔断器模式
最佳实践
舱壁隔离模式
限流
回退
消息总线
- 实现应用配置的自动更新
参考资料
http://blog.didispace.com/microservice-framework/
https://wenku.baidu.com/view/a27e5c9848d7c1c709a1451c.html
http://blog.sina.com.cn/s/blog_493a84550102wkp2.html
https://www.cnblogs.com/ilinuxer/p/6580998.html
http://blog.****.net/u011282930/article/details/72877061
https://wenku.baidu.com/view/05e4e7c4162ded630b1c59eef8c75fbfc77d9402.html