Nacos是阿里巴巴开源的服务注册中心,官方文档: nacos.io/zh-cn/docs/…
从个人使用体验上看,nacos要比eureka和consul舒服不少。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
服务(Service)是 Nacos 世界的一等公民。Nacos 支持几乎所有主流类型的“服务”的发现、配置和管理:
Kubernetes Service
gRPC & Dubbo RPC Service
Spring Cloud RESTful Service
下面介绍如何安装和启动nacos,以及如何将服务注册到nacos:
参考: nacos.io/zh-cn/docs/…
github下载地址: github.com/alibaba/nac…
从git上下载压缩包,解压,可以看到如下:
双击startup.cmd启动,在win下打开命令行输入 cmd shutdown.cmd
也可以启动。
启动完,可以看到如下页面:
打开浏览器,输入 http://localhost:8848/nacos
,进入登录页:
输入默认用户名nacos与密码nacos,登录:
SpringCloud服务注册与配置参考: nacos.io/zh-cn/docs/…
也可以参考我的配置:
创建一个SpringBoot项目,添加如下依赖:
<properties> <java.version>1.8</java.version> <nacos.version>0.9.0.RELEASE</nacos.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 引入nacos-discovery --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>${nacos.version}</version> </dependency> </dependencies> 复制代码
注:这里使用SpringBoot2.1.X版本。需要注意的是,我这里没有引入SpringCloud,这个比较奇怪,nacos-discovery会自动导入cloud相关的包。嗯,以防万一,我们还是加上SpringCloud的配置吧。
server: port: 8200 spring: application: name: service-producer cloud: nacos: discovery: server-addr: 127.0.0.1:8848 复制代码
到此,基本配置已经完成,使用@EnableDiscoveryClient来启用微服务后,这个项目就会被注册到nacos中,可以通过nacos可视化页面里的菜单项——服务列表进行查看。
我这里像之前一样,分别创建service-producer和service-consumer两个项目,分别启动后:
下面分别测试一下调用:
至此,一个简单的SpringCloud使用Nacos来做服务注册与管理的示例已经完成。