应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

云原生的七种常见架构模式

  服务化架构模式
  服务化架构是云时代构建云原生应用的标准架构模式,要求以应用模块为颗粒度划分一个软件,以接口契约(例如IDL)定义彼此业务关系,以标准协议(http、gRPC等)确保彼此的互联互通,结合DDD(领域模型驱动)、TDD(测试驱动开发)、容器化部署提升每个接口的代码质量和迭代速度。服务化架构的典型模式是微服务和小服务(MiniService)模式,其中小服务可以看做是一组关系非常密切的服务的组合,这组服务会共享数据,小服务模式通常适用于非常大型的软件系统,避免接口的颗粒度太细而导致过多的调用损耗(特别是服务间调用和数据一致性处理)和治理复杂度。
  通过服务化架构,把代码模块关系和部署关系进行分离,每个接口可以部署不同数量的实例,单独扩缩容,从而使得整体的部署更经济。此外,由于在进程级实现了模块的分离,每个接口都可以单独升级,从而提升了整体的迭代效率。但是也需要注意到,服务拆分导致要维护的模块数增多,如果缺乏服务的自动化能力和治理能力,会让模块管理和组织技能不匹配,反而导致开发和运维效率的降低。Mesh化架构模式
  Mesh化架构是把中间件框架(比如RPC、缓存、异步消息等)从业务进程中分离,让中间件SDK与业务代码进一步解耦,从而使得中间件升级对业务进程没有影响,甚至迁移到另外一个平台的中间件也对业务透明。分离后在业务进程中只保留很薄的Client部分,Client通常很少变化,只负责与Mesh进程通讯,原来需要在SDK中处理的流量控制、安全等逻辑由Mesh进程完成。整个架构如下图所示。
  传统架构与Mesh化架构
  实施Mesh化架构后,大量分布式架构模式(熔断、限流、降级、重试、反压、隔仓)都由Mesh进程完成,即使在业务代码的制品中并没有使用这些三方软件包;同时获得更好的安全性(比如零信任架构能力)、按流量进行动态环境隔离、基于流量做冒烟回归测试等。Serverless模式
  和大部分计算模式不同,Serverless将部署这个动作从运维中收走,使开发者不用关心应用在哪里运行,更不用关心装什么OS、怎么配置网络、需要多少CPU从架构抽象上看,当业务流量到来业务事件发生时,云会启动或调度一个已启动的业务进程进行处理,处理完成后云自动会关闭调度业务进程,等待下一次触发,也就是把应用的整个运行时都委托给云。
  今天Serverless还没有达到任何类型的应用都适用的地步,因此架构决策者需要关心应用类型是否适
  合于Serverless运算。如果应用是有状态的,云在进行调度时可能导致上下文丢失,毕竟Serverless的调度不会帮助应用做状态同步;如果应用是长时间后台运行的密集型计算任务,会得不到太多
  Serverless的优势;如果应用涉及到频繁的外部IO(网络或者存储,以及服务间调用),也因为繁重的IO负担、时延大而不适合。Serverless非常适合于事件驱动的数据计算任务、计算时间短的请求响应应用、没有复杂相互调用的长周期任务。存储计算分离模式
  分布式环境中的CAP困难主要是针对有状态应用,因为无状态应用不存在C(一致性)这个维度,因此可以获得很好的A(可用性)和P(分区容错性),因而获得更好的弹性。在云环境中,推荐把各类暂态数据(如session)、结构化和非结构化持久数据都采用云服务来保存,从而实现存储计算分离。但仍然有一些状态如果保存到远端缓存,会造成交易性能的明显下降,比如交易会话数据太大、需要不断根据上下文重新获取等,则可以考虑通过采用EventLog快照(或CheckPoint)的方式,实现重启后快速增量恢复服务,减少不可用对业务的影响时长。分布式事务模式
  微服务模式提倡每个服务使用私有的数据源,而不是像单体这样共享数据源,但往往大颗粒度的业务需要访问多个微服务,必然带来分布式事务问题,否则数据就会出现不一致。架构师需要根据不同的场景选择合适的分布式事务模式。
  传统采用XA模式,虽然具备很强的一致性,但是性能差;
  基于消息的最终一致性(BASE)通常有很高的性能,但是通用性有限,且消息端只能成功而不能触发消息生产端的事务回滚;
  TCC模式完全由应用层来控制事务,事务隔离性可控,也可以做到比较高效;但是对业务的侵入性非常强,设计开发维护等成本很高;
  SAGA模式与TCC模式的优缺点类似但没有try这个阶段,而是每个正向事务都对应一个补偿事务,也是开发维护成本高;
  开源项目SEATA的AT模式非常高性能且无代码开发工作量,且可以自动执行回滚操作,同时也存在一些使用场景限制。可观测架构
  可观测架构包括Logging、Tracing、Metrics三个方面,其中Logging提供多个级别(verbosedebugwarningerrorfatal)的详细信息跟踪,由应用开发者主动提供;Tracing提供一个请求从前端到后端的完整调用链路跟踪,对于分布式场景尤其有用;Metrics则提供对系统量化的多维度度量。
  架构决策者需要选择合适的、支持可观测的开源框架(比如OpenTracing、OpenTelemetry),并规范上下文的可观测数据规范(例如方法名、用户信息、地理位置、请求参数等),规划这些可观测数据在哪些服务和技术组件中传播,利用日志和tracing信息中的spanidtraceid,确保进行分布式链路分析时有足够的信息进行快速关联分析。
  由于建立可观测性的主要目标是对服务SLO(ServiceLevelObjective)进行度量,从而优化SLA,因此架构设计上需要为各个组件定义清晰的SLO,包括并发度、耗时、可用时长、容量等。事件驱动架构
  事件驱动架构(EDA,EventDrivenArchitecture)本质上是一种应用组件间的集成架构模式,典型的事件驱动架构如下图:
  事件驱动架构
  事件和传统的消息不同,事件具有schema,所以可以校验event的有效性,同时EDA具备QoS保障机制,也能够对事件处理失败进行响应。事件驱动架构不仅用于(微)服务解耦,还可应用于下面的场景中:
  增强服务韧性:由于服务间是异步集成的,也就是下游的任何处理失败甚至宕机都不会被上游感知,自然也就不会对上游带来影响;
  CQRS(CommandQueryResponsibilitySegregation):把对服务状态有影响的命令用事件来发起,而对服务状态没有影响的查询才使用同步调用的API接口;结合EDA中的EventSourcing可以用于维护数据变更的一致性,当需要重新构建服务状态时,把EDA中的事件重新播放一遍即可;
  数据变化通知:在服务架构下,往往一个服务中的数据发生变化,另外的服务会感兴趣,比如用户订单完成后,积分服务、信用服务等都需要得到事件通知并更新用户积分和信用等级;
  构建开放式接口:在EDA下,事件的提供者并不用关心有哪些订阅者,不像服务调用的场景数据的产生者需要知道数据的消费者在哪里并调用它,因此保持了接口的开放性;
  事件流处理:应用于大量事件流(而非离散事件)的数据分析场景,典型应用是基于Kafka的日志处理;基于事件触发的响应:在IoT时代大量传感器产生的数据,不会像人机交互一样需要等待处理结果的返回,天然适合用EDA来构建数据处理应用。
  【来源:阿里云《云原生架构白皮书》】

