跳转到节

什么是微服务?

复制URL

Red Hat被提名为2023年Gartner®Magic Quadrant™的领导者

在Gartner 2023集装箱管理幻方图中,Red Hat在执行能力方面排名最高,在实现愿景方面排名最靠前。

微服务是指应用程序体系结构其中,独立服务集合通过轻量级进行通信API(应用编程接口).

想想你最后一次访问在线零售商。您可能使用了网站的搜索栏来浏览产品。该搜索代表一项服务。也许您还看到了相关产品的建议,或者在您的在线购物车中添加了一个项目。这些都是服务。把所有这些微服务加在一起,你就有了一个功能齐全的应用程序。

微服务体系结构是云阴性以允许应用程序中的每个核心功能独立存在的方式构建软件的方法。 

当应用程序的元素以这种方式隔离时,它允许开发和操作团队协同工作,而不会相互妨碍。这意味着更多的开发人员同时开发同一个应用程序,从而减少开发时间。

 

形象

单片架构与微服务架构
构建应用程序的传统方法侧重于整体。在单片体系结构中,应用程序中的所有功能和服务都被锁定在一起,作为一个单元进行操作。当应用程序以任何方式添加或改进时,体系结构会变得更加复杂。这使得在不拆分整个应用程序的情况下优化应用程序中的任何单一函数变得更加困难。这还意味着,如果需要缩放应用程序中的一个进程,则必须同时缩放整个应用程序。

在微服务架构中,应用程序的构建使得应用程序中的每个核心功能都可以独立运行。这允许开发团队构建和更新新组件,以满足不断变化的业务需求,而不会中断整个应用程序。

微服务架构是面向服务的体系结构(SOA)。这两种方法相似,因为它们将大型复杂应用程序分解为更易于使用的较小组件。由于它们的相似性,SOA和微服务体系结构经常被混淆。有助于区分它们的主要特征是它们的范围:SOA是一种企业范围的架构方法,而微服务是应用程序开发团队中的一种实现策略。

微服务通过分布式开发为您的团队和例程提供了强大的推动力。您还可以同时开发多个微服务。这意味着更多的开发人员同时开发同一个应用程序,从而减少开发时间。

更快进入市场

由于开发周期缩短,微服务体系结构支持更灵活的部署和更新。

高度可扩展

随着对某些服务需求的增长,您可以跨多个服务器和基础架构进行部署,以满足您的需求。

有弹性的

这些独立的服务,如果建造得当,不会相互影响。这意味着,与单片应用程序模型不同,如果其中一块出现故障,整个应用程序不会停止运行。

易于部署

由于基于微服务的应用程序比传统的单片应用程序更模块化、更小,因此这些部署带来的担忧被消除了。这需要更多的协调服务网格层可以提供帮助,但回报可能是巨大的。

无障碍

由于较大的应用程序被分解为较小的部分,开发人员可以更容易地理解、更新和增强这些部分,从而加快开发周期,特别是当与敏捷开发方法例如开发运营。

更开放

由于使用了多语言API,开发人员可以自由选择最佳语言和技术来实现必要的功能。

微服务带来的灵活性可能会催生部署新更改的热潮,这意味着创建新模式。在软件工程中,“模式”指的是已知有效的任何算法解决方案。“反模式”指为了解决问题而犯的常见错误,但从长远来看可能会产生更多问题。

除了文化和过程之外,复杂性和效率是基于微服务架构的两大挑战。在使用微服务架构时,务必注意这些常见的反模式。

  1. 缩放比例:在软件生命周期开发过程中扩展任何功能都会带来挑战,尤其是在开始阶段。在初始设置期间,重要的是要花时间识别服务之间的依赖关系,并注意可能破坏向后兼容性的潜在触发因素。当需要部署时,投资自动化由于微服务的复杂性对人工部署来说是压倒性的,这一点至关重要。 
  2. 登录中:对于分布式系统,您需要集中的日志来将所有内容整合在一起。否则,规模无法管理。
  3. 监测:对系统进行集中查看以查明问题来源至关重要。 
  4. 调试:通过本地进行远程调试集成开发环境(IDE)不是一种选择,而且它不会在数十或数百个服务中工作。不幸的是,目前还没有关于如何调试的单一答案。
  5. 连接性:考虑服务发现,无论是集中的还是集成的。

