Camel 是Apache 下的一个子项目,用于服务编排。它不同于微服务的fegin或者dubbo,单纯的是服务之间的调用。
Camel可以预先编排好不同语言的服务的调用顺序,Camel也是可以无缝集成与Spring和Springboot 。Camel采用DSL(领域特定语言)获取调用结果, Camel支持使用JAVA语言和Scala语言进行DSL规则描述(Camel K 也可以采用其他语言如groovy),实现了传输协议和消息格式的转换:HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF等,同时可以处理返回数据然后再发送给下一组服务。
个人理解:
1,在我看来camel既是一个通信中间件,也是一个路由,也是一个消息处理器和中转站。
2,Camel可以处理不同通信协议的传输方式,RPC协议、JMS协议、FTP协议、HTTP协议,可以同时接收和发送httpURL,mq中间件消息等多种消息处理方式。
难点:
Camel可以单独是一个web项目,打包到服务器运行,这个相对普遍。
但是有的公司有时候会做容器化用到Camel的子项目,Camel K 这个,这个的运行环境实在是有点折磨人,需要用到Docker,如果是minikube的话还要安装kubectl(Kubernetes) ,Install Kamel。放大招
由于网上没有教程,也只有激发个人英语功底,啃英语文档了