范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

微服务世纪难题如何拆分单体?

  微服务架构设计中,如何拆分单体是一件非常重要且令架构师十分头疼的问题。在这篇文章中,会展现一些关于如何准备和执行单体应用程序拆分的思路和步骤说明。 概述
  单体拆分必须追求的一些目标:不仅仅是拆分,而是通过拆分获得一些收益。 如果考虑到拆分的成本和效果,可能其他一些方法(例如应用程序扩展或数据库硬件更新)可能更可取。
  要实现的另一个好处的例子可能只是应用程序现代化。 然而这里是一个或多或少正式的单体拆分方式,它试图考虑拆分的原因和目标。 当然这不是教条,你可以找到几种拆分的方法。 此迁移路线图旨在将单体应用程序迁移到微服务以此获得微服务的优势,而不会(或极小)造成应用程序不可用。 明确基准线
  由于应用程序支持性,单体应用程序可能看起来非常混乱,但这是意料之中的。 最好的情况是,期待一个带有大量调整的大型耦合分层应用程序。 无论如何,第一步是你需要收集有关当前应用程序的所有信息:需求、用例、ASR、组件、部署图等。 理解应用程序(整体)
  在大多数情况下,应用程序缺少文档,这些文档可能描述了基准线,那么你至少需要收集以下信息: 应用程序的功能模块、它们之间的关系和外部环境; API和服务接口描述; 带有模块描述的组件图就足够了。这是因为在大多数情况下,拆分将按照功能或换句话说应用程序功能执行; 部署图,显示物理硬件以及系统和软件配置。这是因为一些NRF可能会受到部署的影响(例如,故障隔离的可扩展性)。 理解数据
  为什么数据图表和潜在数据映射很重要? 在大多数情况下,微服务将与底层数据和数据库一起抽取。杂乱无章的数据可能会影响此类 NRF 的性能。 在任何情况下,它都有助于发现潜在的问题,例如数据缺乏或过多、数据混乱以及使用某些微服务进行数据抽取的边界。 理解上下文
  在某些情况下,需要抽取的功能可能已经作为单独的外部服务存在了。不需要抽取一些业务能力,只需要复用一些已经存在的外部服务。像 TTM 这样的微服务优势可以用更少的努力来实现。 理解用户
  这虽然与上下文重叠,但显示了用户/外部系统是如何使用应用程序的,以便了解使用什么功能以及如何使用,也许应用程序的某些部分已过时且未使用。
  其余关于应用程序的信息将用于做出决策并显示拆分的必要性,如何拆分以及抽取什么。 为什么要拆分单体?
  可能很难回答为什么我们需要将单体应用拆分为微服务,答案可以更加面向业务或更加面向技术。在大多数情况下,企业是看不到将单体架构重构或拆分为微服务的任何好处。 业务驱动
  乍一看,可以找到以下先决条件,但列表可能会扩大。 无论如何,业务驱动都是与增加收入和减少损失有关的,因此新的项目都只会从这两个问题中衍生出来。 缩短上市时间 降低 TCO:仅扩展必要的部分 减少损失:弹性、高可用性和容错解决方案、测试覆盖率 提供更好的用户体验
  此外,一些奇怪的却动力可能默默地出现,但不会展现出来:它很主流并且也拆散了整体。 技术驱动
  技术驱动只是扩展了业务驱动的列表,可能如下所示: 摆脱过时的技术并顺利迁移到现代/受支持的技术 降低复杂性 提高可支持性 提高测试覆盖率 可重用性 透明且可预测的变化 团队重用 微服务的优势
  下面提供了微服务的好处以及它们如何满足业务和技术需求。 当然,表格可以通过几个额外的微服务好处进行扩展,但它们大多是派生出来的,并与表格内容重叠。
  记住优势的同时,也请不要忘记缺点。
  拆分步骤1、准备
  以下是或多或少拆分单体应用的正式步骤。这些步骤可能会根据业务需求、单体状态、CI/CD 程序等进行调整。
  在建立基线时早期获得的模块/服务列表应围绕业务能力进行组织,并且可能更深一层。例如欺诈检测系统和促销服务可能需要地址。
  可以在拆分过程的中间实现期望的目标。从业务的角度来看,这可能是件好事,但从技术的角度来看,继续使用包含多个抽取服务的单体应用程序就很糟糕。 2、重构优先
  需要拆分的应用程序几乎不可能具备良好的形态。因此可能会在单体应用中执行几轮服务重构,一些服务可能正在重构中,而另一个正在抽取中。 3、典型的分层应用
  这是服务抽取的起点,此时应用程序的主要层,如控制器、应用程序服务、DAO 等,是可观察和可理解的。
  4、服务/功能边界和 API
  DDD 可能有助于定义服务边界,但我们需要从现有应用程序中提取业务功能,而不是对业务模型进行建模。只需开始将业务功能映射到现有的应用程序服务和域模型中以识别服务边界即可。
  在分层应用程序中,控制器可以描述要提取的 API。API 可能会被调整/扩展,但这里的重点是整个应用程序必须与服务一起工作,并且更改最少。更改与我们需要使用抽取功能(代理和外观)的原因和方式有关。
  5、创建服务facade
  当定义服务边界时需要改变与功能交互的方式,而不是处理一组代表业务功能的应用程序服务,我们需要在单体应用程序中创建一个外观并通过facade工作。
  换句话说,我们需要在提取服务之前获得一个松散耦合的单体。 6、重构数据
  使用数据库抽取一项服务可能会影响单体应用的多个不同服务。所以只能通过 API 访问服务数据,而不是通过数据库。因此,由于直接访问了数据,即使是一个服务的提取,也可能需要大量工作。 7、停止将新功能写入单体应用程序
  拆分到微服务和向解决方案中添加新功能着两个活动并行执行,这是一种常见的情况,因此从一开始就将新功能创建为单独的微服务是有意义的。 8、拆分
  大多数情况下,所有准备步骤都应在实际拆分之前完成。应用程序应呈现为松散耦合的单体,具有细粒度的服务、良好描述的 API 和边界以及每个服务的隔离数据(避免跨数据库共享数据)。 9、优先提取服务
  更正确的做法是不进行服务抽取,而是进行业务特征抽取。尝试按业务能力/领域对现有应用进行重组/重构/分组,每个应用可能包含多个应用服务。
  潜在的优先标准: 最常更改的服务:最小化对部署的影响。 可能被第三方服务取代的服务:只是为了让代码库更轻量级。 需要扩展的服务:优化性能。 与整个单体耦合:使代码库更轻巧且更易于理解。 服务的复杂性:收集经验、建立CI/CD流程、沟通方式等。
  清单可能会不同, 可能添加诸如将底层数据库模型从关系数据库模型更改为 NoSQL、技术更改(编程语言)、团队利用率等标准。
  结果,可以选择至少一项服务进行提取。 10、选择微服务之间的通信方式
  这不是一个非常复杂的步骤。但是我们不仅需要选择协议和序列化类型,还需要考虑云提供商的限制(即广播支持)。在大多数情况下,REST 或 gRPC 是请求-响应同步通信的首选方式。这是由于相对简单、团队经验、不同工具的支持等原因。很难想象新的或抽取的微服务使用干净的 TCP。
  基于消息的通信方式由于异步性、单向(当然可以使用"reply to"机制,但会导致服务耦合)等原因,不能被视为请求-响应的替代方案。异步适用于事件源(即发即弃),也适用于消费者构建自己的世界图景。一个例子是关于成功付款的通知将反映在订单履行系统中以组装交付和财务系统,可以使用 SQS、Kafka 或其他一些消息传递服务。 11、实施服务
  使用选定的通信方法、拥有的数据库等实现微服务。创建一个用于测试目的的服务模拟来测试单体和其他相关微服务是有意义的。 12、创建服务代理
  创建具有额外责任的服务代理。在单体应用中使用服务或使用抽取服务,暗示代理可用于与删除/抽取的微服务进行通信。
  该代理将允许在单体应用中的现有服务实现和抽取的服务之间轻松切换。可以使用canary发布方法。
  13、切换到微服务
  经过测试,在生产环境中进行测试的canary发布仅对微服务使用和从旧代码中清理单体应用有意义。
  检查是否达到了初始目标,并决定停止或继续拆分过程。在继续的情况下,你需要选择下一个特征并执行提取。 译者介绍
  朱钢,51CTO社区编辑,2019年CSDN博客专家20强,2020年腾讯云+社区优秀作者,10年一线开发经验,曾参与猎头服务网站架构设计,企业智能客服以及大型电子政务系统开发,主导某大型央企内部防泄密和电子文档安全监控系统的建设,目前在BIM头部企业从事招投标软件开发。
  原文标题:   Split the Monolith: What, When, How   ,作者:Igor Azarny
  来源:51CTO技术栈
  译者:朱钢

