专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

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

  服务化架构模式
  服务化架构是云时代构建云原生应用的标准架构模式,要求以应用模块为颗粒度划分一个软件,以接口契约(例如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来构建数据处理应用。
  【来源:阿里云《云原生架构白皮书》】

上海走川藏线到拉萨需要几天?怎样规划好路线呢?我是3年前带着一家三口从广州出发,自驾去的西藏,经过成都,走318川藏南线进藏到拉萨,再走109青藏线出到青海,经青海湖西安返程的,对于题主的问题,谈一下我的建议。进入川藏线之前的澳大利亚有什么美景?澳大利亚地处南半球,季节与我国相反,我们现在是炎炎夏日,他们那里正是冬天,不过悉尼的冬天也不冷,树不落叶,水不结冰。我们这里,正午太阳在南,他们那里,正午太阳在正北,正好相反。澳洲为什么滴滴打车可以给没有网约车资格的车派单?因为滴滴公司只管抽成就行!管你司机和乘客死活!只要你能在滴滴app上注册,就给你派单。你接单人家就可以抽成!至于车和司机合不合格,有没有资格,会不会罚款,那都是你们自己的事情!如果绝大多数人工作后英语都没用过,英语作为我国教学的主科有必要吗?我买菜的时候没用到过三角函数,砍价的时候没用到过之乎者也,炒菜的时候没考虑过盐溶解和温度的关系,擦地的时候没考虑过力学和速度,拉屎的时候没思考过粪便里细菌和肠道内环境的关系,周六日各位亲爱的高二,高三学姐,初三毕业后升高一有补习的必要吗?我是新高二学生家长,谈谈我自己的看法。如果愿意去补习,那是最好不过了,如果不想去补习,必须在家预习,要认认真真的预习。我孩子初三毕业时,他们数学老师嘱咐我孩子一定要上预科班。所以我女大学生研究生毕业,需要读博吗?生怕因学业成剩女,如何衡量?这个问题问得好,这也是许多女硕士研究生的疑问,她们有着跟你相同的顾虑,根据我的经验,给你如下建议一硕士毕业是否读博要根据自身的情况综合考虑。现在我国高等教育正在由大众化向普及化教育优质早餐是一天血糖稳定的基石,糖尿病早餐如何科学搭配?营养师小糖来为大家解答。首先,糖尿病人一定要吃早餐,切不可因为血糖高就不吃早餐。因为不吃早餐很容易造成低血糖,还会让你在下两餐进食更多的热量,形成两个较高的血糖高峰,造成较大的血糖晚上睡觉前喝纯牛奶会不会长胖?关于牛奶提供的那一点热量我觉得也不用太纠结,或许在睡前摄入的这些额外热量导致了一些脂肪的堆积,但它们很可能在第二天就被消耗了,或者在一些食物摄入量不足提供热量不够的时间里被利用掉,早晨起床空腹喝一杯绿茶怎么样?不知道你们有没有了解过早上起来为什么要喝水?是因为大多数人在夜里不进食也不喝水,经过一夜的蒸发和排尿,排汗,身体中的水分含量会下降,血液会浓缩,皮肤嘴唇口腔咽喉容易变干,特别在气候职场中有哪些好用的效率工具?一方面我是软件爱好者,另一方面我的工作非常繁忙,需要高效的完成工作,因此我推荐的软件对于提升效率来说具有一定的参考意义。01番茄钟软件FlatTomato想要提高效率,必须掌握番茄如何减轻早孕反应?孕早期该如何应对?我在医院上班,有很多保胎的,她们有的是20多岁,30多岁,40岁的也有但是少,有的是知道怀孕来做彩超看看胎儿,还有就是知道自己怀孕了但是见红了。我们科室老大她会做彩超也会开药也会动
父亲已故三十一年我父亲(1919年1992)三十一年前的今天,离开了我们。我父亲出生在重庆上游,宜宾下游之间的一个长江边小镇上。由于祖父染上鸦片毒瘾,离世时父亲只有十几岁,下面有三个弟弟和一个一岁历史上公认最强盛的王朝之一唐朝历史开讲提起唐朝,很多人都会觉得这应该是历史上公认最强盛的王朝之一,毕竟他的强大不仅仅体现在军事领域,唐朝,是继隋朝之后的大一统王朝,共历二十一帝,享国二百八十九年,是公认的中国最古巴裔45岁司机,大巴里的爱情,美国旅行见闻(11)头条创作挑战赛一,初见老乌2010年,几乎每个月都带团去美国旅游,在纽约华盛顿尼亚加拉大瀑布,总是遇到同一个司机,名字叫乌普曼,我们习惯叫他老乌。老乌个子不高,短小精悍,光头,一见美军1000多人自杀,美国高官却让中国负责,这是什么逻辑?为了您更好的互动体验,及时看到更多内容,点个关注,我们每天为您更新精彩故事分享不一样的历史瞬间!美军每年1000多人自杀,美国高官却说这都怪中国。这不就是,欲加之罪何患无辞吗?这要美国经贸专家中国经济预计将实现强劲增长全国两会获得国际社会高度关注,今年的预期发展目标更是引发热议。美国中美研究中心高级研究员苏拉布古普塔近日在接受中国日报采访时表示,今年中国经济有望实现强劲增长。中国经济发展形势向好美国媒体中国对台湾动用武力,必将受到严惩!近日一些美国媒体,政客又开始上蹿下跳,公然支持台独分子,美国一次次公然支持台湾。在台湾问题上,美国一直以嚣张的姿态面对我国,妄图干涉我国内政,把台海问题的矛盾不断的激化。他们的目的猎天使魔女起源试玩版现已上线任天堂SwitchIT之家3月9日消息,猎天使魔女衍生游戏猎天使魔女起源瑟雷莎与迷失的恶魔将于2023年3月17日在任天堂Switch平台独家发售,现已上架eShop并开始提供试玩版,支持中文,玩家美国芯片法案惊天大阴谋全球半导体产业面临生死存亡美国芯片与科学法案是一项旨在支持美国半导体产业和其他科技领域的法案,其总支出为2800亿美元,其中527亿美元专门用于半导体产业。该法案是在中美贸易摩擦和全球芯片短缺的背景下提出的没必要为美国的超导材料而恐慌昨天开始,美国传出了一个新闻在国内网络上引起了巨大的讨论,说是一个叫迪亚斯的物理学家说他已经研究出了一种室温下(约21度)的超导材料。之所以引起讨论是因为以前研究出来的超导材料都需(经济)美前财长美国经济或将在几个月内遭遇困难新华社纽约3月6日电(记者刘亚南胡含嫣)美国前财政部长哈佛大学教授劳伦斯萨默斯6日警告说,尽管美国经济仍可能快速增长,但其突然陷入衰退的风险依然存在,或将在几个月内遭遇困难。萨默斯零售数字化之路人人都是产品经理举办的2022年产品经理大会直播专场完美落幕,前叮咚买菜产品线负责人畅销书作者三爷就零售数字化带来了精彩的内容分享,阐述了他对零售行业的思考。他分享的主题是零售数字
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网