Dubbo服务端
1. 服务端
//构建应用 ApplicationConfig config = new ApplicationConfig(); config.setName("simple-app"); // 通信协议 ProtocolConfig protocolConfig = new ProtocolConfig("dubbo", port); protocolConfig.setThreads(200); ServiceConfig<UserService> serviceConfig = new ServiceConfig(); serviceConfig.setApplication(config); serviceConfig.setProtocol(protocolConfig); // serviceConfig.setRegistry(new RegistryConfig(RegistryConfig.NO_AVAILABLE)); // serviceConfig.setRegistry(new RegistryConfig("multicast://224.1.2.3:11111")); serviceConfig.setRegistry(new RegistryConfig("zookeeper://192.168.0.147:2181")); serviceConfig.setInterface(UserService.class); UserServiceImpl ref = new UserServiceImpl(); serviceConfig.setRef(ref); //开始提供服务 开张做生意 serviceConfig.export(); System.out.println("服务已开启!端口:"+serviceConfig.getExportedUrls().get(0).getPort()); ref.setPort(serviceConfig.getExportedUrls().get(0).getPort());
2 . 客户端
ApplicationConfig config = new ApplicationConfig("young-app"); // 构建一个引用对象 ReferenceConfig<UserService> referenceConfig = new ReferenceConfig<>(); referenceConfig.setApplication(config); referenceConfig.setInterface(UserService.class); // referenceConfig.setUrl(url); referenceConfig.setRegistry(new RegistryConfig("zookeeper://192.168.0.147:2181")); referenceConfig.setLoadbalance("consistenthash"); referenceConfig.setTimeout(5000); // 透明化 this.service = referenceConfig.get();