国乒教练组空档,孔令辉回归成男队主教练,国乒能救回来么?近日有网友爆料,前国家队女队的主教练孔令辉要回归国乒,并担任男队的主教练。这个新闻是否属实呢?他的回归能让现在的男队起死回生么?大家知道最近国乒男队的各大赛事成绩,真的可以用败绩累纳什的帅位为什么这么稳?在上周日杜兰特和球队大佬蔡崇信进行了会面,杜兰特非常明确的表达了自己留队的条件,解雇纳什和球队总经理马克斯,之后蔡崇信公开表态支持马克斯和纳什,也就意味着杜兰特的要求不会被满足。关赵睿正式回应离开广东队相信很多球迷都被近日赵睿的离队消息搞得一头雾水。广东队目前有没有交易赵睿,终于有答案了,在今天中午,赵睿在直播中回答了有没有离开广东队相关的问题,下面笔者为大家整理一下。1。赵睿为勇士今年夺冠没含金量?战胜自己比战胜对手更难凤凰涅槃更励志大家好,我是183蒙面男子。最近一次直播的时候,我被问到一个问题,就是勇士队今年夺冠过程中对手不强,所以他们夺冠的含金量不高,今天咱们就来聊下这个问题。对于这个说法,我十分同意前半NBA大结局了?KD将加入76人,再次联手哈登根据报道,杜兰特在再次申请交易之后,表示了想要加入的球队分别是凯尔特人和76人。在第一次申请交易的时候,他选择的球队是太阳和热火,但是这两支球队几乎是没有什么筹码的,所以没有进展。又胖了?姚明为中国女篮送行体重突破400斤12岁女儿身高令人欣喜不久前中国男篮在亚洲杯的赛场上表现并不是很理想,也没有完成获得奖牌的目标,因此很多球迷也是有些失落,当然这样的成绩绝不是中国男篮的真实水平,毕竟因为种种原因当时中国男篮的阵容并不完巴萨欧超夺冠次数被皇马追平,欧洲赛场仅一项赛事还有优势8月11日凌晨皇马2比0战胜法兰克福,夺得2022年欧洲超级杯冠军,这也是球队第5次夺得该赛事冠军,与此同时夺冠次数也追平了死敌巴萨,如果巴萨在这项赛事还有点优势的话,他们仅比皇马发福认不出拒演妈坐拥上亿豪宅,这6位琼瑶女郎各有各的辛酸文2号探秘人编辑2号探秘人上个世纪八十九十年代,琼瑶阿姨是绝对的明星制造者,只要被她选中的女主角个个大红大紫。她们或不食人间烟火或美艳不可方物,哭起来眼泪犹如断了线的珍珠划过脸庞,泪目!西班牙球迷致敬武磊永远不会忘记你,伟大的职业球员北京时间8月11日,中国男足头号球星武磊正式结束了留洋生涯,从西班牙人回归自己的母队上海海港。对于武磊的回归,不仅西班牙人和上海海港两家俱乐部都给予了最大程度的祝福,西班牙的球迷也盘点各位置最令人兴奋的年轻球员三球ampampamp马克西ampampamp华子ampampamp锡安ampampamp申京(原文发表于8月4日,作者是露天看台网站的ZachBuckley,文章内容不代表译者观点)NBA是一个围绕球星发展的联盟,不光是那些处在轨道上的球星,后起之秀一样可以像那些球星一样火箭队球员们自愿参加了训练,塞拉斯说这在休赛期很罕见休斯顿火箭队仍然是NBA最年轻的球队之一,除了交易克里斯蒂安伍德及在选秀中增加三名首轮新秀之外,他们的阵容与上赛季以联盟最差战绩结束的球队相比没有显著变化。这位经验丰富的教练对他在
亚洲规模最大玩具展成都开幕超50万个产品亮相,知名品牌齐聚展现五大趋势11月1日,由中国玩具和婴童用品协会(简称中国玩协)主办的第二十届CTE中国玩具展CLE中国授权展CKE中国婴童用品展CPE中国幼教展(简称中国玩协四展)在成都市中国西部国际博览城9种革命性的人工智能在交通运输中的应用在过去的几百年里,交通运输业经历了多次变革和革命我们现在正处于交通运输人工智能形式取得重大突破的阶段。无论是通过提高可靠性的自动驾驶汽车提高安全性的路况监测,还是提高效率的交通流量小米12SUltra双十一直降600,小米与徕卡经典之作,也有性价比小米从成立至今,同样有不少经典机型,如小米2S小米6等,都是小米钉子户机型,如今还有部分用户使用小米6,地位不输iPhone6S,都是一代经典。如今小米在高端旗舰手机市场也有所建树憨憨脸洞藏玄机,2022款东风小虎FEV卖给谁?从油价持续上涨,再到疫情的反复,选择一款市区代步的新能源小电车,提上了更多家庭的日程。因为只考虑短途代步,续航里程不作为选车的首要因素,而车辆的实用性则更为重要。首先尺寸不能太大,涨停利好先知5G工业互联网大会将于11月举行大势研判10月最后一日,市场一边像夏天,一边像冬天,股民就像个5点被尿憋醒的人一样,尿还是不尿?这是一个问题。都说世界上有另一个我,做着我不敢做的事,我还真羡慕他,天没亮就尿床,不微信的这个功能,警惕!已有多人中招微信亲属卡功能你用过吗?诈骗分子盯上了这个微信功能已经有不少人中招!什么是微信亲属卡?顾名思义微信用户可以向指定亲属好友开通服务让对方获得使用自身支付账户的权限通俗来说就是可以帮助Golang58个坑高级篇525852。使用指针作为方法的receiver53。更新map字段的值54。nilinterface和nilinterface值55。堆栈变量56。GOMAXPROCSConcurren工信部前三季度互联网业务收入降幅趋缓研发经费规模加快增长据工信部网站获悉,前三季度,互联网业务收入降幅趋缓,利润总额降幅收窄,研发经费规模加快增长。互联网业务收入降幅趋缓。前三季度,我国规模以上互联网和相关服务企业1(以下简称互联网企业一个深圳程序员决定逃离大厂32岁,靠独自敲代码养娃供房离开互联网公司后,Larry仍然以敲代码为生。这是一个热爱技术的程序员,在大厂内卷35岁危机之外,另一种更接近理想的可能性。他的经历,也印证了那句话走出一条自己的路,是抵抗内卷的最郑州富士康乱了,员工大迁徙!iphone怎么办?郑州富士康大迁徙事件,到底发生了什么?百里徒步回家,郑州富士康到底发生了什么?郑州富士康事件,对iPhone产能将受影响?富士康在打工女子徒步60公里回尉氏县老家。我注意到这两天,440亿收购推特后,马斯克瞄准微信在法院给定的收购期限前一天,马斯克还是把推特买了下来,代价是440亿美元,堪称史上第一人。推特高层一方面不想真的让马斯克来接管这家公司,另一方面也实在气不过马斯克开始声称要占有,中光雾山再次登上中国国家地理推荐页面!每一帧都是大片中国国家地理锦织万顷染千山,秋雾缥缈结长空。这几天的光雾山有多美?看看下方视频和图集,你便知道了光雾山的红叶迎来最佳观赏期,漫山遍野的枝叶褪去青绿,山峦沟壑之间,棕红褐红鹅黄橘红金博格巴彻底无缘世界杯!法国队在卡塔尔能走多远夏窗期间,博格巴因为与曼联产生不愉快,最终以自由身加盟尤文图斯,本以为博格巴可以成为尤文图斯重新称霸意甲的秘密武器,却没想到博格巴在赛季开始之前就遭遇非常严重的半月板损伤,并且在9欧冠杯曼彻斯特城VS塞维利亚,哈兰德是否会手下留情呢?曼彻斯特城曼城之所以能够在英超联赛中斩获冠军多年,主靠的就是球队稳定的攻防体系,换句话说就是核心人员一直较为稳定,没有太大的变动,不过本赛季曼城的变化不小,球队送走了斯特林热苏斯等2022年卡塔尔世界杯,不要轻视日本队的实力头条创作挑战赛就在今天,日本足协召开新闻发布会,公布了参加世界杯的26人名单,成了早于国际足联要求提前13天的首支公布26人大名单的球队。相较于上届世界杯,他们的名单更新了不少新面十年东京华人老炮科普日本生活六大潜规则随着日本10月11号全面解除限制,正式开放后,越来越多的朋友登陆日本。留学,工作,生活,创业,不可避免的和日本人开始打交道。这种打交道不再是当年游客式的交集,游客身份时,你大多时候11。1赛事欧冠小组赛大结局上半场001勒沃库森布鲁日布鲁日争取小组第一的意义不是很大,虽然小组第一作为种子队抽签,以免碰到强队,可布鲁日能够进入淘汰赛就很满足了,而且对于布鲁日来说欧冠淘汰赛一切对手都是强队,小组坐飞机一次,花30块钱买一张人身意外险,保险公司能挣多少钱?什么是风险管理?风险的最基本公式是风险风险成本风险概率为了能够管理风险,需要对风险的成本进行衡量,例如飞机失事导致人员死亡,这就是一件风险成本很高的事情,对于个人来说,是难以承受的杜锋被骂上热搜,辽篮多名成员主动退出,姚明深夜揭露真相随着CBA体制的愈发成熟,很多海外球员奔赴而来,这也直接让CBA名声大噪,虽然这是一件值得高兴的事情,但是也间接带来了不利因素,例如本土球员上场时间较少,自然也就很难成长起来,所以性教育缺失的那些年发生了什么?作者时青言01hr你是从什么时候开始发现触摸生zhiQ官会有杏愉悦感的?你zi慰过么?几岁开始的?zi慰后会觉着自己做的事情很羞耻么?我在五岁的时候出于偶然第一次获得了朦胧的杏愉悦美国经济并未远离衰退风险出口拉动,特别是欧洲掏腰包大量进口能源和军品等给美国救了急,美国经济在三季度实现回升。但是,消费房地产市场制造业服务业等指标仍在走弱,美国经济并未远离衰退风险。当地时间10月27日广汇集团被立案调查,新疆首富孙广信的资本版图有多大?雷达财经鸿途出品文李亦辉编深海新疆首富孙广信的广汇集团,突遭黑天鹅。11月1日早间,广汇能源广汇汽车广汇物流均公告称,控股股东新疆广汇实业投资(集团)有限责任公司(下称广汇集团)收