Nacos 初始

1.Nacos 的安装使用。

nacos的安装步骤

1.端口配置

Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。

如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:.

修改其中的内容:

 2.启动

在解压的位置输入cmd,定位到bin目录下,然后执行 startup.cmd -m standalone

 

黑窗口代码 

登录Nacos 默认账号密码都是nacos

3.在父工程中添加spring-cloud-alilbaba的管理依赖: 

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

注:注释掉order-service和user-service中原有的eureka依赖。

4.子模块添加nacos的客户端依赖:

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

5.修改子模块中的application.yml文件,注释eureka地址,添加nacos地址

 6.启动并测试   

 naacos 就配置并启动成功了。

Nacos服务分级存储模型

 服务集群的配置

修改application.yml,添加如下内容:

#     集群
     discovery:
       #集群名称
       cluster-name: sc
       #id
       namespace: 0fd0dd9c-0e40-4bb4-ba90-ef4966ee9036

NacosRule负载均衡 

默认的`ZoneAvoidanceRule`并不能实现根据同集群优先来实现负载均衡。

因此Nacos中提供了一个`NacosRule`的实现,可以优先从同集群中挑选

NacosRule负载均衡策略的优点

1.优先选择统同集群服务实例列表

2.本地集群找不到提供者,才会去其它集群寻找,并且会警告

3.确定了实例列表后,再采用随机负载均衡挑选实例

给子模块配置集群信息

spring:
  cloud:
    nacos:
      server-addr: localhost:8848
      discovery:
        cluster-name: HZ # 集群名称

修改负载均衡规则

修改子模型的application.yml文件,修改负载均衡规则

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

 新建命名空间

注:默认的是public(保留空间)

1.在Nacos控制台可以创建namespace,用来隔离不同环境 (物理隔离)

2. 然后填写一个新的命名空间信息:

 3.保存后会在控制台看到这个命名空间的id:

 4.修改子模块的application.yml,添加namespace

  namespace: 0fd0dd9c-0e40-4bb4-ba90-ef4966ee9036  //id和命名空间id一至

这样就配置完成了。

Nacos配置管理

一.统一配置管理

Nacos除了可以做注册中心,同样可以做配置管理来使用

配置中心步骤

1、在nacos中添加配置文件

2.在弹出表单中填写配置信息:

3.从微服务拉取配置

流程图

1.引入nacos-config依赖

首先,在子模块的服务中,引入nacos-config的客户端依赖:

<!--nacos配置管理依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2. 添加bootstrap.yaml

  其实bootstrap 文件中代码和nasoc中的服务名称一至

spring:
  application:
    name: userservice # 服务名称
  profiles:
    active: dev #开发环境,这里是dev
  cloud:
    nacos:
      server-addr: localhost:8848 # Nacos地址
      config:
        file-extension: yaml # 文件后缀名
//如果使用了物理隔离就要加上namespace 和ID
#        namespace: 0fd0dd9c-0e40-4bb4-ba90-ef4966ee9036

读取nacos配置 

在子模块中的逻辑层中添加业务逻辑,读取pattern.dateformat配置:

 读取nacos配置 方式一

在@Value注入的变量所在类上添加注解@RefreshScope:

 读取nacos配置  方式二

使用@ConfigurationProperties注解代替@Value注解

 


@Component
@Data
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
    private String dateformat;
}

在子模块中使用这个类代替@Value:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值