java微服务环境配置——注册中心 配置中心Nacos

一、使用步骤(注册中心)

1.启动nocas服务

        1)先下载Nacos,解压之后启动。解压之后的目录如下:

java微服务环境配置——注册中心 配置中心Nacos_第1张图片

       2) 注意有的版本默认是集群启动,可以修改启动脚本。如下:

java微服务环境配置——注册中心 配置中心Nacos_第2张图片

         3)也可以使用bin目录下命令行启动:

startup.cmd -m standalone

         4)启动的端口号可以在conf目录下的application.properties中修改,默认8848

java微服务环境配置——注册中心 配置中心Nacos_第3张图片

         5)启动成功后如下:

java微服务环境配置——注册中心 配置中心Nacos_第4张图片

          6)访问启动的nacos服务,url:http://localhost:8848/nacos/index.html

         用户名和命名初始都是 nacos

java微服务环境配置——注册中心 配置中心Nacos_第5张图片

 java微服务环境配置——注册中心 配置中心Nacos_第6张图片

         启动成功。

        7)修改密码可以按照如下步骤:(可跳过)

                a.文本编辑器打开nacos目录conf下的nacos-mysql.sql,在最后找到

                 b.可以修改username,password。为自己的账号密码。但是密码是经过加密的。

INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);

                c.数据采用的是BCrypt加密 我们可以找一个网站输入自定义密码 然后加密 把加密后的密码存到数据库中。

                        1.Bcrypt密码在线生成计算器 Bcrypt密码在线生成计算器 ab126软件园

                        2.Bcrypt密码生成计算器 - 计算专家

java微服务环境配置——注册中心 配置中心Nacos_第7张图片

                 d.修改完保存,重启nacos即可。

2.服务中配置nacos的地址,导入nacos依赖

        使用的是application.yml配置文件:

java微服务环境配置——注册中心 配置中心Nacos_第8张图片

代码如下:

spring:
  cloud:
    nacos:
      server-addr: 127.0.0.1:8848

        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        

3.给要注册的服务命名

java微服务环境配置——注册中心 配置中心Nacos_第9张图片

4.运行类上添加服务注册发现注解:@EnableDiscoveryClient

java微服务环境配置——注册中心 配置中心Nacos_第10张图片

5.运行服务,在浏览器查看nacos

java微服务环境配置——注册中心 配置中心Nacos_第11张图片

 成功。

6.存在的一些bug 异常等处理(配置中心引起的异常)

        若服务中引入了nacos的配置中心依赖,则要配置bootstrap.yml或bootstrap.properties文件,

配置nacos的配置中心依赖,和服务的服务名。

         因为bootstrap文件是先于其他配置文件加载的,所以引入了nacos配置中心的依赖,则要配置bootstrap文件。

        如果要使用nacos配置中心的配置,则要在配置中心中的配置管理新建配置,配置的DataId默认和服务名一致,具体可查看服务启动时的日志信息

         在使用配置中的信息时,配合

                @value("${ key }") 

                @RefreshScope  //开启热更新 (nacos中配置刷新)

                       @RefreshScope 要在使用@value的类的上面使用

        注解在类中使用。

java微服务环境配置——注册中心 配置中心Nacos_第12张图片

   
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        


总结

        nacos的注册中心的使用。

        nacos和eureka的范围不同,Nacos的阈值是针对某个具体Service的,而不是针对所有服务的;但Eureka的自我保护阈值是针对所有服务的。nacos支持CP和AP两种;eureka只支持AP。nacos使用netty,是长连接;eureka是短连接,定时发送。

        Nacos与Eureka的保护方式不同

        Eureka保护方式:当在短时间内,统计续约失败的比例,如果达到一定阈值,则会触发自我保护的机制,在该机制下,Eureka Server不会剔除任何的微服务,等到正常后,再退出自我保护机制。自我保护开关(eureka.server.enable-self-preservation: false)

        Nacos保护方式:当域名健康实例 (Instance) 占总服务实例(Instance) 的比例小于阈值时,无论实例 (Instance) 是否健康,都会将这个实例 (Instance) 返回给客户端。这样做虽然损失了一部分流量,但是保证了集群的剩余健康实例 (Instance) 能正常工作。

        扩展:Nacos对比Zookeeper、Eureka之间的区别

你可能感兴趣的:(spring,java,分布式)