springcloud-alibaba生态环境
一、spring-cloud-aibaba是什么?
中文翻译如下:
-
Spring Cloud Alibaba 为分布式应用开发提供了一站式解决方案。它包含了开发分布式应用程序所需的所有组件,使您可以轻松地使用springcloud开发应用程序。 有了Spring Cloud Alibaba,你只需要添加一些注解和少量的配置,就可以将Spring云应用连接到阿里的分布式解决方案上,用阿里中间件搭建一个分布式应用系统。
理想架构图:
二、为什么会有spring-cloud-alibaba?
在前边的spring-cloud文章系列中呢,个人初略的讲述了基于spring-cloud HontoxSR6版本的几大组件的使用
以前我门搭建微服务项目,基本都是使用netflix 组件,例如:eureka、zuul、hystrix、Openfeign等等
但近几年来呢,许多的微服务组件已经闭源或者已经停止维护了 比如我们的老牌注册中心 eureka 和老牌网关zuul ,针对这样的情况,cloud的官网也出了自己响应的组件用来替代,例如:gateway来替代zuul,更推荐使用 consul来替换eureka作为新的微服务群注册中心等等…
而我们国内的大厂呢,由于业务需求,技术一般都是走在国内的前沿…针对于上述情况,且自身也在不断研究微服务组件工作原理不断尝试突破现有技术壁垒,进而自己研发出了一系列新兴的微服务组件,在原本微服务组件功能基础之上,做进一步的封装与优化…
三、spring-cloud-alibaba 微服务组件内容与功能对比
Spring Cloud Alibaba是阿里巴巴结合自身的微服务实践开源的微服务全家桶
包含微服务组件如下:
-
流量控制和服务降级:使用流量控制,断路和系统自适应保护 服务注册和发现:实例可以在上注册,客户可以使用Spring管理的bean发现实例。通过Spring Cloud Netflix支持Ribbon(客户端负载均衡器) 分布式配置:使用作为数据存储 事件驱动:构建与Spring Cloud Stream Binder连接的高度可扩展的事件驱动微服务 消息总线:使用Spring Cloud Bus RocketMQ链接分布式系统的节点 分布式事务:支持高性能且易于使用的分布式事务解决方案 Dubbo RPC:通过扩展Spring Cloud服务间调用的通信协议
SpringCloud 和 Spring Cloud Alibaba的功能对比
个人目前只会进行对alibaba组件的流量控制和服务降级 、服务注册和发现 、分布式配置、分布式事务 这几个方面的学习…
那么,基于前边的spring-cloud篇的讲解,咱们对一些微服务组件进行替换即可
四、微服务版本以及组件选择
个人后续学习开发 springcloud-alibaba 版本为:2.2.1
使用组件如下:
服务网关:gateway
注册中心、配置中心:alibaba组件 nacos
微服务间调用:openFeign
熔断降级,流量控制:alibaba组件 sentinel
分布式链路追踪: skyWalkIng
分布式事务:alibaba组件 seata
看了网上教程以及官网解释,我个人觉得其组件比Spring Cloud 中的组件更加好用和强大,背靠大厂,技术值得信赖,并且对的Spring Cloud组件做了很好的兼容,可灵活的支持企业进行技术方案过度…