目录

沈超琦的个人博客

Stay Foolish,Stay Hungry

X

Day02-ApacheCamel简介

引入

最近在研究一段时间apache的顶级框架apache-camel,也算是有点了解和认识.事情的起因是因为公司要做一个服务编排的框架,也被"BOSS"们称之为低代码开发平台或者ESB企业服务总线.与之前的增删改查的项目不同,这个项目可以做到将原子化的接口组合起来,并能在前端编辑,通过一系列符合"EIP"规范的控件来将这些原子服务结合起来,做到消息的"路由","分发"," 聚合","脚本处理"等,将整个项目变成一套符合你想要的逻辑的"路由".

u5903771970393502fm26fmtauto.webp

1.APACHE-CAMEL的目的:

为了实现SOA框架,企业需要一套ESB系统,而通过在AC组件基础上二次开发即可达到该目的
ESB全名:企业服务总线,是SOA架构思想的一种实现思路。

Apache Camel 作为集成项目的利器,针对应用集成场景的抽象出了一套消息交互模型,通过组件的方式进行第三方系统的接入,目前Apache Camel已经提供了300多种组件能够接入HTTP,JMS,TCP,WS-*,WebSocket 等多种传输协议。Apache Camel结合企业应用集成模式(EIP)的特点提供了消息路由,消息转换等领域特定语言(DSL),极大降低了集成应用的开发难度。Apache Camel通过URI的方式来定义需要集成的应用节点信息,用户可以按照业务需求使用DSL快速编写消息路由规则,而无需关注集成协议的细节问题。与传统的企业集成服务总线(ESB)相比,Apache Camel的核心库非常小巧(是一个只有几M的jar包),可以方便地与其他系统进行集成。

2.ESB(服务总线)

提到了camel就不得不提我们最终要做的"基于apache camel的ESB企业服务总线" -------产品 ESB-企业服务总线

  1. 无论业务系统向外部公布的服务使用哪种调用协议,都可以通过ESB技术进行兼容和转换。
  2. 无论调用协议携带哪一种消息描述格式,通过ESB中间层也可以实现互相转换。
  3. 服务监控管理(注册、安全、版本、优先级)
    既然ESB要对原子服务进行集成,考虑的问题就比较多了。
    首先业务提供提供的服务可能会周期性的变化(迭代、升级)…等复杂情况。
    那么ESB的实现软件中应该有一套功能,能够保证再这样的情况下集成服务依然能够工作。
  4. 还要有一套完整的功能保证服务集成的安全性和权限。
    作为被集成的业务系统,ESB中如何集成它提供的原子服务,前者是不需要关心的。
  5. 服务集成和编排
    为了将多个服务通过ESB技术进行集成,形成一个新的服务,ESB技术必须能够进行服务编排。
    服务编排的作用就是明确原子服务执行的先后顺序、判断原子服务执行的条件、确保集成后的新服务能够按照业务设计者的要求正常工作。

3.后续

camel的板块后续的内容我会记录一些camel的基础信息 比如 exchange message component等,也会在github上更新我每个章节的学习代码,希望自己能通过apache-camel的学习,对这一框架及其应用场景有更深更广泛的了解huaji

下面附上自己写的关于apache camel的内容分享PPTdoge

camel分享.pdf.zip


标题:Day02-ApacheCamel简介
作者:sharkshen@outlook.com
地址:https://www.linkjb.com/articles/2021/10/14/1634182180911.html