首页 > 求问我这个dubbo项目该怎么分包?

求问我这个dubbo项目该怎么分包?

我现在这个项目有3个模块
1,User(用户模块)
2,Order(订单模块)
3,Game(游戏模块)

游戏模块需要调用用户和订单这两个模块的服务,我想使用Dubbo来维系Game和User以及Game和Order之间的关系

之前我只写了User和Game模块时,我是这样做的
我把User模块又拆成了2个子模块,User-Server和User-api,User-api中只写需要暴漏给Game的接口,然后User-Server通过Gradle来引用User-api,并实现对应的接口方法,然后在User_server中启动Dubbo将User-api中的接口以及User-Server中的实现类注册到zookper中,然后在Game模块中也通过Dubbo引用这User-api中的接口即可

但是我今天在写Order模块时,我也是这么做的,我也将Order拆成两部分:Order-api和Order-server,并将其注册到zookper中

但是在启动Order-server时,抛异常意思是20880端口已被占用,肯定是被User-server中的dubbo给占用了。

现在又有一点疑问,我这样分服务是不是不对,如果这样的话,是不是相当于启用了2个dubbo服务?

不知道,我这个该怎么解决呢???


服务化就是这样的,如果机器够可以user和order各一台服务器,如果只有一台机器可以使用不同的端口号。


暴露接口的模块api放在一起吧


<dubbo:protocol name="dubbo" port="-1" />

dubbo协议缺省端口为20880,rmi协议缺省端口为1099,http和hessian协议缺省端口为80
如果配置为-1 或者 没有配置port,则会分配一个没有被占用的端口。Dubbo 2.4.0+,分配的端口在协议缺省端口的基础上增长,确保端口段可控。

dubbo文档

【热门文章】
【热门文章】