nacos自定义注册服务信息

使用nacos注册服务信息。参考文档https://nacos.io/zh-cn/docs/v2/guide/user/sdk.html

使用依赖


            com.alibaba.nacos
            nacos-client
            2.0.3
        

编辑代码,主要实现服务的基本注册,服务发现信息。这里为了简便就写死数据信息。

public class NacosRegistry {

    private NamingService namingService;

    /**
     * 服务链接
     * @param serverAddress
     * @throws NacosException
     */
    public void connect(String serverAddress) throws NacosException {
        this.namingService = NamingFactory.createNamingService(serverAddress);
    }

    /**
     * 注册服务信息
     * @param serviceName
     * @throws NacosException
     */
    public void register(String serviceName) throws NacosException {
       String host = "127.0.0.1";
       int port = 8080;
        Instance instance = new Instance();
        instance.setPort(port);
        instance.setIp(host);
        instance.setServiceName(serviceName);
        this.namingService.registerInstance(serviceName,instance);
    }

    /**
     * 根据服务名称获取服务的ip+port
     * @param serviceName
     * @return
     * @throws NacosException
     */
    public String discovery(String serviceName) throws NacosException {
        List allInstances = this.namingService.getAllInstances(serviceName);
        if(allInstances == null || allInstances.isEmpty()){
            return null;
        }
        Random random = new Random();
        int i = random.nextInt(allInstances.size());
        Instance instance = allInstances.get(i);
        return instance.getIp()+":"+instance.getPort();
    }

}

测试代码

    public static void main(String[] args) throws NacosException {
        NacosRegistry nacosRegistry = new NacosRegistry();
        nacosRegistry.connect("127.0.0.1:8848");

        String serviceName = "nacosService";
        nacosRegistry.register(serviceName);

        String discovery = nacosRegistry.discovery(serviceName);
        System.out.println(discovery);

        try {
            Thread.sleep(500000);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

nacos自定义注册服务信息_第1张图片

nacos自定义注册服务信息_第2张图片

你可能感兴趣的:(java,开发语言)