0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

华为云微服务引擎0停机迁移Nacos?它是这样做的

科技之光2 来源:科技之光2 作者:科技之光2 2022-12-29 20:01 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

华为云微服务引擎| 0停机迁移Nacos? “它”是这样做的

迁移云环境****场景

• 微服务规模小,使用微服务引擎CSE成本太高。

• dubbo/Nacos微服务架构改造dubbo-servicecomb接入CSE需要投入的成本高,且社区dubbo-servicecomb未投入人力维护,可能遇到很多适配问题。

• 仅想使用CSE的治理能力,配置中心仍然使用Nacos,或者后期微服务整改后使用CSE,但是目前想使用Nacos过渡情况。

• 倾向使用Nacos作为配置中心使用,其它使用华为云的其它组件,如CCE、中间件等。

• 使用Nacos或者想用Nacos的客户,项目整改比较紧急,调整框架迁移CSE时间不够。

• 想使用Nacos作为配置中心,但是又不想去动原有的代码逻辑。

概述

结合市场痛点,华为云提供托管版Nacos引擎,能帮助客户免去运维Nacos集群的烦恼,更加聚焦业务本身的实现,同时华为云也提供专业的Nacos专家支持。本文介绍如何将Spring Cloud应用从开源Consul无缝迁移至华为云Nacos。

什么是Sermant Agent

Sermant Agent是一种基于JavaAgent的无代理服务网格技术。它利用JavaAgent来检测主机应用程序,并具有增强的服务治理功能,以解决海量微服务架构中的服务治理问题。

Sermant Agent处于快速发展阶段,当前已支持多种服务治理能力,包含流量治理、注册、优雅上下线及动态配置能力。

为什么使用Sermant Agent接入

代码零侵入,配置很简单

相较于SDK方式接入,基于Sermant Agent的接入会更加快捷高效,配置简单,且应用无需做任何代码改造,仅需在服务启动时附带Sermant Agent即可动态接入到CSE的Nacos。

支****持多种治理能力

Sermant Agent默认集成流量治理能力,当前支持熔断、限流、隔离仓以及重试治理能力,该能力可基于CSE配置中心进行配置与发布。

支持多种注册中心

Sermant Agent目前支持业内主流的注册中心,已经支持了ServiceComb ServiceCenter、Naocs,Eureka、Zookeeper等正在开发中。

支持应用不停机迁移

Sermant Agent支持服务的双注册,可根据配置中心下发的服务订阅策略,动态修改当前服务的订阅策略,并基于该能力帮助线上应用在业务不中断的前提下完成服务迁移。

不仅如此,Sermant Agent提供优雅上下线能力,在服务重启、上下线时提供保障,在保护服务的同时,规避服务下线时可能存在的流量丢失问题。

接入原理

当然,在说明原理之前,我们首先需要了解什么是Java Agent。

Java Agent是在JDK1.5之后引入的新特性,它支持JVM将字节码文件读入内存之后,JVM使用对应的字节流在Java堆中生成一个Class对象之前,用户可以对其字节码进行修改的能力,JVM使用修改之后的字节码进行Class对象的创建,从而实现Java应用的非代码侵入的业务逻辑修改和替换。

Sermant Agent正是基于动态修改字节码的技术,在服务启动时,动态增强原服务的注册逻辑。那Sermant Agent是如何在不修改代码的前提下接入Nacos呢?主要流程如下:

包含以下6个步骤:

  1. 首先服务携带Sermant Agent启动;
  2. 服务启动时,针对服务执行字节码增强操作(基于Java Agent的字节码增强),主要针对注册与配置两块,在步骤3-5体现;
  3. 通过字节码增强,动态识别原应用的注册中心;
  4. 注入启动配置,动态关闭原应用的注册中心自动配置逻辑;
  5. 随后通过Spring的SpringFactory机制注入基于Spring Cloud实现的注册Nacos的自动配置类,由Spring接管;
  6. 当应用发起注册时,会通过步骤5注入的注册逻辑向CSE的Nacos发起注册,最终完成接入。

简单零代码修改,轻松接入CSE的Nacos

接入场景分为虚机接入和容器接入,大家可以根据自身需求选择合适的接入方式。

虚机场景接入CSE的Nacos

虚机部署的应用可通过Sermant Agent接入到CSE的Nacos。

基于ECS将应用接入CSE的Nacos流程

容器场景接入CSE的Nacos

容器部署的应用可通过Sermant Injector自动挂载Sermant Agent,从而通过Sermant Agent接入到CSE的Nacos。

