我已经使用Spring微服务有一段时间了,没有遇到Apache Camel作为构建微服务的工具。我不清楚-Apache Camel是用Sping Boot 创建微服务的替代品,还是用Sping Boot 开发此类服务的功能/捷径?使用Sping Boot 创建微服务已经相当简单,所以很难想象Apache Camel会添加什么,但这正是我问题的本质。
fzsnzjdm1#
Apache Camel与微服务无关,它是企业集成模式https://www.enterpriseintegrationpatterns.com/的一种实现Apache Camel为Gregor Hohpe和Bobby Woolf的书中的大多数模式提供了一个实现。加上各种各样的入站和出站端点,可以与文件系统、FTP、HTTP、消息传递、Facebook等系统集成。有关更多信息,请访问以下网站:https://camel.apache.org/有一个Sping Boot Starter项目可以在Spring Boot应用程序中运行Camel:https://camel.apache.org/camel-spring-boot/4.0.x/index.html
332nm8kg2#
Apache Camel会添加什么,这就是我的问题的本质为了声明基于REST的微服务,Camel的REST DSL提供了一个流畅的API来声明微服务。例如:
rest("/books").produces("application/json") .get().outType(Book[].class) .to("bean:bookService?method=getBooks(${header.bookCategory})")
字符串应该告诉你,只要你发送一个名为bookCategory的请求参数,对路径/books的请求就会得到一个List of Book。这被Map到一个名为bookService的POJO bean。
db2dz4w83#
Sping Boot 是一个简化应用程序打包和启动的框架,而Spring是实际的框架,它具有执行各种任务的库。从技术上讲,我们也可以使用Camel来构建微服务,Camel的许多方面都依赖于Spring。如果您预见到许多与集成相关的功能,例如发送电子邮件或与其他系统通信,您可以使用Hondical架构。
3条答案
按热度按时间fzsnzjdm1#
Apache Camel与微服务无关,
它是企业集成模式https://www.enterpriseintegrationpatterns.com/的一种实现
Apache Camel为Gregor Hohpe和Bobby Woolf的书中的大多数模式提供了一个实现。加上各种各样的入站和出站端点,可以与文件系统、FTP、HTTP、消息传递、Facebook等系统集成。
有关更多信息,请访问以下网站:https://camel.apache.org/
有一个Sping Boot Starter项目可以在Spring Boot应用程序中运行Camel:https://camel.apache.org/camel-spring-boot/4.0.x/index.html
332nm8kg2#
Apache Camel会添加什么,这就是我的问题的本质
为了声明基于REST的微服务,Camel的REST DSL提供了一个流畅的API来声明微服务。例如:
字符串
应该告诉你,只要你发送一个名为bookCategory的请求参数,对路径/books的请求就会得到一个List of Book。这被Map到一个名为bookService的POJO bean。
db2dz4w83#
Sping Boot 是一个简化应用程序打包和启动的框架,而Spring是实际的框架,它具有执行各种任务的库。从技术上讲,我们也可以使用Camel来构建微服务,Camel的许多方面都依赖于Spring。如果您预见到许多与集成相关的功能,例如发送电子邮件或与其他系统通信,您可以使用Hondical架构。