Jump to section

微服务如何支持医疗行业的 IT 集成

复制 URL

微服务让医疗行业和其他行业的开发人员能够创建由松散耦合的服务构成的应用,从而更加轻松地进行开发、测试、部署和升级。这些优势正愈发促使医疗行业的开发人员优先选用微服务,从而告别前一代 IT 集成技术(ESB 企业服务总线)。

自 ESB 诞生至今,应用开发已经历了翻天覆地的变化。最重要的变化之一,是敏捷开发和 DevOps 的兴起,ESB 则渐渐落伍。

DevOps 管道是一种基于渐进式更改和持续自动测试的开发生命周期。在 DevOps 时代,那些曾经促使 ESB 蓬勃发展的特征如今已变成了阻碍。ESB 会将所有集成内容部署到一个单体式架构中。这在过去是优点,现在却会导致 ESB 与 DevOps 不相兼容。

在现代化开发环境中,ESB 表现出以下局限:

  • 无法兼容敏捷开发人员和 DevOps 工具:如今许多刚走上工作岗位的开发人员,都是在 DevOps 环境中接受培训的。这些敏捷开发人员如果使用首选的工具和市面上最新的 DevOps 解决方案,就能达到最高的工作效率,但 ESB 的设计并不支持这些工具。
  • 更改会影响整个系统:当您需要对 ESB 中的规则进行任何更改时,即使变动很小,也必须暂停整个系统,也就是说,任何与 ESB 交互的应用都会遭遇中断和非生产停机。以此类推,任何更改引起的错误也可能会影响您的所有集成。这会使得团队滋生抵触心态,抗拒升级和修复,从而影响工作效率。
  • 单一故障点:由于所有集成内容都通过同一中枢进行路由,所以 ESB 会成为整个企业的单一故障点。如果 ESB 出问题,您的所有集成内容都会瘫痪。
  • 无法自动测试: 自动测试是 DevOps 的关键组成部分。在 DevOps 管道中,每一个更新都会单独测试,因此不会干扰开发流程,这都是通过自动化才得以实现的。但 ESB 的专有 GUI 和版本控制,使得自动化不可企及。

与其他行业一样,医疗行业也采纳了微服务、DevOps 和敏捷等新型开发实践。这种采纳也已延伸到医疗集成;新的应用和数字触点需要采用 HL7、REST 和其他协议的集成。医疗领域的微服务开发人员希望将集成内容与他们开发的其他代码(例如,数据、流处理、GUI、命令和控制等)一起控制,并将任何更改封装为在持续集成与持续交付(CICD)流程中行进的可部署单元。上述的这些限制阻碍了 CICD 流程将代码与其他代码集成的这一目标。

微服务是未来开发的大势所趋,而 ESB 在其中难有容身之地。ESB 是单体式的,微服务则相反——开发人员可以利用由松散耦合的服务构成的构建块来创建应用和集成。通过将应用分割为独立的模块,开发人员更加轻松地进行开发、测试、更改、再测试、修正、部署、生产中测试以及升级等。

微服务也促成了 DevOps,因为它们支持自动化测试。由于微服务呈现为小型组件,因此可以轻松装入容器中,进而自动进行测试流程并促成持续集成与持续交付。而单体式 ESB 体积过大,无法放入容器之中,也不能分割成多个组件,因此无法以同样的方式进行测试。

不过,采用基于微服务的集成最重要的原因可能是它可为敏捷开发人员提供支持,允许他们使用自己趁手的 DevOps 工具。将 ESB 剔除,就能让开发人员自由地在熟悉且青睐的敏捷开发环境中工作。没有了 ESB,开发人员也就不再需要接受专有系统相关的培训,从而能专心致志地使用效率更高的开发方法。

此外,微服务还能使集成大众化,允许开发人员自己探索集成需求,而不是将集成限制到一个孤立的 ESB 专家团队。没有人比应用开发人员更了解应用的数据需求,因此显然这是一个更加合理的发展方向。

微服务也支持 API 管理,允许在必要时进行基于 API 的集成。

同时,基于微服务的集成也可以带来和 ESB 相同的优势,例如用于创建有关数据如何在企业内流动的复杂规则的图形变换和逻辑。举例来说,您也许喜欢 ESB 的图形开发画布,但您也可以找到支持基于微服务的集成的类似画布。

