SpringCloud Alibaba介绍
(一)什么是SpringCloud Alibaba
- 阿里巴巴结合自身做服务时间,开源的微服务全家桶
- 在SpringCloud项目中孵化,很可能成为SpringCloud第二代的标准实现
- 在业界广泛使用,已有很多成功案例
(二)SpringCloud Alibaba真实应用场景
- 大型复杂的应用系统,例如大型电商系统
- 高并发系统,例如大型门户、秒杀系统
- 需求不明确且变更很快的系统,例如创业公司业务系统
(三)SpringCloud Alibaba 和SpringCloud的关系
简单来说SpringCloud Alibaba是Spring CLoud的子项目,SpringCloud Alibaba符合SpringCloud的标准。
Spring Cloud 第一代 | 状态 | Spring Cloud Alibaba | 状态 |
---|---|---|---|
Eureka | 2.0孵化失败 | Nacos Discovery | 状态 |
Ribbon | 进入维护状态,预计2020年1月停止维护,新的标准已形成;spring-cloud-loadbalancer,但暂无参考实现、Spring Cloud Hoxton才会孵化除替代品 | - | 状态 |
Hystrix/ Hystrix Dashboard/ Turbine | 进入维护状态,预计2020年1月停止维护 | Sentinel | 可视化配置,上手更简单 |
Zuul | 进入维护状态,预计2020年1月停止维护 | Spring Cloud Gateway | 性能是Zuul的1.6倍 |
Spring Cloud Config | 搭建复杂,约定多,设计繁重,没有界面,难以上手 | Nacos Config | 搭建简单,又可视化界面,配置管理更高县,学习曲线低 |
总结来说:
- 组件性能更强
- 良好的可视化界面
- 搭建简单,学习曲线低
- 文档丰富并且是中文
如何微服务
建立多个项目,每个项目运行在自己的tomcat里,服务之间手写http调用
nacos(euruka):注册中心,用于服务的注册与发现
Ribbon:实现写服务名就那调用,并且还有负载均衡的效果
openFeign+ribbon:声明式地调用,且内置负载均衡,其底层还是restTemplate+Ribbon
gateway:实现统一入口,在入口默认按路由转发,后续在路口做拦截判断,地址匹配、限流(ip访问速度、权限、访问时间)。