服务版本升级注意事项

  在服务治理rpc框架中,如果一个B服务提供者是从版本V1升级到了V2,并且升级过程中方法入参类型或者个数进行了修改,那么升级不能一次升级完被依赖服务B,再升级依赖服务A,因为这样会造成A调用B服务时长时间不可用,个人理解的做法应该是:

  第一步:服务B升级一半的实例(升级后,A服务发现一半的B提供者不可用,会自动调用B另一半旧版本服务,最多增加了一次重试调用);

  第二部:服务A升级一半的实例(A升级一半后,类似第一步发现新的B可用的提供者服务);

  第三步:升级B与A剩余未升级的其他实例;

  这样做的好处时,在升级过程中A服务一直可以调用B(一半新的版本实例,一半旧的版本实例),保证服务平台运行;

原文地址:https://www.cnblogs.com/use-D/p/13804673.html