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

什么是微服务

  微服务架构是一种方法,其中单个应用程序由许多松散耦合且可独立部署的较小服务组成。
  什么是微服务?
  微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。
  这些服务通常  拥有自己的技术栈,包括数据库和数据管理模型;   通过REST API、事件流和消息代理的组合相互通信;   是按业务能力组织的,线分隔服务通常称为有界上下文。
  虽然关于微服务的大部分讨论都围绕架构定义和特征展开,但它们的价值可以通过相当简单的业务和组织优势来更普遍地理解:  可以更轻松地更新代码 - 无需触及整个应用程序即可添加新特性或功能   团队可以为不同的组件使用不同的堆栈和不同的编程语言。   组件可以相互独立地扩展,从而减少与扩展整个应用程序相关的浪费和成本,因为单个功能可能面临过多的负载。
  微服务也可以通过它们 不是 什么来理解。
  与微服务架构最常进行的两个比较是单体架构和面向服务的架构 (SOA)。
  微服务和单体架构之间的区别在于,微服务由许多较小的、松散耦合的服务组成一个应用程序,而不是大型、紧密耦合的应用程序的单体方法
  微服务和 SOA 之间的区别可能不太清楚。
  虽然可以在微服务和 SOA 之间进行技术对比,尤其是围绕 企业服务总线 (ESB)的角色,但更容易将差异视为 范围之一 。
  SOA 是企业范围内的一项努力,旨在标准化 组织中 所有 Web 服务相互通信和集成的方式,而微服务架构是特定于应用程序的。
  微服务如何使组织受益
  微服务可能至少与开发人员一样受高管和项目负责人的欢迎。
  这是微服务更不寻常的特征之一,因为架构热情通常是为软件开发团队保留的。
  原因是微服务更好地反映了许多业务领导者希望构建和运行他们的团队和开发流程的方式。
  换句话说,微服务是一种架构模型,可以更好地促进所需的操作模型。
  在IBM 最近对 1,200 多名开发人员和 IT 主管进行的一项调查中,87% 的微服务用户同意微服务的采用是值得的。
  可独立部署
  也许微服务最重要的一个特点是,由于服务更小并且可以独立部署,它不再需要国会的法案来更改一行代码或在应用程序中添加新功能。
  微服务向组织承诺提供一种解毒剂,以解决与需要大量时间的小改动相关的内心挫败感。
  它不需要博士学位。
  在计算机科学中看到或理解一种更好地促进速度和敏捷性的方法的价值。
  但速度并不是以这种方式设计服务的唯一价值。
  一种常见的新兴组织模型是围绕业务问题、服务或产品将跨职能团队聚集在一起。
  微服务模型完全符合这一趋势,因为它使组织能够围绕一个服务或一组服务创建小型、跨职能的团队,并让他们以敏捷的方式运行。
  微服务的松散耦合还为应用程序建立了一定程度的故障隔离和更好的弹性。
  服务的小规模,加上清晰的边界和沟通模式,使新团队成员更容易理解代码库并快速为其做出贡献——在速度和员工士气方面都有明显的好处。
  适合工作的工具
  在传统的 n 层架构模式中,应用程序通常共享一个公共堆栈,其中一个大型关系数据库支持整个应用程序。
  这种方法有几个明显的缺点——其中最重要的是应用程序的每个组件都必须共享一个公共堆栈、数据模型和数据库,即使对于某些元素的工作有一个清晰、更好的工具。
  它造成了糟糕的架构,并且对于那些不断意识到构建这些组件的更好、更有效的方法是可用的开发人员来说是令人沮丧的。
  相比之下,在微服务模型中,组件是独立部署的,并通过 REST、事件流和消息代理的某种组合进行通信——因此每个单独服务的堆栈都可以针对该服务进行优化。
  技术一直在变化,由多个较小的服务组成的应用程序更容易和更便宜地随着更理想的技术发展而变得可用。
  精确缩放
  使用微服务,可以单独部署单个服务,但也可以单独扩展它们。由此产生的好处是显而易见的:如果做得正确,微服务比单体应用程序需要更少的基础设施,因为它们只支持对需要它的组件进行精确扩展,而不是在单体应用程序的情况下对整个应用程序进行扩展。
  也有挑战
  微服务的显着优势伴随着重大挑战。
  从单体架构到微服务意味着更多的管理复杂性——更多的服务,由更多的团队创建,部署在更多的地方。
  一项服务中的问题可能会导致或由其他服务中的问题引起。
  日志数据(用于监控和解决问题)更加庞大,并且在服务之间可能不一致。
  新版本可能会导致向后兼容性问题。
  应用程序涉及更多的网络连接,这意味着出现延迟和连接问题的机会更多。
  DevOps 方法可以解决其中的许多问题,但 DevOps 的采用也有其自身的挑战。
  然而,这些挑战并没有阻止非采用者采用微服务——或者采用者深化他们的微服务承诺。
  新的 IBM 调查数据 显示,56% 的当前非用户可能或非常可能在未来两年内采用微服务,78% 的当前微服务用户可能会增加他们在微服务上投入的时间、金钱和精力
  微服务既支持也需要 DevOps
  微服务架构通常被描述为针对 DevOps 和持续集成/持续交付 (CI/CD) 进行了优化,在可以频繁部署的小型服务的上下文中,原因很容易理解。
  但另一种看待微服务和 DevOps 之间关系的方式是,微服务架构实际上 需要 DevOps 才能成功。
  虽然单体应用程序具有本文前面讨论过的一系列缺点,但它们的好处是它不是一个具有多个移动部件和独立技术堆栈的复杂分布式系统。
  相比之下,鉴于微服务带来的复杂性、移动部件和依赖项的大量增加,在部署、监控和生命周期自动化方面没有大量投资的情况下使用微服务是不明智的。
  关键使能技术和工具
  虽然几乎任何现代工具或语言都可以在微服务架构中使用,但有一些核心工具已成为微服务必不可少的边界定义:  容器、Docker 和 Kubernetes
  微服务的关键要素之一是它通常非常小。
  (没有任意数量的代码可以确定某物是否是微服务,但名称中的"微"就在那里。)
  当Docker在 2013 年迎来现代容器时代时,它还引入了与微服务最密切相关的计算模型。
  由于单个容器没有自己的操作系统的开销,它们比传统的虚拟机更小更轻,并且可以更快地启动和关闭,使其成为微服务架构中更小、更轻的服务的完美匹配.
  随着服务和容器的激增,编排和管理大量容器很快成为关键挑战之一。
  Kubernetes是一个开源容器编排平台,已成为最受欢迎的编排解决方案之一,因为它做得非常好。
  API 网关
  微服务通常通过 API 进行通信,尤其是在首次建立状态时。
  虽然客户端和服务确实可以直接相互通信,但 API 网关通常是一个有用的中间层,尤其是当应用程序中的服务数量随着时间的推移而增长时。
  API 网关通过路由请求、跨多个服务扇出请求以及提供额外的安全性和身份验证来充当客户端的反向代理。
  有多种技术可用于实现 API 网关,包括 API 管理平台,但如果使用容器和 Kubernetes 实现微服务架构,则网关通常使用 Ingress 或最近的Istio 来实现。
  消息传递和事件流
  虽然最佳实践可能是设计无状态服务,但状态仍然存在,服务需要了解它。
  虽然 API 调用通常是为给定服务初始建立状态的有效方式,但它并不是保持最新状态的特别有效方式。
  不断的轮询,"我们到了吗?" 保持服务最新的方法根本不切实际。
  相反,有必要将建立状态的 API 调用与消息传递或事件流结合起来,以便服务可以广播状态的变化,而其他相关方可以监听这些变化并进行相应的调整。
  这项工作可能最适合通用消息代理,但在某些情况下,事件流平台(例如Apache Kafka)可能更适合。
  通过将微服务与事件驱动架构相结合,开发人员可以构建分布式、高度可扩展、容错和可扩展的系统,可以实时消费和处理大量事件或信息。
  无服务器
  无服务器架构将一些核心云和微服务模式得出其合乎逻辑的结论。
  在无服务器的情况下,执行单元不仅仅是一个小服务,而是一个函数,它通常可以只是几行代码。
  将无服务器功能与微服务分开的界限很模糊,但通常认为功能比微服务还要小。
  无服务器架构和功能即服务 (FaaS)平台与微服务的相似之处在于,它们都对创建更小的部署单元和根据需求精确扩展感兴趣。
  微服务和云服务
  微服务不一定与云计算完全相关,但它们如此频繁地结合在一起有几个重要原因——这些原因超越了微服务成为新应用程序的流行架构风格以及云成为新应用程序的流行托管目的地的原因。
  微服务架构的主要优势之一是与单独部署和扩展组件相关的利用率和成本优势。
  虽然这些优势在一定程度上仍然存在于本地基础设施中,但小型、独立可扩展的组件与按需、按使用付费的基础设施相结合是可以找到真正成本优化的地方。
  其次,也许更重要的是,微服务的另一个主要好处是每个单独的组件都可以采用最适合其特定工作的堆栈。
  当您自己管理堆栈扩散时,可能会导致严重的复杂性和开销,但是将支持堆栈作为云服务使用可以大大减少管理挑战。
  换句话说,虽然推出自己的微服务基础设施并非不可能,但不可取,尤其是刚开始时。
  常见模式
  在微服务架构中,有许多常见且有用的设计、通信和集成模式有助于解决一些更常见的挑战和机遇,包括:  后端换前端 (BFF) 模式:  此模式在用户体验和体验调用的资源之间插入一层。
  例如,在桌面上使用的应用程序将具有与移动设备不同的屏幕尺寸、显示和性能限制。
  BFF 模式允许开发人员使用该界面的最佳选项为每个用户界面创建和支持一种后端类型,而不是尝试支持适用于任何界面但可能会对前端性能产生负面影响的通用后端。
  实体和聚合模式:  实体是由其身份区分的对象。
  例如,在电子商务网站上,产品对象可能通过产品名称、类型和价格来区分。
  聚合是应被视为一个单元的相关实体的集合。
  因此,对于电子商务网站,订单将是买家订购的产品(实体)的集合(集合)。
  这些模式用于以有意义的方式对数据进行分类。
  服务发现模式:  这些帮助应用程序和服务找到彼此。
  在微服务架构中,服务实例会因伸缩、升级、服务故障甚至服务终止而动态变化。
  这些模式提供了发现机制来应对这种短暂性。
  负载平衡可以通过使用健康检查和服务故障作为重新平衡流量的触发器来使用服务发现模式。
  适配器微服务模式:  以您在旅行到另一个国家时使用的插头适配器的方式来考虑适配器模式。
  适配器模式的目的是帮助翻译不兼容的类或对象之间的关系。
  依赖第三方 API 的应用程序可能需要使用适配器模式来确保应用程序和 API 可以通信。
  扼杀者应用程序模式:  这些模式有助于管理将单体应用程序重构为微服务应用程序。
  这个色彩缤纷的名字指的是藤蔓(微服务)如何随着时间的推移慢慢地超越并扼杀一棵树(单体应用程序)。
  反模式
  虽然有很多模式可以很好地完成微服务,但同样数量的模式可以很快让任何开发团队陷入困境。
  其中一些——改写为微服务"不要"——如下:  微服务的第一条规则是,不要构建微服务: 更准确地说,  不要从微服务开始  。
  一旦应用程序变得太大且难以轻松更新和维护,微服务是一种管理复杂性的方法。
  只有当您感觉到单体架构的痛苦和复杂性开始蔓延时,才值得考虑如何将该应用程序重构为更小的服务。
  在你感受到那种痛苦之前,你甚至没有真正拥有需要重构的单体。
  不要在没有 DevOps 或云服务的情况下做微服务: 构建微服务意味着构建分布式系统,而分布式系统很难(如果你做出的选择会让它变得更加困难,它们尤其困难)。
  尝试在没有 a) 适当的部署和监控自动化或 b) 托管云服务来支持您现在庞大的异构基础设施的情况下进行微服务,会带来很多不必要的麻烦。
  省去你自己的麻烦,这样你就可以把时间花在担心状态上。
  不要通过将微服务做得太小来制造太多的微服务: 如果您对微服务中的"微"走得太远,您很容易发现自己的开销和复杂性超过了微服务架构的整体收益。
  最好倾向于更大的服务,然后只在它们开始开发微服务解决的特征时才将它们分开——即部署更改变得困难和缓慢,通用数据模型变得过于复杂,或者不同部分服务有不同的负载/规模要求。
  不要将微服务变成 SOA:微 服务和面向服务的架构 (SOA) 经常相互混淆,因为在最基本的层面上,它们都对构建可重用的单个组件感兴趣,这些组件可以被其他应用程序使用。
  微服务和 SOA 之间的区别在于,微服务项目通常涉及重构应用程序以便更易于管理,而 SOA 关注的是改变 IT 服务在企业范围内的工作方式。
  一个演变成 SOA 项目的微服务项目可能会因自身的重量而崩溃。
  不要试图成为 Netflix: 在构建和管理占所有 Internet 流量的应用程序时,Netflix 是微服务架构的早期先驱之一——这是一场需要他们构建大量自定义代码和普通应用程序不需要的服务。
  你最好从一个你可以处理的速度开始,避免复杂性,并尽可能多地使用现成的工具。

