声明:入门级文档,更多内容会持续更新,不足之处,望不吝指点
一、启动Nacos注册中心
- 下载Nacos
- 解压后进入到
nacos/conf
下,修改你想要修改的配置(比如启动的端口号、metric的输出、集群信息、日志信息等等),默认是使用h2内存数据库运行,但是同时也提供了nacos-mysql.sql
来进行mysql数据库的配置。示例如下
db.num=2
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.url.1=jdbc:mysql://11.163.152.9:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=nacos
- 进入
nacos/bin
选择对应的启动文件打开nacos - 浏览器访问
localhost:8848/nacos/index.html
(如果你在本机运行且没有修改配置的情况下),登录的用户名和密码都是nacos
- 左侧选择命名空间,进行命名空间的配置,如果服务不进行命名空间的配置,那么服务默认注册到
public
空间之中,命名空间之间的幻境是隔离的,故可以用来隔离不同的应用或者是同应用的不同环境
二、将服务注册到Nacos上
- 添加nacos-discovery的依赖
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
- 修改配置
server.port=8081
spring.application.name=nacos-client-provider
#配置该服务的服务名,默认是spring.application.name的值
#spring.cloud.nacos.discovery.service=xxx
#配置nacos服务中心的地址,如果是集群,多个地址之间用逗号隔开
spring.cloud.nacos.discovery.server-addr=localhost:8848
#配置该服务索要注册到nacos的命名空间Id,命名空间Id不是命名空间的名字,在创建命名空间后会自动生成
spring.cloud.nacos.discovery.namespace=0d12689e-cd5b-483b-a050-162398ee9482
#配置该服务的权重,权重越高越优先被访问到
#spring.cloud.nacos.discovery.weight=1
#强制配置服务的注册ip
#spring.cloud.nacos.discovery.ip=xxx
#强制配置服务的注册端口
#spring.cloud.nacos.discovery.port=-1
#是否启用内置的ribbon
#ribbon.nacos.enabled=true
- 使用注解
@EnableDiscoveryClient
开启服务发现功能
@SpringBootApplication
@EnableDiscoveryClient
public class NacosClientProviderApplication {
public static void main(String[] args) {
SpringApplication.run(NacosClientProviderApplication.class, args);
}
}
- 使用
RestTemplate
访问指定服务的接口
String result = restTemplate.getForObject("http://nacos-client-provider/provider/getHello" , String.class);
地址名就是
http://服务名/接口路径
参考文档:
[1] spring cloud alibaba
网友评论