在微服务架构中使用 Apache Camel

Nat*_* Aw 2 apache-camel openshift openshift-origin

我观察到人们在微服务架构中使用 Apache Camel 的趋势不断增加。例如,在 Openshift 容器平台上。

我很难理解为什么企业服务总线(一个基本的整体)可以在微服务架构中使用。

也许 Apache Camel 是用于编排的目的?但这违背了微服务的精神。

有人可以告诉我这个吗?我无法理解这个问题。

小智 5

Apache Camel 不是 ESB。相反,它是一个轻量级集成框架,具有许多用于数据库、消息队列、流平台和流行 API 的连接器。它还支持近 50 种数据格式,并支持多种运行时,包括 Springboot 和对Quarkus的支持和 Camel 3 的支持。

为什么它非常适合微服务?

  • Springboot 支持和 Quarkus 支持(无法获得除 atm 之外的任何 micro)。
  • 每个微服务都需要与其他服务或外部世界进行通信,Camel 的集成工具包具有多个组件、数据格式,这使得这一切变得容易。
  • REST DSL 使得构建 REST 接口变得非常容易
  • JMS 和 Kafka 组件使事件驱动的微服务开发变得容易。
  • OpenTracing 支持启用分布式跟踪。
  • 通过 JMX 导出的指标(可以与 prometheus jmx 导出器一起使用)有助于检测您的骆驼应用程序。

希望这可以帮助。