在一个微服务架构中使用Apache Camel

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一个微服务架构中使用Apache Camel相关的知识,希望对你有一定的参考价值。

我观察到人们在微服务架构中使用Apache Camel的趋势越来越明显。例如,关于Openshift集装箱平台。

我非常努力地理解为什么企业服务总线(一种基本的单片机)可以用于微服务架构。

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

请问有人可以开导我吗?我无法绕过这个。

答案

我非常努力地理解为什么企业服务总线(一种基本的单片机)可以用于微服务架构。

ESB具有多种用于微服务架构的功能。它可以:

  • 消息调解和转换,请参阅Enterprise Integration Patterns
  • 跨服务策略实施(例如消息级安全性,授权,......)
  • 服务端点与其实现(服务版本控制)的decouplig
  • 提供消息,事件处理,监控,异常处理等商品服务。
  • 减轻点对点通信
  • .. 多一点..

实际上,ESB通常作为单独的应用程序(或您的情况下的容器)运行并且已经实现了所有功能,它并不总是最轻量级的应用程序(与简单的单用途微服务相比)。如果实施得当,ESB对响应延迟或基础架构负载的影响应该最小。

提供商品服务和跨服务功能IMHO您可以将ESB视为单独的服务,而不是微服务实现可用的基础结构服务的一部分。

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

Apache Camel是一个框架,它可以在应用程序内部使用,也可以单独使用,也可以在Apache Camel(RedHat Fuse ESB,Talend ESB,Apache ServiceMix,...)之上构建ESB产品。

以上是关于在一个微服务架构中使用Apache Camel的主要内容,如果未能解决你的问题,请参考以下文章

微服务实战:深入微服务架构的进程间通信

微服务实战:深入微服务架构的进程间通信

微服务实践:从单体式架构迁移到微服务架构

微服务实战:深入微服务架构的进程间通信

微服务实践:从单体式架构迁移到微服务架构

微服务实战:使用API Gateway