帕奎奥加入最新一期rm录制,与金钟国打拳击,宋智孝玩游戏据韩国媒体报道,正在韩国进行访问的世界著名拳王帕奎奥,近日参与了runningman最新一期的录制,在最新爆料的图片中,帕奎奥与金钟国,对打拳击,与宋智孝一起玩游戏。除了拳击之外,广东队最新消息胡明轩彻底陨落,网红带薪休假,杜锋狠批两人胡明轩彻底陨落,昔日FMVP成球队短板。北京时间10月16日,CBA新赛季比赛如火如荼的进行,广东男篮在昨晚迎来新赛季的第三轮比赛,和同城兄弟球队深圳男篮上演大对决,这场德比大战,英超利物浦vs曼城!哈兰德并不是今天唯一的关键点今天小湾跟大家继续聊英超利物浦和曼城这场天王山之战,大家特别关心的应该就是哈兰德的发挥了。哈兰德从多特加盟曼城之后,直接就把姆巴佩的风头给盖了过去。来到曼城之后,哈兰德连续三个主场1016阿伟足球解析英超利物浦VS曼彻斯特城利物浦曼城利物浦目前在联赛中排名第10,8场比赛积10分,落后排名第4的切尔西6分。利物浦球员菲尔米诺已经打进了6个联赛进球,是球队的核心球员。利物浦在周中欧冠客场71战胜流浪者,热刺2比0埃弗顿,凯恩连续5轮进球,尤文小胜终结客场连败热刺2比0埃弗顿,凯恩连续5轮进球,尤文小胜终结客场连败比赛第59分钟,皮克福德禁区内对凯恩犯规,判罚点球,凯恩主罚点球命中破门,比分10。第86分钟,本坦库尔右路传中,霍伊别尔禁利物浦VS曼城英超上演上赛季冠亚之争,客队曼城来势汹汹利物浦新赛季发挥糟糕,曼城各项赛事高歌猛进,主队防线成为隐患本赛季英格兰超级联赛第11轮的比赛是已经揭开了序幕,而就在10月16日晚上2330,本轮英超联赛的重头戏将会激烈上演,上人民日报金句摘抄(106)1。有脚踏实地,有躬身力行。2。今天的祖国,山河壮丽,国泰民安。如果奇迹有颜色,那一定是中国红!3。爱国主义深入人心,团结奋斗精神昂扬!4。爱国主义,薪火相传融入血脉。5。爱国主义台媒看大陆山东青岛八大关博览万国风光八大关小礼堂。图片来源台湾经济日报中新网北京10月15日电台湾经济日报近日发表了有关山东省青岛市的报道,介绍了著名的八大关。报道指出,八大关是首批中国历史文化名街,也是青岛的主要名散文秋之恋文王成家你可否了解我此刻的心情,你的出现像荒凉大漠中流淌的一道清泉,又像孤寂原野上飘荡的一阵欢快的笛声,我的心怎么能不被你倾倒?几乎在相逢的那一瞬间,你便深深地印在我脑海里,让我久散文秋山多炫彩,人生需淡然作者子墨深秋,天气渐凉。清晨,路过花园里的草地,几只秋虫,沾了一身清霜,依旧在花蕊中睡懒觉。所谓季节,应该都是寂静的吧!只是风景各异,换了背景和心情。春夏秋冬,四季之中,有太多的生能当钉子户的4款手机,配置全面使用更长久,厂商都头痛您在阅读前请点击上面的关注二字,后续会第一时间为您提供更多有价值的相关内容,感谢您的支持。我们在购买手机的时候,除了考虑手机的性能以外,还想要手机尽可能地能够多使用几年,目前来看,
冠军皮肤签名引热议,吕布或再添机甲皮肤,第三款SNK传说皮确定原创兔八哥聊游戏王者荣耀KPL联赛首届夏季赛已经圆满落幕,重庆狼队不负众望捧起了奖杯。同时这也是重庆QGhappy改名重庆狼队获得的第一个冠军,不得不说非常有纪念价值。不过夺冠之后9月份,有必要入手58万的新能源汽车吗?受俄乌战争的影响,最近1年来,油价不断飙升,很多家庭不堪重负,新能源电车给了我们另外一种选择。现在我家的情况是,父母亲开1辆油车,我和媳妇开1辆油车,由于父母和我们俩几乎每天都要驾这家公司产品用于卫星互联网,分析师预估营收六年暴增125倍卫星互联网芯片雷达5G军工!这家公司产品用于卫星互联网,分析师预估营收六年暴增125倍,Q2净利环比增超5倍,产品助力银河航天7颗卫星成功发射VRVR卫星互联网芯片华为自动驾驶!这司马南吟诵的将进酒难道要成为绝唱了?司马南的禁言与解禁,一切都是很突然的。对于他这样的爱国网红,背后又有庞大的资本支持,也有自己的专业团队,按理说在输出的内容上都会严格把关的,他们的专业团队肯定也会对平台的各种规定都卢伟冰爆发,三星E4屏骁龙870,12256GB顶配版仅需1869元对于上班族等一类的青少年完全是没有必要购买高端旗舰手机的,而价格在2000元左右的中端产品就已经完全够用,对应日常办公所需乃至于主流游戏是一点问题都没有,同时在激烈的市场竞争关系之红烧冬瓜太单调了,加一点别的食材,味道立马就上来了胃和心,总要有一个是满的。所以,全世界的迷茫和忧伤都可以用美食去抵挡!更多家常美食做法,请关注典典小厨。喜欢我的家常美食分享就请点赞收藏评论再顺手转发一下吧!当然如果您有更好的做法做馄饨馅,干巴巴的没味道,试试多加2样,油润又多汁,鲜嫩滑口做馄饨馅,干巴巴的没味道,试试多加2样,油润又多汁,鲜嫩滑口馄饨,不管是在北方还是在南方,都是受欢迎的,我们家爱吃馄饨,爱吃饺子,几乎所有的面食,都爱不释手。最近一直看有人打广告,球员进入成熟期,中国女篮在世界杯能出成绩了吗?有一点让人担心喜欢中国篮球的球迷会知道,这个月9月22日10月1日,中国女篮将会在澳大利亚参加2022年女篮世界杯,这几年,中国女篮经常打出漂亮的比赛,屡克欧美强敌,让中国球迷不断收获胜利的喜悦盘点司藤穿的新国风品牌,霸气女王风情万种,坐实人间富贵花在司藤这部剧中,景甜在里面也是美出了新高度,比如旗袍民国风复古风,她在剧中穿过的很多品牌,其实都是比较小众的,这次也算是有这个机会可以真正的走出来,让我们看到中国文化元素和现代时尚西班牙王室有颜任性平价接地气!从王后到未来女王都穿ZARA提到王室时尚,很多人都会想到英王室的凯特王妃,但在西班牙王室中,被称为最美王后的莱蒂齐亚的造型也很值得称道。莱蒂齐亚不仅是西班牙首位平民王后,更曾是新闻主播战地记者。高度自律的他,为了面子坚持战痘痤疮(Acne)是一种主要发生于青春期的毛囊皮脂腺单位的慢性炎症性疾病。各年龄段人群均可患病,但青春期发病率最高,所以痤疮俗称青春痘。痤疮的治疗应根据分级选择相应的药物和手段,根据