首页 > 其他分享 >Nacos注册中心

Nacos注册中心

时间:2024-05-23 09:08:56浏览次数:20  
标签:服务 String 中心 spring Nacos nacos 注册 cloud

  1. Nacos是springcloud的扩展,注册中心功能通过NacosDiscoveryClient 继承DiscoveryClient,在springcloud中,与Eureka可以无侵入的切换。注册中心可以手动剔除服务实例,通过消息通知客户端更新缓存的实例信息,完整调用链路示例如下:

  2. Nacos 的关键特性包括:

    • 服务发现和服务健康监测
    • 动态配置服务,带管理界面,支持丰富的配置维度。
    • 动态 DNS 服务
    • 服务及其元数据管理
  3. Nacos与Eureka相比优势如下:

    Nacos在自动或手动下线服务,使用消息机制通知客户端,服务实例的修改很快响应;Eureka只能通过任务定时剔除无效的服务。
    Nacos可以根据namespace命名空间,DataId,Group分组,来区分不同环境(dev,test,prod),不同项目的配置。

  4. Nacos的开启

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring‐boot‐dependencies</artifactId>             
                <version>2.1.3.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring‐cloud‐dependencies</artifactId>             
                <version>Greenwich.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring‐cloud‐alibaba‐dependencies</artifactId>             
                <version>2.1.0.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    • 消费者与提供者当中都添加nacos的使用依赖
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring‐cloud‐starter‐alibaba‐nacos‐discovery</artifactId>
    </dependency>
    
    • 服务注册
    spring:
      application: 
        name: nacos‐restful‐provider
      cloud: 
        nacos: 
          discovery: 
            server‐addr: 127.0.0.1:8848
    
    • 服务发现
    spring: 
      application: 
        name: nacos‐restful‐consumer
      cloud: 
        nacos:
          discovery:
            server‐addr: 127.0.0.1:8848
    
    • 服务消费
    /*改Controller中远程调用的代码*/
    
    //服务id即注册中心的中的服务名      private String serviceId="nacos‐restful‐provider";   
    
    @Autowired
    LoadBalancerClient loadBalancerClient;   
    
    @GetMapping(value = "/service")
    public String service(){ 
        RestTemplate restTemplate = new RestTemplate();     
        //调用服务 
        //String providerResult = restTemplate.getForObject("http://" + providerAddress +  "/service",String.class);
        ServiceInstance serviceInstance = loadBalancerClient.choose(serviceId);      
        URI uri = serviceInstance.getUri();
        String providerResult = restTemplate.getForObject(uri+"/service",String.class);
        return "consumer invoke | " + providerResult;     }
    
    • 负载均衡

      • 上边使用的LoadBalancerClient就是一个客户端负载均衡器,具体使用的是Ribbon客户端负载均衡器。 Ribbon在发送请求前通过负载均衡算法选择一个服务实例,然后进行访问,这是客户端负载均衡。即在客户端就进行负载均衡的分配.
      • RoundRobinRule(默认):轮询,即按一定的顺序轮换获取实例的地址;
      • 在服务消费方的配置文件中修改默认的负载均衡策略:
    nacos‐restful‐provider:  #服务提供方的服务名称
      ribbon:
        NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule
    

标签:服务,String,中心,spring,Nacos,nacos,注册,cloud
From: https://www.cnblogs.com/hytip/p/18207225

相关文章

  • Eureka 服务注册中心
    注册中心相当于微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到注册中心,当服务需要调用其他服务时,就到这里找到服务的地址,进行调用。服务注册中心的作用就是服务的注册和服务的发现。常见注册中心的对比Eureka注册中心三种角色......
  • 使用winsw 将 spring boot jar包注册称服务
    下载地址:ReleaseWinSWv2.10.3·winsw/winsw·GitHub下载winsw,使用版本WinSWv2.10.3版修改文件名  修改配置<configuration><!--安装成Windows服务后的服务名--><id>nacosConsumer</id><!--显示的服务名称--><name>nacosConsumer</name>&......
  • 注册linux服务,一个简单的例子
    1、背景最近在搞ELK,服务器资源比较紧张,logstash经常挂掉,为了保持程序运行稳定,那么打算将logstash注册成服务。 2、实践cd/etc/systemd/system/新增logstash.service文件:[Unit]Description=LogstashserviceAfter=network.target[Service]Type=simpleUse......
  • Spring是如何整合MyBatis将Mapper接口注册为Bean的原理
    一、接口生成bean定义1.首先MyBatis的Mapper接口核心是JDK动态代理2.Spring会排除接口,无法注册到IOC容器中3.MyBatis实现了BeanDefinitionRegistryPostProcessor可以动态注册BeanDefinition4.需要自定义扫描器(继承Spring内部扫描器ClassPathBeanDefinitionScan......
  • 龙哥量化:注册simnow上期所的期货仿真模拟交易账户教程步骤
     永远顺着趋势交易在技术分析这种市场研究方法中,趋势的概念绝对是核心内容。分析师所使用的全部工具, 诸如支撑和阻挡水平、价格形态、移动平均线、趋势线等等,其唯一的目的就是辅助我们估量市场趋势, 从而顺应着趋势的方向做交易。在市场上,“永远顺着趋势交易”、“决......
  • apisix~集成服务发现注册中心
    摘要当业务量发生变化时,需要对上游服务进行扩缩容,或者因服务器硬件故障需要更换服务器。如果网关是通过配置来维护上游服务信息,在微服务架构模式下,其带来的维护成本可想而知。再者因不能及时更新这些信息,也会对业务带来一定的影响,还有人为误操作带来的影响也不可忽视,所以网关非常......
  • Windows注册表编辑器是用于管理和修改Windows操作系统注册表的工具。以下是一些常见的
    Windows注册表编辑器是用于管理和修改Windows操作系统注册表的工具。以下是一些常见的Windows注册表编辑器:regedit.exe:这是Windows内置的注册表编辑器,可以通过运行regedit命令或在开始菜单中搜索"注册表编辑器"来打开它。它提供了对注册表键值的查看、编辑和删除等功能。......
  • 大数定律与中心极限定理
    Markov&ChebyshevInequality示性函数\[\mathbb{I}(A)=\begin{cases}1,&A\text{happen}\\0,&A\text{nothappen}\end{cases}\]对于事件\(A\),如果对于样本点\(\omega\)有示性函数\[I_A(\omega)=\begin{cases}1,&\omega\inA\\0......
  • Docker 部署Nacos
    1、创建Nacos目录mkdir/home/docker/nacos2、创建Nacos日志目录mkdir/home/docker/nacos/logs3、创建Nacos配置目录mkdir/home/docker/nacos/conf4、创建数据库/**Copyright1999-2018AlibabaGroupHoldingLtd.**LicensedundertheApacheLicense,Ver......
  • nacos2.3.2部署(鲲鹏arm版)
    1.说明  本次编译是因为公司适配鲲鹏arm系列,业务涉及到了nacos-server,所以就选择最新版本进行了编译,期间也想直接使用官方镜像nacos/nacos-server:v2.1.2-slim、nacos/nacos-server:v2.2.0-slim,无一例外失败了,启动不了,所以最后只能选择源码编译,在制作镜像的方式进行。2.编......