开水冲鸡蛋滴香油,坚持喝,身体会咋样?消化科主任说出答案鸡蛋是大家十分熟悉的食材,家家户户基本都能看到鸡蛋的身影,不少上班族和学生更是将鸡蛋当作早餐必备之品。没时间制作早餐时就会直接蒸两个鸡蛋,鸡蛋中除了富含优质蛋白质之外,还……是底蕴不足,还是眼光过高?NBA至今3队无球衣退役,1队有望在过去的75年NBA历史中,球队从刚开始的只有几支,发展到如今的三十支,可以说是相当不容易了。而无论是曾经获得过,还是从未染指过总冠军的球队,他们能够在NBA驰骋如此长的岁月,……大事小事,想开了就不是个事人生来一趟不容易,如幻如梦,如云如雾一恍而过,来也匆匆,去也匆匆,且行且珍惜过好每一天。凡事想开点,看淡,释怀放下,别为难自己,委屈自己,人生一恍就老,想开了你就会快乐幸……带着父母去旅行今晚偶然翻出写于2015。3。15《印象笔记》中的一篇小作文:今晚回家的路上,因为是周末,一路畅通。电台URadio105。7里传出温情的声音,是一档关于旅行的谈话节目。……日本东京旅行购物之跳蚤市场东京的物价之高是全世界出名的。但是其实在这座高消费的现代化都市并不是那么的高高在上,遥不可及。它也有接地气的一面。比如说由中古文化催生的跳蚤市场,在跳蚤市场里,各类商品琳琅满目……西班牙尚未开发的液态黄金几个世纪以来,人们一直在利用松树提取树脂。但在西班牙的一个省,当地人相信这种古老的做法可以拯救农村城镇,同时也有助于地球。班牙西北部自治的卡斯蒂利亚莱昂地区从马德里向北延……专家预计SpaceX废弃火箭将于周五撞月球,NASA计划研究据报道,根据天文学家估计,SpaceX的一枚火箭助推器将在周五撞向月球。这枚火箭助推器于2015年2月发射,已经在太空中待了八年。虽然曾经也有一些太空垃圾碎片撞上月球,但……人美心善!千金录15秒视频,三八节用汉语送祝福,连转8圈太飒在北京冬奥会上,18岁的千金谢尔巴科娃也是展现了自己的能力,她力压特鲁索娃和瓦列耶娃等名将,拿到了自己的首枚奥运金牌,一时间也是收获了无数的粉丝,而她也是人美心善,在夺冠之后也……女子体操队长倒追奥运冠军8年,终修成正果,婚后生活十分幸福前言在中国的传统观念当中,两人相爱一般都是由男生主动开口选择追求女性,倘若女性对男生也有好感的话,最终会选择同意并且携手走在一起,这也就会导致了很多情况,倘若女生对一个男……本世纪五大联赛主帅胜场榜安胖居首,温格第二,弗爵爷仅第五本世纪以来,欧洲五大联赛涌现出了许多堪称伟大的主帅,他们中间谁带队取得的胜利最多呢?日前,著名的德国转会市场网站就排出了本世纪五大联赛主帅胜场榜,在这份10人的榜单中,前不久率……面向摄影师网络达人!寻找日照最美打卡地活动优惠措施出炉大众网海报新闻见习记者丁怡欣日照报道4月11日上午,日照市新闻办召开有一种生活叫日照主题系列发布会(第二场),介绍寻找日照最美打卡地活动有关情况并回答记者提问。据了……姚明的NBA生涯总薪资上海男篮的精明算盘姚明的NBA生涯总薪资上海男篮的精明算盘大姚对位大致姚明是中国男篮的旗帜球员,国人的骄傲。NBA历史首位外籍状元,今天我们聊聊他在NBA的生涯总薪资情况。97……
夏天吃肉有4宝,简单拌一拌,解腻解馋,快乐吃肉无负担夏天天气炎热,很多人都提倡中老年人要少吃油腻和荤腥。但是对于无肉不欢的人来说,不吃肉太过痛苦了。夏天吃肉太过油腻,加上天气炎热,容易导致肠道不爽等健康问题。想要在夏天开荤……科学家证实地球自转加快,创50年来最短日纪录,一天已不足24有句话叫地球离了谁都照样转,在一般人看来这就是真理。因为一天的长度一直都是24小时,不管发生什么事,地球自转速度看上去都雷打不动。然而事实可能与想象有出入,科学家通过观测发现了……世界羽联庆祝首个世界羽毛球日新华社北京7月5日电根据世界羽毛球联合会官网消息,今年的7月5日被定为首个世界羽毛球日。为此,世界羽联举行了形式多样的庆祝活动。3月初,世界羽联宣布:从2022年开始,每……王者荣耀明明实力很强,却无人问津!这三位坦克,到底怎么了?文丹青解说原创文章盗载必究距离S25赛季结束,还有一月不到的时间。最近突然心血来潮,天天啃着馒头就着咸菜,呕心沥血打了一个礼拜,终于上了荣耀王者。从前喜欢玩刺客,但……红米K50SK50SPro爆料骁龙8Gen1,预计8月发布据爆料,红米K50S和红米K50SPro正在开发中。几天前,红米总经理卢伟冰在微博上爆料了红米即将推出的旗舰手机,该手机将配备骁龙8Gen1芯片。看来传闻中的红米K50S系列最……中美洲野生动物的7个最佳景点想象一下,这片土地仅占地球表面的1,但占其生物多样性总量的8以上。想象一下,某个地方跨越了各种各样的生物群系,如波涛汹涌的海滩和潮湿的云雾森林。简而言之,这就是中美洲。在这里,……生命,以另一种方式延续图:王启鹏新兵时照片;图:王启鹏生前战友微信朋友圈截图。王启鹏走了,给妻子留下了一个难以弥补的遗憾热切期盼的全家福,再也等不到了夜深了,看着女儿甜甜入睡,查慧……数字队的致命弱点,再次暴露,里弗斯如果不改变,恐难有突破75人最怕的队伍是谁?是凯子和篮网,因为这两支球队是小球风格,外线猛,推进快。75人最不怕的队伍是谁?是雄鹿和骑士,因为这两支队伍习惯于阵地战,拼内线,整体慢。上赛……荷兰韩国相继宣布,苹果的苹果税黄了,网友那我们呢?一款软件想要抵达iPhone用户的手中,必须通过苹果官方的审核,同时签订了一个交税协议。这看似只是苹果和软件开发商,如何分蛋糕的问题,与用户没有直接的利益关系。但是羊毛只能出在……太真实了!当妈后的三个变化,哈哈哈笑着笑着就哭了孩子,是一个女人的转折点,他们的到来不仅给生活带来了前所未有的改变,也让一个小女孩变成一位强大的母亲。我们可以为了孩子磨平棱角,也可以为了孩子无所不能。无论是生活的……周琦迎好消息!曝3支球队都有意大魔王,CBA辽宁男篮根本排不经过这一段时间的各球队对决,本年度的CBA常规赛即将结束,球迷们也可以发现最近的在这几场比赛中,CBA联赛竟然已经有了季后赛的紧张感。周琦虽然没有在CBA打球,但是也在这段时间……大屏手机,现在好像没几个人会提这个词了大屏手机,现在好像没几个人会提这个词了。因为全面屏到来之后,屏幕尺寸貌似一夜之间来到6字头,大屏早就没什么好稀奇的了。但早些年,大屏手机可是很吃香滴。很多品牌……
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网