dubbo直接代码下使用multicast组播注册中心报错:No provider available for the service

本文记录了一位开发者在使用Dubbo时遇到的multicast组播注册中心报错问题。在CentOS7的VMware虚拟机环境下,尽管检查了项目配置并尝试关闭虚拟机网卡来解决问题,但问题仍然存在。根据资料建议,开发者考虑切换到更稳定的Zookeeper作为注册中心。
摘要由CSDN通过智能技术生成

服务端代码:

public class DubboMulticastServer {
    public static void main(String[] args) throws IOException {
        //应用配置
        ApplicationConfig applicationConfig = new ApplicationConfig();
        applicationConfig.setName("user-server");

        //配置中心
        RegistryConfig registryConfig = new RegistryConfig();
        registryConfig.setProtocol("multicast");
        registryConfig.setAddress("224.5.6.7:1234");
        //端口
        ProtocolConfig protocolConfig = new ProtocolConfig();
        protocolConfig.setName("dubbo");
        protocolConfig.setPort(-1);

        ServiceConfig serviceConfig = new ServiceConfig();
        serviceConfig.setApplication(applicationConfig);
        serviceConfig.setRegistry(registryConfig);
        serviceConfig.setProtocol(protocolConfig);
        serviceConfig.setInterface(UserService.class);
        //serviceConfig.setInterface("com.test.client.UserService");
        serviceConfig.setRef(new UserServiceImpl());
        serviceConfig.export();

        System.out.println("multicast:服务已暴露");
        System.in.read(new byte[1024]);
    }
}

消费端代码:

public class DubboMulticastClient {
    public static void main(String[] args) throws IOException {
        ApplicationConfig applicationConfig = new ApplicationConfig();
        applicationConfig.setName("user-client");
        //指定注册中心
        RegistryConfig registryConfig = new RegistryConfig();
        registryConfig.setProtocol("multicast");
        registryConfig.setAddress("224.5.6.7:1234");

        ReferenceConfig referenceConfig = new ReferenceConfig();
        referenceConfig.setApplication(applicationConfig);
        referenceConfig.setRegistry(registryConfig);
        referenceConfig.setInterface(UserService.class);
        UserService userService = (UserService) referenceConfig.get();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        while (true) {
            if (bufferedReader.readLine().equals("quit")) {
                break;
            }
            System.out.println(userService.getUser(1));
        }

    }
}

服务端启动日志信息

信息:  [DUBBO] Register dubbo service com.test.client.UserService url dubbo://192.168.182.1:20880/com.test.client.UserService?anyhost=true&application=user-server&bind.ip=192.168.182.1&bind.port=20880&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&interface=com.test.client.UserService&methods=getUser&pid=11580&release=2.7.4.1&side=provider&timestamp=1586686322809 to registry registry://224.5.6.7:1234/org.apache.dubbo.registry.RegistryService?application=user-server&dubbo=2.0.2&pid=11580&registry=multicast&release=2.7.4.1&timestamp=1586686322768, dubbo version: 2.7.4.1, current host: 192.168.182.1
四月 12, 2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值