目录儿
- 一、简介
- 二、核心
- 总结
一、简介
Camel is an Open Source integration framework that empowers you to quickly and easily integrate various systems consuming or producing data.
Camel 是一个开源的集成框架,能够让开发者快速、轻松地整合/集成不同的应用/系统,并作为中间件在各种系统之间消费或生产数据。
之所以Camel能在多种技术栈的系统之间快速集成,打通信息流,那是因为其拥有一个丰富的组件库,包含超过320个组件(核心和非核心的组件)。组件就像一个插头,允许系统连接到外部系统,比如邮箱、磁盘、FTP服务等等。
这样通过组件可用于解决简单的消息传递和数据传输问题,而且还可以提供数据安全性,不需要开发者在系统架构的基础设施层反复地造轮子。
二、核心
Camel 的两个核心概念
- EIP,处理消息
- Components,接受和发送消息(Endpoint)
除了上面提到的两个,还有两个核心,包括
- Route ,即定义数据从那儿来,到哪儿去
- Camel Context,是一个引擎(也可看做容器或者小型的应用服务器),用于运行和管理Route
Route
是开发者在Camel中配置的对象,包含上下游两个Endpoint
和一个Eip
处理器。从上游接受数据,经过Eip
处理,再发送给下游,下面的代码是用Java语法表示将文件从一个文件夹移动到另外一个文件夹:
from("file:root/customers/new").to("file:root/customers/old");
Camel Context
它是一个上下文容器,当Camel启动时,首先读取Route定义,然后创建Route,并讲路由添加到Camel Context里,然后启动Context。
当服务Camel终止时,Route将会被关闭,然后Camel 的上下文也会关闭。
总结
官方文档指出,Camel可以处理几乎所有的事情,包括从Http通信、磁盘读取、与Twitter、Facebook 等应用程序交流、与AWS、Azure等云服务提供商通信、与消息中间件交互等等,应有尽有。
Apache Camel 中间件的核心观点是把更多的时间放在对你企业有意义的代码上,Camel使得以有效的方式连接上百多个不同的异构服务端点变得简单和可扩展。它的组件驱动方法着重于在编写集成逻辑时减少模板代码。
总的来说,可以把Camel类比成一条管道,承接上游,内部处理后输送到下游,内部处理过程中,可以做比如更改、转换数据,或者传输到另一个管道等等。
参考资料:
知乎 等风来长 Apache Camel 了解一下?https://zhuanlan.zhihu.com/p/545063918