目录
3、结合 SpringCloud Alibaba 我们最终的技术搭配方案
一、注册中心、配置中心、网关
1、注册中心
注册中心是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中, 服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用
2、配置中心
为
微服务
架构中的微服务提供
集中化的外部配置支持
,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置
3、网关
为微服务框架提供一种简单而有效的统一的 API 路由管理方式,统一访问接口
Spring Cloud Alibaba简介
https://github.com/alibaba/spring-cloud-alibaba
Spring Cloud Alibaba 致力于提供
微服务开发的
一站式解决方案
。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud
编程模型轻松使用这些组件来开发分布式应用服务。
依托 Spring Cloud Alibaba
,您只需要添加一些注解和少量配置,就可以将
Spring Cloud
应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
二、为什么使用
Spring Cloud Alibaba
总所周知:java最重要的生态spring都不更新的话,那就彻底GG了
1、
SpringCloud
的几大痛点
SpringCloud
部分组件停止维护和更新,给开发带来不便;
SpringCloud
部分环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制
SpringCloud
配置复杂,难以上手,部分配置差别难以区分和合理应用
2、
SpringCloud Alibaba
的优势
阿里使用过的组件经历了考验,性能强悍,设计合理,现在开源出来大家用
成套的产品搭配完善的可视化界面给开发运维带来极大的便利
搭建简单,学习曲线低。
3、结合
SpringCloud Alibaba
我们最终的技术搭配方案
SpringCloud Alibaba – Nacos
:注册中心(服务发现
/
注册)
SpringCloud Alibaba – Nacos
:配置中心(动态配置管理)
SpringCloud – Ribbon
:负载均衡
SpringCloud – Feign
:声明式
HTTP
客户端(调用远程服务)
SpringCloud Alibaba – Sentinel
:服务容错(限流、降级、熔断)
SpringCloud – Gateway
:
API
网关(
webflux
编程模式)
SpringCloud – Sleuth
:调用链监控
SpringCloud Alibaba – Seata
:原
Fescar
,即分布式事务解决方案
三、
项目依赖
https://github.com/alibaba/spring-cloud-alibaba
项目文档中有介绍如何使用
我们只需要将其中提供的依赖
在
common
项目中,进行统一管理即可
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
我们使用2.1.0RELEASE版本