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

    文章

    2776

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

    华为生态的核心合作伙伴,中软国际凭借深厚的行业积累、成熟的迁移方法论及专业化工具链,为企业提供端到端上服务,助力客户实现业务无缝
    的头像 发表于 07-25 14:32 ?430次阅读
    中软国际上<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 ?422次阅读

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

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

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

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

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

    1.华为 Flexus 服务器 X 实例介绍 华为 Flexus
    的头像 发表于 01-08 11:51 ?485次阅读
    <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 ?444次阅读

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

    技术创新,是业界首款应用驱动的柔性算力服务器,主要面向高科技、零售、金融、游戏等行业大多数通用工作负载场景,包括网络应用、数据库、虚拟桌面、分析索引、微服务、CI/CD 等。 传统厂商的服务
    的头像 发表于 01-02 11:59 ?476次阅读
    基于<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 实例的购买及使用体验

    价比服务。其中,华为 Flexus 服务器 X 实例是一款性能强劲的
    的头像 发表于 12-24 17:26 ?646次阅读
    <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 ?681次阅读

    计算迁移的步骤与注意事项

    计算迁移是一个复杂且关键的过程,需要细致的规划和执行。以下是计算迁移的一般步骤及注意事项: 一、计算
    的头像 发表于 10-24 09:20 ?1495次阅读

    微服务架构与容器的关系与区别

    微服务架构与容器密切相关又有所区别。微服务将大型应用拆分为小型、独立的服务,而容器基于容器技术,为
    的头像 发表于 10-21 17:28 ?619次阅读

    容器服务引擎是什么意思?

    容器服务引擎是什么意思?容器服务引擎是一种基于云原生架构的容器编排工具,能够帮助用户快速构建
    的头像 发表于 10-19 17:08 ?470次阅读

    容器服务引擎是什么?如何使用

    容器服务引擎(CloudContainerEngine,简称CCE),是一个企业级的Kubernetes集群托管服务,提供高度可扩展、高性能的云原生应用部署和管理方案。容器
    的头像 发表于 09-30 10:17 ?625次阅读

    IT资源迁移服务器的关键因素

    随着计算技术的不断成熟和普及,越来越多的企业选择将他们的IT资源迁移服务器上。这种转变不仅可以降低成本、提高灵活性,还可以提升安全性和效率。本文将深入探讨将IT资源
    的头像 发表于 09-18 11:21 ?643次阅读

    龙智Atlassian ITSM解决方案、迁移解决方案详解:高速ITSM实施+端到端的迁移服务

    随着计算技术的不断成熟与普及,企业对于高效、灵活的IT服务管理(ITSM)与无缝的迁移解决方案的需求日益增长。如何有效管理复杂的IT环境,加速业务上
    的头像 发表于 09-04 09:41 ?594次阅读
    龙智Atlassian ITSM解决方案、<b class='flag-5'>云</b><b class='flag-5'>迁移</b>解决方案详解:高速ITSM实施+端到端的<b class='flag-5'>云</b><b class='flag-5'>迁移</b><b class='flag-5'>服务</b>