最新要闻
- 聚焦:山西焦化:公司2023年第一季度报告预约披露时间为2023年4月25日
- 世界关注:荣耀推“三叉戟” 赵明:笔记本过去30年没啥变化 需要跃迁
- 【全球新要闻】比理想L8 Air便宜3万多 魏牌蓝山四驱版值得买吗?一文看懂
- 240Hz高刷屏+RTX40显卡!微星星影15游戏图赏
- 【独家焦点】今年五一档“杀疯了” 至少16部影片扎堆上映:《长空之王》最受期待
- 黑白相机卖到71000元!徕卡M11 Monochrom正式发布
- 【新视野】半导体设备板块快速走高,金海通涨停
- 《Redfall》引发粉丝强烈不满
- 环球焦点!《名侦探柯南》新剧场版上映 柯哀亲了登顶热搜!新兰CP党表示要弃剧
- 上海车展全球首发 比亚迪B级纯电SUV官宣:命名“宋L”
- 焦点快看:女子团购住民宿 结果住到自己家的房子 网友:王思聪有这体验
- 【全球快播报】荣耀Magic5成旗舰标杆!赵明:从来没有友商敢挑战它的续航、屏幕
- 环球速看:中标 | 含塔筒3200-3438元/kW!海装、金风、电气风电预中标山东能源渤中海上风电项目
- 全球微头条丨苹果iPhone 15 Pro机型再曝光:依然实体音量键 静音拨片改为Action按钮
- 苹果和安卓折腾了5年 愣是干不过微信小程序
- 抢先看!迪士尼更新真人版《小美人鱼》预告:黑小美人鱼海下展唯美瞬间
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
全球快报:更安全、更低耗的微服务架构改造之道
摘要:微服务改造是政企客户云原生演进的重头戏,但如何做到成本低、安全性高、性能不变、方便调用等,却是一门学问。本文讲述华为云Stack的解决之道。
本文分享自华为云社区《【华为云Stack】【大架光临】第17期:更安全、更低耗的微服务架构改造之道》,作者:杨奕 华为云技术规划专家。
(资料图片)
在以往的文章《云原生时代,政企混合云场景IT监控和诊断的难点和应对之道》中,我们介绍了几种微服务架构模式,如下图所示:
注:图片来源https://twitter.com/bibryam/status/1026429379587567616
今天主要是介绍,第一种SOA/ESB架构,在Java语言场景下,如何朝第三种云原生ServiceMesh架构演进的问题。
SOA/ESB架构简介和问题概览
首先我们来看看 SOA/ESB 架构 在目前云上架构的典型架构模式。
如下图所示,以华为云为例,以该模式部署应用时,其使用到的典型云服务为 弹性负载均衡 (ELB) +弹性伸缩 (AS,包含ECS) 。在这种场景下:
•需要发起调用客户端的程序,通过配置好的域名或地址,直接调用到ELB上,通过ELB去调用到后端的ECS服务器。
•ELB上需要配置后端服务器的多个IP地址。当然,一般这类操作可以简化为添加某类弹性伸缩组。这样,当ECS发生弹性伸缩时管理员无需处理ELB配置,ELB即可自动刷新ECS的IP列表的变化。 (配置操作可参见:https://support.huaweicloud.com/usermanual-as/as_01_0102.html)
值得注意的是,以上的模式可能存在几种变种。
•对于ELB,可能会采用API网关替代,或者用户自建的KONG、APISIX、Envoy等,具体取决各个企业的自身业务场景。例如,某些互联网公司倾向于采用企业自建的KONG,其主要原因是除了基本的服务发现和负载均衡能力以外,网关还需要处理面向内部跨域调用的一些鉴权情况处理。
•对于弹性伸缩,可能也会直接采用Kubernetes的Deployment + HorizontalPodAutoscaler替代。这当然取决于企业内部的基础架构采用情况,看是更倾向于使用虚拟机架构还是容器架构。
以上架构虽然在隔离性、安全性上存在一定优点,但是短板也非常明显。
•性能和资源开销。这个比较好理解,相对微服务架构,SOA/ESB架构上网络增加了额外一跳,而且ELB的引入也会导致资源的额外消耗增多。
•运维成本。毕竟额外引入了一个ELB的组件,因此在微服务之间调用时,瓶颈在哪里,ELB是否需要扩缩容,都是问题。
微服务和云原生架构改造的一些方法和问题
对于如何改造SOA/ESB 架构,朝微服务架构或云原生架构演进,业界也有很多方法。主要是以下两类:
•通过修改代码,将应用改造为微服务架构。例如直接在代码中引入比如SpringCloud的服务注册发现和负载均衡等组件。当然,这种改造往往并不简单,主要取决于现有应用已采用的开发框架等。比如应用本身没有采用spring来进行开发,那么直接采用SpringCloud可能会为应用带来海量的改造成本。
•采用istio方案,通过有限改造应用,将架构升级为ServiceMesh架构。之所以该方案是有限改造,是因为在服务调用方式上,istio方案对应用并不是完全无限制。其至少需要在客户端将调用的http调用地址改造成为k8s原生的服务地址,调用的服务治理才能被envoy有效接管。当然,改造完毕后,用户在接下来面向边车的性能衰减,以及更复杂的调用运维问题上,恐怕一个也不会少。
综上所述,两种方案都存在比较明显的短板。接下来分析下采用Sermant方式进行架构改造,如何弥补上述两种方案的短板。
Sermant对SOA/ESB架构升级的一些思路
采用Sermant (https://sermant.io/zh/)对SOA/ESB架构升级,本质上的最后的架构终态是Service-Mesh。因为采用的方法稍有不同,方案在性能和运维问题上都不存在短板。主要是以下两点:
•首先,Sermant采用JavaAgent来动态注入增强的服务逻辑治理,因此应用侧理论可以做到完全不用改代码。
•其次,由于Sermant的核心逻辑是以AOP (面向切面编程) 方式,JavaAgent和业务属于同一进程,因此在性能方面不存在sidecar形态的特别大的损耗。
Sermant方案架构如下图所示:
在核心技术点上,Sermant改造方案的功能主要有以下几个方面:
•内置的服务注册发现机制。(上图中的第一点和第三点)
- 插件本身会带服务注册功能,在Provider应用启动的时候自动到注册中心进行服务注册。
- 在Consumer应用进行URL服务调用的时候,通过微服务服务发现+负载均衡机制替代原先的服务直调。
•域名到应用名的转换。(上图中的第二点)
- 服务发现时,由于原先的调用采用URL直调,并不包含应用信息。这就需要一个调用关系到应用名的映射。对于这块内容,未来我们计划做成一个动态配置,存储到配置中心里。这样当有应用需要发起调用时,Sermant直接将URL转换成应用名,就可以在注册中心获取响应的应用IP列表。
- 通过URL获取Provider应用名后,由于在改造过程中,不用Provider应用并不是同批次发布携带Sermant JavaAgent,因此还需要有个白名单机制,来配合灰度发布。
•增强的客户端侧负载均衡、重试、隔离、降级机制。(上图中的第四点)
- 结合上一步,完整的商用方案,Consumer调用Provider除了需要满足基本的负载均衡功能以外,还需要更进一步进行重试、容错隔离、以及对下游的限流降级处理。
- 此外,对于一些必要的东西向流量的治理能力,如服务间的3A认证等,也需要进一步在Sermant端补齐。
以上便是Sermant改造方案的主要功能点。另外,在实操中如何针对现有环境进行升级还需要一定方法,避免对现有环境进行太大冲击。以下详细叙述。
采用Sermant对SOA/ESB架构升级的方案实操
应用改造在具体局点上不可能一蹴而就,因此在具体上实施上肯定是一个慢慢灰度的过程。以Kubernetes容器场景为例,介绍下在上百个微服务应用上千实例的情况下,如何采用Sermant对SOA/ESB基于灰度进行安全可控的云原生架构升级。
以下为准备工作:
•准备步骤一:自身应用是否支持。当前Sermant支持的微服务升级的Java框架可以在该文档中查询。如未支持,可以考虑给社区提Issue解决。
- 参考链接:https://sermant.io/zh/document/plugin/springboot-registry.html#%E8%AF%A6%E7%BB%86%E6%B2%BB%E7%90%86%E8%A7%84%E5%88%99
•准备步骤二:在Kubernetes中安装Injector,方便以非侵入方式让Java应用自动挂载Sermant JavaAgent.
- 本步骤可选。如跳过,则需要手动改变应用部署脚本加载sermant javaAgent。
- 参考链接:https://sermant.io/zh/document/user-guide/injector.html
以下介绍详细实施过程。假设初始架构如下。一共三个App,其中App1通过ELB连接到App2和App3。为简化表述,图中为应用均为单实例,实际生产中的实例可能会有多个。
接下来,在Kubernetes中对新版本的App1, App2进行发布(图中为V2版本),并在发布时携带Sermant Javaagent,以及激活SpringBoot注册插件。但是此时可以先不配置Provider白名单规则,因此发布后,应用流量应该还是走ELB,未发生任何变化。
接着在配置中心,将App2加入到白名单中。此时,对识别到App2的应用,挂有Sermant Javaagent的App1实例 (图中的V2实例) 会对App2的实例以负载均衡方式直接发起调用。与此同时,App1访问App3的流量没有变化。
验证成功后,删除App1、 App2的V1版本,App1到App2的流量通过注册中心的注册发现,完全实现直连。同时,App1访问App3的流量维持不变。
至此,使用Sermant对App1、App2的云原生架构升级结束。后续其他App应用,可以按照类似方案,进行灰度升级,直至所有应用全部挂载上Sermant,完成微服务直连改造。
结束语
Sermant作为专注于服务治理领域的字节码增强框架,致力于提供高性能、可扩展、易接入、功能丰富的服务治理体验,并会在每个版本中做好性能、功能、体验的看护。
当前Sermant已在Huawei Cloud Stack (HCS)中的ROMA Factory被集成,用户可以在华为云StackROMA Factory中使用相关功能。https://www.huaweicloud.com/zhishi/solution-ROMA-Factory-jiagou.html
开发者也可以加入到Sermant社区,参与相关功能的讨论和共建。
•Sermant官网:https://sermant.io
•GitHub仓库地址:https://github.com/huaweicloud/Sermant
点击关注,第一时间了解华为云新鲜技术~
关键词:
全球快报:更安全、更低耗的微服务架构改造之道
PDCA循环模型——如何用同样的时间做更多的事?【No.1 】
聚焦:山西焦化:公司2023年第一季度报告预约披露时间为2023年4月25日
世界关注:荣耀推“三叉戟” 赵明:笔记本过去30年没啥变化 需要跃迁
【全球新要闻】比理想L8 Air便宜3万多 魏牌蓝山四驱版值得买吗?一文看懂
240Hz高刷屏+RTX40显卡!微星星影15游戏图赏
【独家焦点】今年五一档“杀疯了” 至少16部影片扎堆上映:《长空之王》最受期待
黑白相机卖到71000元!徕卡M11 Monochrom正式发布
Espanso文本拓展软件使用体验
当前时讯:简单的了解下 Fetch API 的工作原理
详解 APISIX Lua 动态调试插件 inspect
四舍五入 - 逼疯全世界的开发者
全球热议:NTP网络校时服务器(北斗GPS校时器)在地铁内网系统中的应用
【新视野】半导体设备板块快速走高,金海通涨停
年内公募新基金发行突破2800亿元 债券型基金占比超六成
《Redfall》引发粉丝强烈不满
环球焦点!《名侦探柯南》新剧场版上映 柯哀亲了登顶热搜!新兰CP党表示要弃剧
上海车展全球首发 比亚迪B级纯电SUV官宣:命名“宋L”
焦点快看:女子团购住民宿 结果住到自己家的房子 网友:王思聪有这体验
【全球快播报】荣耀Magic5成旗舰标杆!赵明:从来没有友商敢挑战它的续航、屏幕
环球速看:中标 | 含塔筒3200-3438元/kW!海装、金风、电气风电预中标山东能源渤中海上风电项目
Spring Boot 接口加解密,新姿势来了!
全球微头条丨苹果iPhone 15 Pro机型再曝光:依然实体音量键 静音拨片改为Action按钮
苹果和安卓折腾了5年 愣是干不过微信小程序
抢先看!迪士尼更新真人版《小美人鱼》预告:黑小美人鱼海下展唯美瞬间
世界看热讯:标致408保价期内降价遭集体投诉 车主:4S店称地方补贴不算降价
【全球聚看点】现场办公面对面听意见解难题 西固区定制化服务助企纾困
天天微动态丨【读财报】消费主题基金年报透视:2022年净值普跌 全年共亏逾280亿
每日热门:清华、北大在校生五一淄博免费游”?官方回应:消息属实
快讯:巴奴“天价土豆”换名后重新上架:多地售价18元一份 北京上海22元
云南16岁女孩载21岁女孩无证驾驶摩托车身亡 生前网友曾劝危险
天天观热点:张朝阳建议年轻人多做饭、早上6点就起:外卖都是垃圾!王石唱反调
全球微头条丨问界M5系列华为高阶智驾版来了:不惧鬼探头 实现泊车“自由”
读SQL进阶教程笔记11_关系数据库基础
天天实时:从消博会透视中国消费活力
每日快播:美股财报季拉开前夕美银泼冷水:美企盈利将从“糟糕”走向“更糟”
【天天报资讯】沙特俄罗斯产油国联手减产 国际油价飙升:美国难受 补充战略石油储备
【世界新要闻】女性同事过生日送什么花
环球快讯:ASP.NET Core MVC 从入门到精通之路由
全国4亿人集体“吃土”?沙尘暴持续下该如何保命
当前动态:都江堰商业街现多只红嘴相思鸟尸体:专家判断系撞玻璃死亡
世界聚焦:菜花蛇、眼镜王蛇、王蛇:谁才真正的毒蛇之王?
【播资讯】国产科幻FPS《边境》Steam褒贬不一:UI稀烂 错误频出
天天速递!微星RTX 4070魔龙深度测试:老黄的刀法太精准了!
环球时讯:老两口搬家花4万,这么多年过去了,搜索引擎“搬家刺客”依然存在?
废弃矿井地下水中多环芳烃的降解与迁移机理
1811 E Living Sequence 两种解法
ChatGPT进化,人性消失,究竟是好是坏?
每日聚焦:第137篇:重学ES6模块化
天天热门:容器操作,应用部署,迁移与备份,Dockerfile
焦点快播:20亿的交易被华为反对 没任何可能合作 诺基亚坚持要卖鼎桥母公司股权
黄仁勋主持 台北电脑展NVIDIA发布会敲定!RTX 4060 Ti/4060要来了
焦点消息!《塞尔达传说:王国之泪》终极预告发布:短发公主绝美 盖侬真身登场
天天微资讯!仿真-定向耦合器
今日报丨java 处理常量字符串过长 & springboot 项目读取 resouces 文件夹下的文件内容
ORACLE还原恢复启动时数据库报ORA-00704, ORA-00604, ORA-00904
世界速读:linux环境下安装Docker
世界关注:百度松果菁英班--oj赛(第二次)
面试题百日百刷-kafka篇(三)
速讯:AMD发布RDNA3架构Radeon Pro W7000系列专业显卡:AI性能提升2.7倍、满血3999美元
天天播报:比“500万内最好的SUV”更好!魏牌蓝山上市:27.38万元起
当前聚焦:纯白机身美翻了!影驰RTX 4070星曜OC图赏
为什么今年沙尘暴突然这么严重?40多年植树造林白干了?
环球播报:79888元!大疆Inspire 3发布:全画幅8K电影无人机
葵花药业实控人杀妻案4年后:两女儿接班
【世界独家】大疆悟3曝光:吊着一台摄像机 支持8K 75fps视频录制
每年减少6吨补给 我国空间站氧气100%再生:已达世界领先水平
环球今日报丨强力透气 森马旗下棉致男士冰丝休闲裤34.5元
当前热点-夜莺监控V6初探
每日关注!双碳ETF: 招商基金管理有限公司关于旗下基金投资关联方承销证券的公告
热讯:苹果寻觅中国制造之外新选择:正推动将MacBook转到泰国组装
今日看点:安卓之光未发先火!超1000位米粉下单小米13 Ultra
巴菲特对苹果推崇至极!出1万美元买不走你的iPhone但能买走你的福特车
当前快报:新能源厂商销量榜 长城、五菱、小鹏汽车全部接近腰斩
环球焦点!飞腾CPU走出国门 非洲电厂将用上“中国芯”
每日关注!Java GC基础知识
天天微资讯!KMP(字符串匹配算法)
焦点快报!银行发现7位数存款5年未动急寻人:联系电话是空号
每日热文:RTX 4090与RTX 3080 Ti移动旗舰显卡大PK:没想到性能差距巨大
自动驾驶为啥这么难!技术问题?还是方向错了?
每日视点!T-1000未来或成真!《终结者》之父:AI太强可以造成世界末日
焦点消息!被狗抓破是否会得狂犬病上热搜:博主“科普”网友纷纷不认账
当前热门:三分钟完成静态网站托管
每日视讯:ChatGPT吃我饭,还要掀我碗
cookies、sessionStorage与localStorage在Vue中的使用
有关拦截器拦截指定的url并作出处理返回数据
环球热点评!皇马这批人如果拿到6个欧冠,历史地位也没变化?受害者只有C罗?
环球短讯!华为5G回来了?余承东体验AITO问界M5智驾版:重大更新引人遐想
疯狂白菜价 DDR5正式跌破百元 国产枭鲸8GB内存只要99.9元
全球观热点:表现持平GPT-4!知乎“知海图AI”投入内测
《终结者》之父卡梅隆:AI太厉害将能造成世界末日
环球速读:云南万人大型泼水现场互送祝福:欢度泼水节
全球即时:全栈混合云综合架构方案研究和落地
环球观热点:详解GaussDB(DWS)的query_band负载识别与应用
快看:零基础快速入门WebRTC:基本概念、关键技术、与WebSocket的区别等
【世界时快讯】Java集成工作流审批机制,多个项目实际运用优化版本(干货)
世界快播:Natasha入门(一)
环球观热点:恒生指数13日收涨0.13% 生物医药行业领涨
焦点报道:许昌市东城区:普法宣传进校园 精心护苗筑平安
【全球时快讯】NVIDIA最新调查:80%的RTX 40系显卡用户会启用光追和DLSS