服务发现-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为例    


  1. 解压

  2. 修改bin下的startup.cmd文件,在

    set MODE="cluster"    下添加 

    set MODE="standalone",表示使用单机模式启动

  3. 双击startup.cmd启动,访问:http://ip:8848/nacos/index.html

    账号/密码:nacos/nacos

    服务发现-Nacos

3 应用注册到Nacos


内容中心 content-center 注册到Nacos


  1. 添加依赖:

    <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>


  2. 添加配置:

    spring: cloud: nacos: discovery: # 指定nacos server的地址       server-addr: localhost:8848 application: # 服务名称尽量用-,不要用_,不要用特殊字符    name: content-center


  3. 注解:

    无须,早期的话是加@EnableDiscoveryClient。


按照上面的步骤复制多一份新的项目:user-center


服务发现-Nacos


测试:内容中心找到用户中心



在内容中心编写实例


@RestControllerpublic class TestController { @Autowired private DiscoveryClient discoveryClient;  @GetMapping("test2") public List<ServiceInstance> getInstances() {        // 查询指定服务的所有实例的信息
return this.discoveryClient.getInstances("user-center"); }}


测试


服务发现-Nacos


正常来说,生产环境会有多个实例,在IDEA开多个端口模拟起多个实例


服务发现-Nacos


此时Nacos会有变化


服务发现-Nacos


再调用接口验证


服务发现-Nacos


多个实例服务发现成功。


领域模型有哪些?


服务发现-Nacos


Namespace:命名

默认的namespace是public,主要用来实现隔离;比说我们有开发环境、测试环境、生产环境,就可以建三个namespace,不同的namespace是隔离的。



Group:服务分组

默认的group是DEFAULT_GROUP,可以把不同的微服务划分到同一个分组里面去,用group可以方便我们的管理,需要注意的是,在0.9.0版本,并没有用上这个group。但是在未来的版本可能会用的上



Service:微服务

一个微服务可以包含多个cluster,就是集群,比方说公司有北京机房和南京机房,为了容灾,用户微服务(user-center)分别部署在了这两个机房。


Instance:实例

微服务的实例,即实际的项目。




以上是关于服务发现-Nacos的主要内容,如果未能解决你的问题,请参考以下文章

Nacos学习笔记 服务发现基础应用

Spring Cloud Nacos使用总结

Spring Cloud Alibaba之服务发现组件 - Nacos

8848钛金手机之nacos的注册发现

3. nacos服务发现

Nacos服务发现