集装箱和Kubernetes
一个容器是一个软件单元,其中应用程序代码与使其运行所需的所有文件一起打包。此组织使在环境之间移动包含的应用程序变得容易,同时保留完整的功能。

库伯内特斯是一个容器编排平台,允许更新应用程序中的单个组件,而不影响技术堆栈的其余部分,这使它非常适合自动化微服务应用程序的管理、扩展和部署。

API(应用编程接口)
应用程序编程接口或API是应用程序中负责与其他应用程序通信的部分。在微服务体系结构的基础架构中,API发挥着关键作用,允许微服务中的不同服务共享信息并作为一个整体发挥作用。

事件流
事件可以定义为微服务服务中发生的任何事情。例如,当某人向其在线购物车中添加或删除某些内容时。

事件形成事件流,反映系统不断变化的行为。通过监视事件,组织可以得出有关数据和用户行为的有用结论。事件流处理允许立即采取行动,它可以直接用于实时操作工作负载。公司正在将事件流应用于从欺诈分析到机器维护的所有方面。

无服务器计算
无服务器计算是一种云计算开发模型,它允许开发人员在云提供商负责供应、维护和扩展服务器基础设施。开发人员可以简单地将代码打包在容器中进行部署。无服务器帮助组织更快地进行创新,因为应用程序是从底层基础结构中抽象出来的。

Red Hat的开放源码解决方案可帮助您将单片应用程序分解为微服务,管理、协调它们,并处理它们创建的数据。 

红帽OpenShift
Red Hat®OpenShift®是一个基于Kubernetes的平台,通过提供统一的方式来连接、管理和观察基于微服务的应用程序,从而支持微服务。它支持容器化、遗留和云应用程序,以及重构为微服务的应用程序。OpenShift与集成Red Hat应用程序服务并且可以与现有的自动化工具(如Git和Jenkins)一起使用。它还包括企业级Linux操作系统,以提高整个集群的安全性。 

无论您是在优化遗留应用程序、迁移到云端,还是构建全新的基于微服务的解决方案,Red Hat OpenShift都可以为这些应用程序提供跨基础架构的更安全和稳定的平台。

 

Red Hat运行时

Red Hat运行时是一组预构建的、容器化的微服务运行时基础。它支持设计微服务架构时使用的多种语言和框架,如Quarkus、Spring Boot、MicroProfile和Node.js。此外,Red Hat Runtimes还提供支持服务,用于通过红帽数据网格快速访问数据,以及通过启用Red Hat-Single-sign保护微服务API的服务。

 

Red Hat集成

Red Hat集成是一套全面的集成和消息传递技术,用于跨混合基础架构连接应用程序和数据。它是一个敏捷、分布式、容器化和以API为中心的解决方案。它提供服务组合和编排、应用程序连接和数据转换、实时消息流和API管理,所有这些都与云原生平台和工具链相结合,以支持全方位的现代应用程序开发。

开发人员可以使用拖放服务和内置集成模式等工具来构建微服务,而业务用户可以使用基于web的工具来开发可以集成不同微服务的API。

继续阅读

第条

微服务如何支持医疗保健中的IT集成

微服务使医疗保健和其他行业的开发人员能够创建由松散耦合服务制成的应用程序,从而使其更易于开发、测试、部署和升级。

第条

什么是微服务?

微服务是一种构建应用程序的架构方法,其中应用程序的各个部分可以独立工作,但可以一起工作。

第条

什么是服务网格?

服务网格是应用程序中内置的基础结构层,它记录了服务如何交互,从而更容易优化通信并避免停机。

有关微服务的更多信息

产品

一个企业应用程序平台,具有一套统一的测试服务,可根据您选择的基础设施将应用程序推向市场。

资源

播客

《命令行英雄》第1季第3集:

“敏捷革命”

详细信息

架起传统应用程序和微服务的桥梁

培训

免费培训课程

使用微服务架构开发云计算应用程序