Spring Cloud Alibaba系列(一)nacos作为服务注册中心
程序员文章站
2022-03-03 10:37:41
Spring Cloud Alibaba各组件版本关系 | Spring Cloud Alibaba Version | Sentinel Version | Nacos Version | RocketMQ Version | Dubbo Version | Seata Version | | | ......
spring cloud alibaba各组件版本关系
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版本。
什么是nacos
在spring cloud版本中我们使用eureka、consul等做为服务注册中心,使用spring cloud config做为配置中心。而在spring cloud alibaba中,使用nacos组件即可完成服务注册发现与服务配置两大功能。
安装nacos
下载地址:
nacos支持的三种模式:
- 单机模式 - 用于测试和单机试用。
- 集群模式 - 用于生产环境,确保高可用。
- 多集群模式 - 用于多数据中心场景。
下载完成后解压,我们发现有两个启动文件,stratup.cmd 和 startup.sh。打开这两个文件我们发现startup.cmd默认支持的是单机模式,startup.sh默认支持的是集群模式。
我们双击运行startup.cmd。
- nacos默认端口是:8848
- 默认用户名:nacos
- 默认密码:nacos
访问http://127.0.0.1:8848/nacos/index.html,如果出现以下界面则安装正常。
注册一个服务到nacos
- 新建一个服务,在pom中加入必要的依赖
<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>
- 在application.yml中配置服务名称和nacos地址
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
- 打开nacos控制台,我们可以在服务列表中发现我们的服务了。
注意事项
-
为什么我们的启动类上没有加@enablediscoveryclient注解,但是已经把服务注册到nacos上了?
在springcloud e版本的时候,对服务注册进行了优化,在依赖了spring-cloud-starter-alibaba-nacos-discovery之后,默认会将服务注册到注册中心。
-
在已经依赖spring-cloud-starter-alibaba-nacos-discovery的情况下,如果我们不想让我们的服务注册到nacos应该怎么做?
在配置文件中添加如下依赖即可:
spring: cloud: nacos: discovery: enabled: false
代码示例
- github:
- gitee:
推荐阅读
-
Spring Cloud Alibaba | Nacos服务中心初探
-
创建一个spring alibaba nacos Discovery 服务注册demo
-
Nacos--在Spring cloud中使用Spring Cloud Alibaba Nacos Discovery(服务注册+配置管理示例)
-
Spring Cloud Alibaba(1) 实现服务注册与发现 Nacos Discovery
-
Spring Cloud Alibaba系列使用(二)----Nacos注册中心
-
Spring Cloud Alibaba入门实践(四)-注册中心nacos
-
Spring Cloud Alibaba-使用nacos做注册中心
-
Spring Cloud Alibaba实战(二) - Nacos注册中心
-
Spring Cloud 系列之 Alibaba Nacos 注册中心(二)
-
Nacos快速入门(三):Spring Cloud Alibaba Nacos实现服务注册与发现