dubbo内置哪几种服务容器_dubbo服务在docker容器中进行服务编排

本文介绍了在Docker环境下,Dubbo服务调用出现异常的问题及其解决方案。问题源于服务消费者使用Docker容器内的IP进行调用,导致通信失败。通过分析dubbo端口绑定源码,了解到需通过环境变量DUBBO_PORT_TO_BIND设置暴露端口。解决方案是使用docker-compose进行服务编排,通过docker-compose.yml文件配置每个服务的端口映射和环境变量,确保服务正确注册到注册中心并监听正确端口。经此调整,服务调用恢复正常。
摘要由CSDN通过智能技术生成

问题起源

最近在对现有业务系统进行Dubbo服务化重构,部署方式采用Docker部署,注册中心采用nacos。当部署完成之后会发现消费者服务能正常启动,服务在注册中心显示正常,但是进行服务调用的时候就会报错,对应的服务无响应信息。

1com.alibaba.dubbo.remoting.RemotingException: message can not send, because channel is closed

问题追溯

报错信息显示comsumer地址是172.18.*.*,这是docker容器的ip地址,猜想应该是容器之间无法进行调用。把docker服务启动参数修改成宿主机的内网地址,依然还是报错。是否应该是服务端口号不一致?查看dubbo端口绑定源码。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值