您所在的位置: 成果库 一种一致性微服务在线更新方法及装置

一种一致性微服务在线更新方法及装置

成果类型:: 发明专利

发布时间: 2023-10-26 16:20:30

科技成果产业化落地方案
方案提交机构:天津市滨海新区| 宋学姮 | 2023-11-02 09:31:39

本发明涉及一种一致性微服务在线更新方法及装置。该方法及装置利用边车模式在服务pod注入流量劫持sidecar,利用sidecar实现非侵入式跨服务追踪,对流量链路进行标注。本发明通过边车模式的启发提出一种非侵入式,用户无感的跨服务追踪方案,对服务进行实时监控,快速定位异常服务,利用边车模式实现非侵入式跨服务链路追踪。

1.一种一致性微服务在线更新方法,其特征在于,包括以下步骤: S100:利用边车模式在服务pod注入流量劫持sidecar; S200:利用sidecar实现非侵入式跨服务追踪,对流量链路进行标注。 2.根据权利要求1所述的一致性微服务在线更新方法,其特征在于,所述方法还包括: S300:微服务在线更新中,对流量异常链路服务快速定位,将流量导向正确版本; S400:异常服务状态改变,结束调用服务,删除旧版本实例。 3.根据权利要求1所述的一致性微服务在线更新方法,其特征在于,步骤S100包括: Pod收到外部请求p1,流量由sidecar接管,并将请求中的traceID与标签记录在sidecar内部的映射表中,之后将发送p2请求至应用; 应用收到p2,通过跨服务链路追踪的轻量SDK将请求中的traceID和标签自动化传递至p3; sidecar收到应用发过来的p3请求,并从映射表中查询对应的traceID和标签,添加至p4; 出流量p4发送至下一个pod的sidecar中,实现微服务系统链路标记。
  1. 数据迁移:在更新过程中,需要将旧版本的数据迁移到新版本的数据库中。可以使用数据迁移工具或脚本来完成数据的转移和转换。

  2. 服务调度:使用负载均衡器或服务注册中心来管理服务的调度和路由,确保更新后的服务能够被正确地调用和访问。

  3. 事务管理:在更新过程中,需要保证数据的一致性。可以使用分布式事务管理机制,如两阶段提交或基于消息队列的事务处理,来确保各个微服务之间的数据操作的一致性。

  4. 容错处理:在更新过程中,可能会遇到错误和异常情况。需要设计相应的容错机制,如备份服务、故障恢复和异常处理,以保证系统的稳定性和可靠性。

  5. 监控和回滚:在更新过程中,需要实时监控系统的运行状态和性能指标,及时发现问题并进行回滚操作。可以使用监控工具和日志分析来实现系统的监控和回滚功能。

中国科学院深圳先进技术研究院提升了粤港地区及我国先进制造业和现代服务业的自主创新能力,推动我国自主知识产权新工业的建立,成为国际一流的工业研究院。 深圳先进院目前已初步构建了以科研为主的集科研、教育、产业、资本为一体的微型协同创新生态系统,由九个研究平台,国科大深圳先进技术学院,多个特色产业育成基地、多支产业发展基金、多个具有独立法人资质的新型专业科研机构等组成。开展先进技术研究,促进科技发展。信息、电子、通讯技术研究新材料、新能源技术研究高性能计算、自动化、精密机械研究生物医学与医疗仪器研究相关学历教育、博士后培养与学术交流。
  1. 系统划分:将整个系统划分为多个微服务单元,每个微服务单元负责独立的业务功能。每个微服务单元都有自己的数据库和状态。

  2. 更新策略:定义一致性更新策略,确保在更新过程中系统的一致性得到保持。可以采用版本控制、灰度发布、回滚机制等方法来管理更新过程。

  3. 数据迁移:在更新过程中,需要将旧版本的数据迁移到新版本的数据库中。可以使用数据迁移工具或脚本来完成数据的转移和转换。

  4. 服务调度:使用负载均衡器或服务注册中心来管理服务的调度和路由,确保更新后的服务能够被正确地调用和访问。

  5. 事务管理:在更新过程中,需要保证数据的一致性。可以使用分布式事务管理机制,如两阶段提交或基于消息队列的事务处理,来确保各个微服务之间的数据操作的一致性。

  6. 容错处理:在更新过程中,可能会遇到错误和异常情况。需要设计相应的容错机制,如备份服务、故障恢复和异常处理,以保证系统的稳定性和可靠性。

  7. 监控和回滚:在更新过程中,需要实时监控系统的运行状态和性能指标,及时发现问题并进行回滚操作。可以使用监控工具和日志分析来实现系统的监控和回滚功能。

技术转让

一致性微服务在线更新方法及装置可以实现对微服务的在线更新,保持系统的一致性和稳定性。通过合理的更新策略和技术手段,可以实现服务的无缝更新,提高系统的可维护性和可扩展性。同时,该方法也需要考虑系统的安全性和性能问题,确保更新过程不会对系统的正常运行造成影响。