基于微服务的集成提能带来多种关键优势,包括:

  • 全面监控和管理:微服务可以通过敏捷开发人员选择的先进工具进行监控,例如 Kibana、Elasticsearch、Grafana 和 Prometheus 等,来找出故障点,从而在问题影响到业务之前解决它们。
  • 自动化测试:微服务和 DevOps 的一大优点是能够执行自动测试。每个集成在经过测试流程时会被视为独立组件,不会干扰应用的其他组件或其他应用。
  • 卓越的软件质量:更高效的流程和更优质的测试最终能造就更高质量的软件。
  • 加快开发:通过 DevOps 和自动化来简化集成开发流程,并且消除过去的手动流程,从而加快开发生命周期。
  • 增强可扩展性:由于应用是由独立模块构成的,每一种服务都可以单独扩展,不会影响应用的其余部分。
  • 促进创新:微服务和 DevOps 可以赋能开发人员,助力其实现集成解决方案创新,不断为您的企业推出新服务,为客户带来更优质的服务。
  • 业务敏捷度:敏捷开发自然会带来业务敏捷度,也就是快速响应市场中的变化的能力。例如,敏捷开发团队能够利用微服务迅速构建必要的集成来支持业务关系,使需要数据共享的新合作伙伴或供应商可以快速上线。
  • 改进客户体验:您的根本目标是服务客户,也就是每天依赖您的医疗保健服务的患者。通过改进流程并在不同系统和部门之间无缝共享数据,您最终能够确保令人满意的患者体验。

您也许会认为,将集成迁移到微服务是一项令人怯步的任务。为什么要改变?毕竟,您的企业多年来都在使用 ESB,您的团队也已熟悉它的专有方面。但我们有一个潜藏的问题不能忽视。如果有一两位 ESB 专家离职,会发生什么?需要花什么代价才能重新达到那样的技能程度?

要离开单体式 ESB 看起来或许困难重重,这可能正是许多企业不得不把 ESB 进行到底的原因。但当您摆脱了 ESB 的桎梏后,就能享受全新集成带来的诸多好处。

事件网格用例

事件驱动架构与事件网格相结合,可以利用多样的应用堆栈来支持部署于复杂多云、广泛分布的拓扑中的各种用例。以下我们仅列举了几个潜在的事件网格用例。

微服务集成

事件网格可以轻松让基于微服务的应用彼此连接,并与传统技术的相连。

电子商务

事件网格能够加快交易处理,确保通过网站和应用程序进行快速而可靠的客户互动。

客户支持

事件网格支持快速交付客户交互数据,让支持团队能够实时回应客户,创造个性化的体验。

金融服务

事件网格可以为金融服务提供商带来实时交易数据的低延迟同步。此外,事件网格也可实时传递可疑交易的信息,从而支持欺诈检测。

物联网连接

事件网格为后端系统提供可靠且可扩展的物联网(IoT)连接,以处理来自几乎种类不限的传感器的指标。

事件网格可为业务带来以下关键优势。

实时响应

业务成功离不开应对变化的出色能力。事件网格的一大优势就是实时交付数据(通过事件驱动架构以事件流形式交付),以实现及时的响应。事件网格效率高,可以确定事件生产者和消费者之间的最快路径,几乎没有消息传递延迟。这让业务利益相关者能够对需要迅速决策的关键问题做出快速反应。

改进客户体验

通过实时传递面向客户的团队和电子商务技术所使用的数据,事件网格可以帮助企业更好地服务客户,最终改进客户的体验。

降低运维成本

事件网格提供对制造、销售、库存和运输的实时可见性,让企业能够优化运维,提高效率并降低成本。

开发人员生产力

事件网格与不同类型的环境、消息传递系统和协议无关,因此借助事件网格,应用开发人员可以专心利用可用的最佳技术来实施业务逻辑。开发人员可以自由进行创新,不必去开发复杂的数据分发网络,也不会受到开发环境、消息传递平台或云类型的限制。

继续阅读

文章

微服务如何支持医疗行业的 IT 集成

微服务让医疗行业和其他行业的开发人员能够创建由松散耦合的服务构成的应用,从而更加轻松地进行开发、测试、部署和升级。

文章

什么是微服务?

微服务是一种用于构建应用的架构方案,可使应用的各个部分既能独立工作,又能协同配合。

文章

什么是服务网格?

服务网格是一个内置于应用程序中的基础架构层,它会记录服务的交互方式,从而更轻松地优化通信并避免停机。