Nacos的学习总结

1.Nacos 是服务的注册中心,同等功能的还有Eureka/sofa/consol,这些都可以做注册中心用

2.Nacos是一个中间件,需要安装在linux/windouws系统中,并启动服务,启动路径是在bin下:如,/root/nacos/bin ,启动命令是./startup.sh -m standalone,关闭的话,直接./shutdown.sh

3.作为注册中心,那就是所有服务都要注册到nacos服务中,这其中包括调用方和服务方均需要注册(调用方根据业务需要也会变成服务方)

4.关于nacos使用,对于应用服务来讲是少不了引入nacos的依赖,谁使用谁引入,谁项注册到nacos服务谁引入,并且要在配置文件中配置nacos的地址及端口,

    依赖如下:服务方在pom.xml引入,

            <!--nacos 服务注册发现--> 

                    <dependency> <groupId>com.alibaba.cloud</groupId> 

                            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>

                     </dependency>

    配置如下:应用在application.yml中配置

            spring:

                 application: 

                        name: item-service # 服务名称 

                cloud: 

                        nacos: 

                            server-addr: 192.168.150.101:8848 # nacos地址

5.如果一个服务应用部署了多个端口,服务会自动负载到不同的机器,nacos本身作为注册中心,就有负载均衡的功能,对于网关路由来讲,网关只是去找服务的名字,并没有去找端口,所以交易从网关进来,网关直接去注册中心找服务名称,所以会找到不同IP/端口的同一个应用,实现负载均衡

6.对于nacos的负载均衡来讲,这个实现也依赖了springCloud提供的一个服务发现的工具(DiscoveryClient),并且已经自动装配,党引入了服务发现上面第4条依赖的时候,这个类也自动引入了,

        用法如下:

            1.注入 服务发现工具

        private final DiscoveryClient discoveryClient;

    2.获取实例

        List<ServiceInstance> instances = discoveryClient.getInstances("item-service");

    3.负载均衡随机获取实例IP

        ServiceInstance serviceInstance = instances.get(RandomUtil.randomInt(instances.size()));

    4.获取uri

        URI uri = serviceInstance.getUri();

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值