在一个微服务架构中使用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的主要内容,如果未能解决你的问题,请参考以下文章