基于CCE将应用接入CSE的Nacos流程

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 华为云
    +关注

    关注

    3

    文章

    2804

    浏览量

    19091
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    华纳VPS容器服务网格流量管理:实现微服务高效路由

    计算和微服务架构日益普及的今天,华纳香港VPS凭借其优越的地缘优势和网络自由,成为众多企业部署容器化应用的热门选择。复杂的微服务架构带来了流量管理的巨大挑战。本文将深入探讨如何利
    的头像 发表于 10-16 17:09 380次阅读

    华为发布全新升级星河AI MSP服务解决方案

    华为数据通信创新峰会2025(HNS 2025)欧洲站期间,MSP(Managed Service Provider,管理服务提供商)高层圆桌会议在慕尼黑成功举办。会上,华为发布全
    的头像 发表于 10-13 09:44 558次阅读

    软通动力携手华为推出iPaaS海外集成迁移联合解决方案

    华为全联接大会2025中,软通动力携手华为正式发布基于华为ROMA Connect平台的“iPaaS海外集成
    的头像 发表于 09-28 17:44 1005次阅读

    中软国际上迁移服务充分释放计算价值

    华为生态的核心合作伙伴,中软国际凭借深厚的行业积累、成熟的迁移方法论及专业化工具链,为企业提供端到端上服务,助力客户实现业务无缝
    的头像 发表于 07-25 14:32 735次阅读
    中软国际上<b class='flag-5'>云</b><b class='flag-5'>迁移</b><b class='flag-5'>服务</b>充分释放<b class='flag-5'>云</b>计算价值

    容器引擎cce与弹性服务器有什么区别?

    容器引擎cce与弹性服务器的区别主要体现在架构与资源管理、部署与运维、性能与资源利用率、适用场景、成本与灵活性等多方面。容器
    的头像 发表于 02-10 10:07 827次阅读

    华为 Flexus 服务器 X 实例全面使用操作指南

    架构师顾炯炯牵头研发。它基于擎天 QingTian 架构、瑶光脑、盘古大模型等根技术创新,是业界首款应用驱动的柔性算力服务器,主要面向高科技、零售、金融、游戏等行业大多数通用工作负载场景,包括网络应用、数据库、虚拟桌面、分析
    的头像 发表于 01-23 17:58 923次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务</b>器 X 实例全面使用操作指南

    使用 sysbench 对华为 Flexus 服务器 X Mysql 应用加速测评

    ❀前言 大家好,我是早九晚十二。 昨天有梳理一篇关于华为最新推出的服务器产品 Flexus 服务
    的头像 发表于 01-23 17:26 663次阅读
    使用 sysbench 对<b class='flag-5'>华为</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>服务</b>器 X <b class='flag-5'>做</b> Mysql 应用加速测评

    微服务容器化部署好处多吗?

    微服务容器化部署好处有很多,包括环境一致性、资源高效利用、快速部署与启动、隔离性与安全性、版本控制与回滚以及持续集成与持续部署。这些优势助力应用可靠稳定运行,提升开发运维效率,是现代软件架构的优质选择。UU小编认为微服务容器化
    的头像 发表于 01-17 10:22 544次阅读

    华为 Flexus 服务器 X 实例的快速入门与配置指南

    @TOC   前言 计算技术的快速发展为企业提供了更强大的计算资源和灵活的扩展能力。华为作为领先的服务提供商,其 Flexus
    的头像 发表于 01-13 11:11 3816次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务</b>器 X 实例的快速入门与配置指南

    华为 Flexus 服务器 X 实例 - 选购到创建宝塔

    1.华为 Flexus 服务器 X 实例介绍 华为 Flexus
    的头像 发表于 01-08 11:51 676次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务</b>器 X 实例 - 选购到创建宝塔

    常见的容器服务引擎有哪些?

    常见的容器服务引擎有哪些?服务引擎涵盖数据库、数据存储、数据处理、数据分析、容器
    的头像 发表于 01-07 09:49 678次阅读

    基于华为 Flexus 服务器 X 搭建 jumpserver 堡垒机软件

    技术创新,是业界首款应用驱动的柔性算力服务器,主要面向高科技、零售、金融、游戏等行业大多数通用工作负载场景,包括网络应用、数据库、虚拟桌面、分析索引、微服务、CI/CD 等。 传统厂商的服务
    的头像 发表于 01-02 11:59 848次阅读
    基于<b class='flag-5'>华为</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务</b>器 X 搭建 jumpserver 堡垒机软件

    华为 Flexus 服务器 X 实例的使用教程

    引言 选择一款性价比高、性能强劲的服务器是 IT 技术人员常面临的问题。华为的 Flexus 服务
    的头像 发表于 12-30 09:16 1108次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务</b>器 X 实例的使用教程

    华为 Flexus 服务器 X 实例的购买及使用体验

    价比服务。其中,华为 Flexus 服务器 X 实例是一款性能强劲的
    的头像 发表于 12-24 17:26 989次阅读
    <b class='flag-5'>华为</b><b class='flag-5'>云</b> Flexus <b class='flag-5'>云</b><b class='flag-5'>服务</b>器 X 实例的购买及使用体验

    宝藏级微服务架构工具合集

    大量数据流。这些工具各有特色,可根据具体需求和场景选择合适的来构建和管理微服务架构。以下是UU小编整理的几个热门的微服务架构工具及其概括性介绍:
    的头像 发表于 12-21 16:33 902次阅读