Spring Cloud Alibaba Version | Sentinel Version | Nacos Version | RocketMQ Version | Dubbo Version | Seata Version |
---|---|---|---|---|---|
2.2.1.RELEASE | 1.7.1 | 1.2.1 | 4.4.0 | 2.7.6 | 1.1.0 |
2.2.0.RELEASE | 1.7.1 | 1.1.4 | 4.4.0 | 2.7.4.1 | 1.0.0 |
2.1.2.RELEASE or 2.0.2.RELEASE | 1.7.1 | 1.2.1 | 4.4.0 | 2.7.6 | 1.1.0 |
2.1.1.RELEASE or 2.0.1.RELEASE or 1.5.1.RELEASE | 1.7.0 | 1.1.4 | 4.4.0 | 2.7.3 | 0.9.0 |
2.1.0.RELEASE or 2.0.0.RELEASE or 1.5.0.RELEASE | 1.6.3 | 1.1.1 | 4.4.0 | 2.7.3 | 0.7.1 |
Spring Cloud Version | Spring Cloud Alibaba Version | Spring Boot Version |
---|---|---|
Spring Cloud Hoxton.SR3 | 2.2.1.RELEASE | 2.2.5.RELEASE |
Spring Cloud Hoxton.RELEASE | 2.2.0.RELEASE | 2.2.X.RELEASE |
Spring Cloud Greenwich | 2.1.2.RELEASE | 2.1.X.RELEASE |
Spring Cloud Finchley | 2.0.2.RELEASE | 2.0.X.RELEASE |
Spring Cloud Edgware | 1.5.1.RELEASE | 1.5.X.RELEASE |
此次項目中咱們用的alibaba版本是2.2.1.REALEASE,所以各組件的版本與之對應,在實際應用中請務必使用與Spring Cloud Alibaba版本相對應的Spring Cloud版本和Spring Boot版本。html
在spring cloud版本中咱們使用eureka、consul等作爲服務註冊中心,使用spring cloud config作爲配置中心。而在spring cloud alibaba中,使用nacos組件便可完成服務註冊發現與服務配置兩大功能。java
下載地址:https://github.com/alibaba/nacos/releasesgit
nacos支持的三種模式:github
下載完成後解壓,咱們發現有兩個啓動文件,stratup.cmd 和 startup.sh。打開這兩個文件咱們發現startup.cmd默認支持的是單機模式,startup.sh默認支持的是集羣模式。spring
咱們雙擊運行startup.cmd。app
訪問http://127.0.0.1:8848/nacos/index.html,若是出現如下界面則安裝正常。spring-boot
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.2.5.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependencyManagement> <dependencies> <!--Spring cloud Hoxton.SR3--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR3</version> <type>pom</type> <scope>import</scope> </dependency> <!--Spring cloud alibaba 2.1.0.RELEASE--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.1.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> </dependencies>
server: port: 9001 spring: application: name: nacos-discovery-server cloud: nacos: discovery: server-addr: 127.0.0.1:8848
@SpringBootApplication public class NacosDiscoveryServerApplication { public static void main(String[] args) { SpringApplication.run(NacosDiscoveryServerApplication.class, args); } @RestController static class TestController { @GetMapping("/hello") public String hello(@RequestParam String name) { return "hello,nacos discovery! " + name; } } }
2020-04-28 14:49:42.749 INFO 9864 --- [ main] c.a.c.n.registry.NacosServiceRegistry : nacos registry, DEFAULT_GROUP nacos-discovery-server 192.168.9.114:9001 register finished
爲何咱們的啓動類上沒有加@EnableDiscoveryClient註解,可是已經把服務註冊到nacos上了?測試
在springcloud E版本的時候,對服務註冊進行了優化,在依賴了spring-cloud-starter-alibaba-nacos-discovery以後,默認會將服務註冊到註冊中心。優化
在已經依賴spring-cloud-starter-alibaba-nacos-discovery的狀況下,若是咱們不想讓咱們的服務註冊到nacos應該怎麼作?code
在配置文件中添加以下依賴便可:
spring: cloud: nacos: discovery: enabled: false