服务发现-Nacos
Posted 豪犬技术栈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了服务发现-Nacos相关的知识,希望对你有一定的参考价值。
什么是Nacos
怎么安装Nacos
应用怎么注册到Nacos
Nacos怎么实现服务发现
领域模型
1 什么是Nacos
官方文档:https://nacos.io/zh-cn/docs/what-is-nacos.html
2 怎么安装Nacos
以Window为例
-
解压
修改bin下的startup.cmd文件,在
set MODE="cluster" 下添加
set MODE="standalone",表示使用单机模式启动
双击startup.cmd启动,访问:http://ip:8848/nacos/index.html
账号/密码:nacos/nacos
3 应用注册到Nacos
内容中心 content-center 注册到Nacos
添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
添加配置:
spring:
cloud:
nacos:
discovery:
# 指定nacos server的地址
server-addr: localhost:8848
application:
# 服务名称尽量用-,不要用_,不要用特殊字符
content-center :
注解:
无须,早期的话是加@EnableDiscoveryClient。
按照上面的步骤复制多一份新的项目:user-center
测试:内容中心找到用户中心
在内容中心编写实例
public class TestController {
private DiscoveryClient discoveryClient;
"test2") (
public List<ServiceInstance> getInstances() {
// 查询指定服务的所有实例的信息
return this.discoveryClient.getInstances("user-center");
}
}
测试
正常来说,生产环境会有多个实例,在IDEA开多个端口模拟起多个实例
此时Nacos会有变化
再调用接口验证
多个实例服务发现成功。
领域模型有哪些?
Namespace:命名
默认的namespace是public,主要用来实现隔离;比说我们有开发环境、测试环境、生产环境,就可以建三个namespace,不同的namespace是隔离的。
Group:服务分组
默认的group是DEFAULT_GROUP,可以把不同的微服务划分到同一个分组里面去,用group可以方便我们的管理,需要注意的是,在0.9.0版本,并没有用上这个group。但是在未来的版本可能会用的上
Service:微服务
一个微服务可以包含多个cluster,就是集群,比方说公司有北京机房和南京机房,为了容灾,用户微服务(user-center)分别部署在了这两个机房。
Instance:实例
微服务的实例,即实际的项目。
以上是关于服务发现-Nacos的主要内容,如果未能解决你的问题,请参考以下文章