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>