之前我们的有两个Application Module,一个是Sys_Web, 负责提供基础的功能和服务,比如:机构注册、供应商管理、编码规则管理,并提供相关服务给其他应用。 另外一个是Biz_Web,用来给供应提供业务操作的管理,要调用基础管理的服务。
之前采用的Zookeeper + Dubbo 访问,运行稳定。我们想迁移到Nacos 环境,用Nacos的配置服务和注册服务,于是采用SpringBoot + Nacos + AlibabaDubbo。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-dubbo</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo-registry-nacos</artifactId>
<version>2.7.7</version>
</dependency>
** Sys_Web Dubbo Config:**
dubbo.application.name=sys_web_dubbo
#dubbo.application.qos-enable=false
dubbo.protocol.port=20880
dubbo.protocol.name=dubbo
dubbo.registry.address=nacos://127.0.0.1:8848
dubbo.registry.use-as-config-center=false
dubbo.application.metadata-type=local
dubbo.monitor.protocol=registry
#dubbo.scan.base-packages=com.cqp.mcoms.sys.service
dubbo.scan.base-packages=com.oms.sys_web.service
dubbo.registry.protocol=nacos
dubbo.consumer.id=mcoms-consumer
dubbo.consumer.default=true
dubbo.consumer.timeout=8000
dubbo.consumer.retries=0
dubbo.consumer.check=false
Biz_Web Dubbo Config:
dubbo.application.name=biz_web_dubbo
#dubbo.application.qos-enable=false
dubbo.protocol.port=20881
dubbo.protocol.name=dubbo
dubbo.registry.address=nacos://127.0.0.1:8848
dubbo.registry.use-as-config-center=false
dubbo.application.metadata-type=local
dubbo.monitor.protocol=registry
dubbo.scan.base-packages=com.cqp.mcoms.biz.service
dubbo.registry.protocol=nacos
dubbo.consumer.id=mcoms-consumer1
dubbo.consumer.default=true
dubbo.consumer.timeout=8000
dubbo.consumer.retries=0
dubbo.consumer.check=false
Sys_web 服务提供代码
@DubboService(interfaceClass = IBasSupplierService.class)
@Component
public class BasSupplierServiceImpl extends BaseService<BasSupplier, BasSupplierMapper> implements IBasSupplierService {
public int supplierMapping(String userAccount, SupplierMappingVO param) {
}
}
Biz_web 服务消费代码:
@DubboService(interfaceClass = IBizHosDeliveryService.class)
@Component
public class BizHosDeliveryServiceImpl extends BaseService<BizHosDelivery, BizHosDeliveryMapper> implements IBizHosDeliveryService {
@DubboReference(interfaceClass = IBasSupplierService.class)
IBasSupplierService supplierService;
@DubboReference(interfaceClass = IBizHosDeliverydetailService.class)
IBizHosDeliverydetailService deliverydetailService;
@DubboReference(check=false)
IBizHosOrderRespService orderRespService;
}
当Sys_web 和Biz_web 应用单独启动,能正常启动,并能访问不交叉访问的服务;
当启动一个后,启动另外一个用,新启动的应用就暂停在那里。
2022-04-02 10:31:18.726 INFO 22348 --- [ main] com.alibaba.nacos.client.naming : current ips:(1) service: DEFAULT_GROUP@@sys_web -> [{"instanceId":"172.30.34.81#8097#DEFAULT#DEFAULT_GROUP@@sys_web","ip":"172.30.34.81","port":8097,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@sys_web","metadata":{"dubbo.metadata-service.urls":"[ "dubbo://172.30.34.81:20880/com.alibaba.cloud.dubbo.service.DubboMetadataService?anyhost=true&application=sys_web_dubbo&bind.ip=172.30.34.81&bind.port=20880&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&group=sys_web&interface=com.alibaba.cloud.dubbo.service.DubboMetadataService&metadata-type=local&methods=getAllServiceKeys,getServiceRestMetadata,getExportedURLs,getAllExportedURLs&monitor=dubbo://localhost:9090/org.apache.dubbo.registry.RegistryService?application=sys_web_dubbo&dubbo=2.0.2&metadata-type=local&pid=880&protocol=registry&qos.enable=false&refer=application=sys_web_dubbo&dubbo=2.0.2&interface=org.apache.dubbo.monitor.MonitorService&metadata-type=local&pid=880&qos.enable=false®ister.ip=172.22.48.1&release=2.7.8×tamp=1648866618628®istry=spring-cloud&release=2.7.8×tamp=1648866618615&pid=880&qos.enable=false&release=2.7.8&revision=2.2.2.RELEASE&side=provider×tamp=1648866618615&version=1.0.0" ]","dubbo.protocols.dubbo.port":"20880","preserved.register.source":"SPRING_CLOUD"},"ipDeleteTimeout":30000,"instanceHeartBeatInterval":5000,"instanceHeartBeatTimeOut":15000}]
2022-04-02 10:31:18.730 INFO 22348 --- [ main] c.a.c.d.s.DubboMetadataServiceProxy : The metadata of Dubbo service[name : sys_web_dubbo] is about to be initialized
我不知道是SpringBoot 与Alibaba Dubbo版本的问题还是?
现在还不知道怎么个思路,还请指点。