五、版本号
每个接口都应定义版本号,为后续不兼容升级提供可能。当一个接口有不同的实现,项目早 期使用的一个实现类, 之后创建接口的新的实现类。区分不同的接口实现使用 version。特别是项目需要把早期接口的实现全部换位新的实现类,也需要使用 version.
可以用版本号从早期的接口实现过渡到新的接口实现,版本号不同的服务相互间不引用。
可以按照以下的步骤进行版本迁移:
1)在低压力时间段,先升级一半提供者为新版本
2)再将所有消费者升级为新版本
3)然后将剩下的一半提供者升级为新版本
例:以 zk-node-shop-userservice 为例。
1.复制 UserInfoServiceImpl.java
UserInfoServiceImpl2 中的地址信息都加入 2 的内容,用来区别原始的数据。
2.dubbo 配置文件 userservice-provider.xml
3.zk-node-shop-web 服务的 dubbo 配置文件
增加访问的 version=2.0
4.测试应用
1)先启动 zookeeper
2)启动 tomcat
3)访问 zk-node-shop-web
比较订单中的地址 ,查看用户信息的地址是不同的内容