dubbo优雅关机

需求:

生成上dubbo服务在运行时,由于程序原因,应用需要重新打包部署,此时需要重启服务,但是不能影响现有业务的操作。

准备:

1、每个服务接口至少要部署两个

2、简易dubbo监控系统 dubbo-monitor-simple-2.5.3 (dubbo官方提供的)

步骤:

1、部署简易dubbo监控系统,用于监控dubbo服务(其本身也是一个dubbo服务,默认端口是7070)

需要修改conf/dubbo.properties配置文件的dubbo.registry.address属性值,该值为待监控的zookeeper地址(我是用的zookeeper注册中心,所以监控的是zookeeper地址),根据自己的实际情况而定。

使用sh start.sh命令启动dubbo监控。

启动成功后可以通过浏览器访问:http://IP:8081,默认的端口号是8081,若是可以访问代表启动成功。

2、在浏览器的Host页面中找到要停止的服务器上的应用名,进入提供的服务接口,解除服务注册即可。(此时,不会影响正在执行的业务)

3、查看日志,待业务全部处理完毕之后停掉服务,此时因为没有消费者了可以直接使用kill -9 PID 命令杀死进程。

4、部署程序

5、重新启动

6、重复执行2-5步骤,直到所有服务都部署完为止。


在网上找了好多关于dubbo的优雅关机都不好用,所以最终还是通过dubbo的简易监控系统来实现了优雅关机的功能,操作的步骤起始跟dubbo的优雅关机的步骤类似,

1、解除服务注册

2、检查是否有未执行完的线程,若有等待执行完毕,可以设置默认时间

3、停掉服务kill -9 PID

你可能感兴趣的:(java)