nacos之服务注册元数据

本文详细介绍了如何使用Nacos进行服务注册、注销以及订阅事件,展示了如何通过Nacos API操作实例并管理命名空间。通过示例代码,读者可以学习如何在Java应用中实现服务的动态注册和发现。
部署运行你感兴趣的模型镜像

服务注册列表

示例代码

/* Refer to document: https://github.com/alibaba/nacos/blob/master/example/src/main/java/com/alibaba/nacos/example
*  pom.xml
    <dependency>
        <groupId>com.alibaba.nacos</groupId>
        <artifactId>nacos-client</artifactId>
        <version>${latest.version}</version>
    </dependency>
*/
package com.alibaba.nacos.example;

import java.util.Properties;

import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingFactory;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.listener.Event;
import com.alibaba.nacos.api.naming.listener.EventListener;
import com.alibaba.nacos.api.naming.listener.NamingEvent;

/**
 * @author nkorange
 */
public class NamingExample {

    public static void main(String[] args) throws NacosException {

        Properties properties = new Properties();
        //服务注册地址和命名空间
        properties.setProperty("serverAddr", System.getProperty("serverAddr"));
        properties.setProperty("namespace", System.getProperty("namespace"));
        //构建服务
        NamingService naming = NamingFactory.createNamingService(properties);
        //注册服务 服务名,ip,端口,分组
        naming.registerInstance("demo-dubbo-nacos-ServiceA", "11.11.11.11", 8888, "TEST1");
        //注册服务 服务名,ip,端口,分组
        naming.registerInstance("demo-dubbo-nacos-ServiceA", "2.2.2.2", 9999, "DEFAULT");
        //获取所有注册服务
        System.out.println(naming.getAllInstances("demo-dubbo-nacos-ServiceA"));
        //注销服务
        naming.deregisterInstance("demo-dubbo-nacos-ServiceA", "2.2.2.2", 9999, "DEFAULT");

        System.out.println(naming.getAllInstances("demo-dubbo-nacos-ServiceA"));
        // 订阅服务,并监听相关服务
        naming.subscribe("demo-dubbo-nacos-ServiceA", new EventListener() {
            @Override
            public void onEvent(Event event) {
                System.out.println(((NamingEvent)event).getServiceName());
                System.out.println(((NamingEvent)event).getInstances());
            }
        });
    }
}

订阅者

详情

ip:服务启动对应的ip

port:服务启动对应的端口

临时实例:ephemeral=true代表是临时服务,不设置默认服务也都是临时服务

权重:代表访问服务的访问比重,越大,访问可能性越大

健康状态:代表服务是否健康

元数据:

dubbo.metadata-service.urls=[

"dubbo://2.0.0.9:20880/com.alibaba.cloud.dubbo.service.DubboMetadataService

协议+ip+端口+class类

?anyhost=true

服务名称

&application=demo-dubbo-nacos-ServiceA

Ip

&bind.ip=2.0.0.9

端口

&bind.port=20880

过期

&deprecated=false

Dubbo版本号

&dubbo=2.0.2

&dynamic=true

&generic=false

&group=demo-dubbo-nacos-ServiceA

&interface=com.alibaba.cloud.dubbo.service.DubboMetadataService

&methods=getAllServiceKeys,getServiceRestMetadata,getExportedURLs,getAllExportedURLs&pid=35684

&qos.enable=false

&release=2.7.6

&revision=2.1.2.RELEASE

&side=provider  //服务提供者

&timestamp=1652450876766

&version=1.0.0" ]

preserved.register.source=SPRING_CLOUD

dubbo.protocols.dubbo.port=20880

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值