nacos简单使用

一、部署nacos
(一)github下载nacos
在这里插入图片描述
(二)修改端口号
conf目录下的application.properties
在这里插入图片描述
在这里插入图片描述
(三)启动nacos
使用命令行工具进入到nacos的bin目录,输入以下命令启动,这种启动方式是以单个nacos启动,后续有集群的方式启动在这里插入图片描述
二、nacos服务注册
(一)引入父工程依赖,这里定义了springCloudAlibaba依赖的版本号

            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

(二)项目中引入nacos discovery依赖

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

(三)编写项目yml文件

spring:
  application:
      name: orderservice
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos服务地址
      discovery:#设置地域,作用有两个,一是提高容灾能力,二是加快访问速度
        cluster-name: HZ
userservice: # 负载均衡规则
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  
ribbon:
  eager-load:
    enabled: true # 开启饥饿加载
    clients: # 指定饥饿加载的服务名称
      - userservice

(四)注册RestTemplate
来发送http请求,这里一定要加上@LoadBalanced,它会自动根据服务名称向nacos索取服务实例的ip地址及其他信息,并根据yml文件中设置的负载均衡规则进行服务实例选择

    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

(五)测试
这里直接使用了userservice服务名称代理了具体的ip地址

        String url = "http://userservice/user/"+order.getUserId();
        User user = restTemplate.getForObject(url, User.class);

三、负载均衡
实际上在刚才的yml中有很多关于负载均衡的配置:
1.负载均衡规则
可根据服务名称来配置对应的负载均衡规则,默认的是轮询,这里配置的是nacos的NacosRule

userservice: # 负载均衡规则
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule 

2.ribbon饥饿加载
通过设置ribbon饥饿加载,可以提高第一次的访问速度

ribbon:
  eager-load:
    enabled: true # 开启饥饿加载
    clients: # 指定饥饿加载的服务名称
      - userservice

3.地域设置
微服务可以在多个地域部署,来提高容灾能力,同时,为了提高访问速度,可以设置尽可能同地域之间的微服务调用来提高服务访问速度,前提是设置负载均衡规则为NacosRule,否则默认的仍然是轮询规则

spring:
  cloud:
    nacos:
      discovery:
        cluster-name: HZ #杭州
userservice: # 负载均衡规则
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule 

在这里插入图片描述
4.服务实例权重
通过设置权重,可以提高性能优越服务器被访问到的概率,同时如果服务器集群升级的话,可以通过设置权重为0,从而实现平滑升级。
在这里插入图片描述
四、nacos统一配置管理
(一)统一配置
1.在nacos服务器上添

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值