消费通过轮询文件系统的更改数据是一种非常流行的集成技术,就像查询FTP目录一样。但是,如果您需要更健壮、更快、更可靠的通信协议,您应该根据JMS规范或者Kafka选择消息代理。Kafka是一个开源的发布-订阅消息代理。它被设计为具有容错能力,能够每秒处理数十万条消息。Kafka有一个本地Java API,但是从Observable 角度使用它非常诱人。Camel的整合基本上是一样的,只不过是一个不同的URL罢了:

reactiveCamel
    .toObservable("kafka:localhost:9092?topic=demo&groupId=rx")
    .map(Message::getBody)
    .subscribe(e ->
        log.info("Message: {}", e));

通过使用相同的可观察API,您可以从几乎任何平台上使用抽象消息的想法是惊人的强大。Camel在一个一直的接口背后,提供了一个必要的物理连接,而RxJava通过大量的操作符进一步增强了这个API。Camel和Retrofit(参见第280页的“与本地RxJava支持的改进”)是应用程序中响应式扩展的一个很好的起点。当你有一个稳定的Observable 的来源后,在你的堆栈中更容易地传播响应式行为。

results matching ""

    No results matching ""