Nacos注册中心

概述

在这里插入图片描述

在这里插入图片描述

1.配置集群

集群名称用于,微服务优先访问集群内服务,如果不可用才访问其他集群
a.先配置服务发现,并指定集群

spring:
	cloud:
		nacos:
			server-addr: 127.0.0.1:8848
			discovery:
				cluter-name: GUANGZHOU # 集群名称,也就是机房位置

b. 配置负载均衡规则,这个规则会优先访问同一个集群的服务

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

c.启动多个服务之后,在nacos看到如下
在这里插入图片描述

d.注意将user-service的权重都设置为1

跨集群调用时候会显示

A cross-cluster call occurs,name = userservice, clusterName = HZ, instance = [Instance{instanceId='192.168.239.1#8082#SH#DEFAULT_GROUP@@userservice', ip='192.168.239.1', port=8082, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='SH', serviceName='DEFAULT_GROUP@@userservice', metadata={preserved.register.source=SPRING_CLOUD}}]

2.配置权重

Nacos根据权重负载均衡
部署场景: 服务器设备性能有差异,部分实例在的机器性能较好,另一些较差,性能好的承担更多的用户请求。权重为0时候不会被选用。

在nacos网页中可以修改权重。先将一个实例的权重设置为0,等没有用户的时候,在停机升级,等升级完成,在将配置设置为0。0001,放入部分用户进行测试,再逐步放开。

3.环境隔离 namespace

namespace用来做环境隔离
每个namespace都有一个id
不同namespace下的服务不可见

在这里插入图片描述
添加,id自动生成,也可以指定
在这里插入图片描述
代码中指定

spring:
	cloud:
	    nacos:
	      discovery: #服务注册与发现
			server-addr: localhost:8848 #nacos地址
	        username: nacos
	        password: nacos
	        namespace: 7c224294-afdb-48c8-9eb1-70e924382c76 #指定命名空间 可以删掉namespace不写默认public

4.配置密码

spring:
	cloud:
	    nacos:
	      discovery: #服务注册与发现
	        server-addr: localhost:8848 #nacos地址
	        username: nacos
	        password: nacos

5.配置中心

spring:
	cloud:
	    nacos:
	      discovery: #服务注册与发现
	        server-addr: localhost:8848 #nacos地址
	        username: nacos
	        password: nacos
	        namespace: 7c224294-afdb-48c8-9eb1-70e924382c76 #指定命名空间 可以删掉namespace不写默认public
	
	      #配置文件组成 : 通俗点 服务名称-指定环境.后缀名称  name-active.file-extension
		config: #动态配置
			server-addr: localhost:8848 #nacos地址
			username: nacos
			password: nacos
			file-extension: yml #配置文件类型  非常重要后缀一定要一致 xxx.yml
			namespace: 7c224294-afdb-48c8-9eb1-70e924382c76 #指定命名空间 可以删掉namespace不写默认public

6、注册原理

Nacos注册中心5-Client端(更新本地服务)

高级使用

把服务名的ip改成自己制定的域名

@Configuration
public class BeanInit{

    /**
     * 用于改变程序自动获取的本机ip
     */
    @Bean
    @Primary
    public NacosDiscoveryProperties nacosProperties() {
         NacosDiscoveryProperties nacosDiscoveryProperties = new NacosDiscoveryProperties();
         //此处我只改了ip,其他参数可以根据自己的需求改变
         nacosDiscoveryProperties.setIp("xxx.com");
         return nacosDiscoveryProperties;
    }
}

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值