0%

Dubbo版本升级

一、背景

早期内部使用的是当当网fork的Dubbox,由于现在Dubbo又开始重新维护,而且阿里将其捐献给了Apache,并成为了Apache的顶级项目。因此dubbo版本升级到2.7.1势在必行。

二、版本升级

从2.8.4升级到2.7.1

具体可以参考:

Dubbo Spring Boot (v2.7.1) : https://github.com/apache/incubator-dubbo-spring-boot-project
Dubbo (v2.7.1) : https://github.com/apache/incubator-dubbo

三、遇到的问题

问题
解决思路

dubbo-admin启动成功,但是元数据和服务测试功能无法正常使用

  • zk服务端的版本问题。测试后发现当前只支持zk3.4.13版本,3.4.14或者3.5.5都不支持;
  • admin的global配置问题,不能填写127.0.0.1,必须填写ip地址;
  • zk节点可以通过zooInspector手动删除;

dubbo服务启动多次后产生多个服务

  • 2.7.1版本里zk的节点是默认静态节点,导致服务shutdown后依旧存在;此问题在2.7.2以后已经解决;
  • 解决思路:优雅的关闭程序(1.idea中点击退出按钮,2.服务器上不要强杀进程,正常stop或者kill 进程)

dubbo-admin启动后服务端显示127.0.0.1

  • 主要是主机名默认是127.0.0.1
  • 解决思路(1.修改主机名 hostnamectl set-hostname xxx.xxx.xxx.xxx 2.在配置文件里指定dubbo的host(不建议))
序列化报错 建议使用kryo序列化,其序列化效率明显优于Java序列化,若使用Java序列化,则bean需要实现Serializable接口;kryo并不需要,直接引入jar包maven引用即可