1.一种服务平滑升级的方法,其特征在于,包括:
将多个新版服务节点注册到第一服务组,并将所述第一服务组注册到服务发现应用程序中;
从所述服务发现应用程序中对待下线的包括多个旧版服务节点的第二服务组执行模拟下线,并将新的请求事务全部连接到所述多个新版服务节点上,使所述多个旧版服务节点停止接收新的请求事务,仅处理在模拟下线之前接收到的待处理的请求事务;
当所述第二服务组中的旧版服务节点将待处理的请求事务处理完成后,将所述旧版服务节点停止服务。
2.根据权利要求1所述的方法,其特征在于,所述将多个新版服务节点注册到第一服务组,并将所述第一服务组注册到服务发现应用程序中,具体包括:
在升级或者灰度测试时,将所有提供对外服务的新版服务节点启动并注册到第一服务组中,然后将所述第一服务组统一注册到服务发现应用程序的存储集群中。
3.根据权利要求1或2所述的方法,其特征在于,还包括:将已注册的所述第一服务组和所述第二服务组从所述服务发现应用程序中更新到代理服务节点的代理服务列表;
所述从服务发现应用程序中对待下线的包括多个旧版服务节点的第二服务组执行模拟下线,具体包括:从所述代理服务节点的代理服务列表中摘除所述多个旧版服务节点。
4.根据权利要求2所述的方法,其特征在于,所述服务发现应用程序的存储集群包括:etcd或zookeeper存储集群。
5.根据权利要求3所述的方法,其特征在于,所述代理服务节点包括:nginx代理服务节点、Linux虚拟服务器代理服务节点、或者heartbeat代理服务节点。
6.一种服务平滑升级的装置,其特征在于,包括:
服务组管理模块,用于将多个新版服务节点注册到第一服务组,并将所述第一服务组注册到服务发现应用程序中;
模拟下线管理模块,用于从所述服务发现应用程序中对待下线的包括多个旧版服务节点的第二服务组执行模拟下线,并将新的请求事务全部连接到所述多个新版服务节点上,使所述多个旧版服务节点停止接收新的请求事务,仅处理在模拟下线之前接收到的待处理的请求事务;
监听服务模块,用于当所述第二服务组中的旧版服务节点将待处理的请求事务处理完成后,将所述旧版服务节点停止服务。
7.根据权利要求6所述的装置,其特征在于,所述服务组管理模块,具体用于在升级或者灰度测试时,将所有提供对外服务的新版服务节点启动并注册到第一服务组中,然后将所述第一服务组统一注册到服务发现应用程序的存储集群中。
8.根据权利要求6或7所述的装置,其特征在于,所述监听服务模块,还用于将已注册的所述第一服务组和所述第二服务组从所述服务发现应用程序中更新到代理服务节点的代理服务列表;
所述模拟下线管理模块,具体用于从所述代理服务节点的代理服务列表中摘除所述第二服务组中的多个旧版服务节点。
9.根据权利要求7所述的装置,其特征在于,所述服务发现应用程序的存储集群包括:etcd或zookeeper存储集群。
10.根据权利要求8所述的装置,其特征在于,所述代理服务节点包括:nginx代理服务节点、Linux虚拟服务器代理服务节点、或者heartbeat代理服务节点。