SpringCloudAlibaba(一)——环境搭建
SpringCloudAlibaba简介
springcloud
spring团队开源微服务工具集,帮助我们快速构建分布式系统(微服务系统),提供spring组织 netflix
springcloud alibaba
alibaba团队开源微服务工具集,帮助我们快速构建分布式系统(微服务系统) 提供alibaba解决方案
springcloud alibaba是阿里云为分布式应用开发提供了一站式解决方案。它包含了开发分布式应用程序所需的所有组件,使您可以轻松地使用springcloud开发应用程序。
有了阿里云,你只需要添加一些注解和少量的配置,就可以将Spring云应用连接到阿里的分布式解决方案上,用阿里中间件搭建一个分布式应用系统。
spring cloud alibaba 特点
技术支持 | springcloud alibaba | springcloud netflix |
---|---|---|
服务降级和流量控制 | sentinel | hystrix |
服务注册与发现 | nacos | eureka 、consul |
分布式配置& 事件驱动消息总线 | nacos | config & bus |
分布式事务&dubbo | seta |
springcloud 组件
技术支持 | springcloud alibaba | springcloud netflix |
---|---|---|
服务注册与发现组件 | nacos | eureka consul |
服务间通信组件 | restTemplate+ribbon,Openfeign | restTemplate+ribbon,Openfeign |
服务降级和熔断 | sentinel | hystrix hystrix dashboard |
服务网关组件 | gateway | gateway |
统一配置中心组件 消息总线组件 | nacos | config bus |
微服务项目实战开发 springcloud netfilx + springcloud alibaba +springcloud spring
五大组件选择
- 1.服务注册中心 ====> Nacos (alibaba)
- 2.服务通信间的负载均衡 ====> RestTemplate+Ribbon (Netflix)或者Openfeign (Spring)
- 3.服务熔断和服务降级 ====> sentinel (alibaba)
- 4.服务网关组件 ====> Gateway (Spring)
- 5.统一配置中心组件 ====>Nacos (alibaba)
SpringCloudAlibaba环境搭建
1、新建一个空项目
2、在空项目中新建一个模块
3、添加相关依赖
<!--继承springboot父项目-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.5.RELEASE</version>
</parent>
<!--定义版本号-->
<properties>
<spring.cloud.version>Hoxton.SR6</spring.cloud.version>
<spring.cloud.alibaba.version>2.2.1.RELEASE</spring.cloud.alibaba.version>
</properties>
<!--维护依赖-->
<dependencyManagement>
<dependencies>
<!--维护springcloud-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--维护springcloud alibaba-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring.cloud.alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>