Lzh on GitHub

事件驱动

事件驱动

事件驱动 (Event-driven)

事件驱动系统反映了现代企业的实际运作方式——每天、每时每刻都在发生数以千计的小变化。Spring 处理事件并使开发人员能够围绕事件构建应用的能力,意味着您的应用将 与您的业务保持同步。Spring 提供了多种事件驱动选项可供选择,从 集成和流处理云函数和数据流


事件驱动微服务 (Event-driven microservices)

当与微服务结合时,事件流开启了令人兴奋的机会——事件驱动架构 就是一个常见的例子。Spring 简化了事件的 生产、处理和消费,提供了几个有用的抽象。

流数据 (Streaming data)

流数据代表了 持续的事件流。一个例子可能是股票行情自动收录器。每次股价变动,就会创建一个新事件。这被称为 “流数据”,因为有数千个此类事件,从而形成 持续的数据流

集成 (Integration)

任何事件驱动系统的基石都是 消息处理。连接到消息平台、路由消息、转换消息、处理消息。使用 Spring,您可以 快速解决 这些集成挑战。

Spring Cloud Stream

Spring Cloud Stream 提高了您在使用 Apache Kafka、RabbitMQ、Azure Event Hub 等时的生产力,它提供了 三个关键抽象 来简化您的代码:

  1. “绑定器 (Binders)” 集成外部消息传递系统。
  2. “绑定 (Bindings)” 弥合了消息传递系统与您的代码之间的差距。
  3. “消息 (Messages)” 提供了您的代码用于发送和接收数据的结构。

Spring Cloud Stream 还支持 资源调配、内容转换、错误处理、配置管理、消费者组、分区、监控和健康检查


流处理快速入门 (Getting Started with Stream Processing)

Spring Cloud Stream 和 Spring 解决方案帮助我们为 命令式 (imperative)响应式 (reactive) 需求提供一个 有凝聚力的解决方案

ANIL GURSEL,PAYPAL 软件工程师

Spring Cloud Function

Spring Cloud Function 使您能够 编写一次函数,并在任何地方运行它们(AWS、Azure 等),同时继续使用所有熟悉且全面的 Spring API。您可以 将多个函数链接在一起 以创建新的功能。对 多个输入和输出 的支持使得合并、连接和其他更高级的用例 触手可及

@SpringBootApplication
public class Application {
  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }
  
  @Bean
  public  Function<String, String> uppercase() {
    return value -> value.toUpperCase();
  }
}

Spring Cloud Data Flow

Spring Cloud Data Flow 为开发者提供了 一系列工具和自动化,用于处理各种数据源和目标。Spring Cloud Data Flow 帮助您在多个云原生平台上 开发、部署、管理和扩展高吞吐量的流数据管道。它还具有一个 功能丰富的用户界面,用于构建和监控您的应用。

了解更多 (Learn more)

Spring Cloud Kafka Streams

Spring Cloud Stream 提供了第二个、更专业 的绑定器,专门用于处理 Kafka Streams。这个特殊的绑定器仍然专注于 开发人员生产力,但 增加了对 Kafka 特定功能的支持,例如 KStream、KTableGlobalKTable。与常规的 Spring Cloud Stream 一样,该绑定器也负责 连接到 Kafka,以及 创建、配置和维护流 (streams) 和主题 (topics)

了解更多 (Learn more)

Spring AMQP 和 Spring for Apache Kafka

通过 Spring AMQPSpring for Apache Kafka 项目,您可以将核心 Spring 概念应用于开发基于 KafkaRabbitMQ 的消息传递解决方案。

两者都包含作为 高级消息处理抽象“模板 (template)”,并支持带有 “监听器容器 (listener container)”消息驱动 POJO


Spring AMQP

Spring for Apache Kafka

Spring Integration

应用集成 是每个企业面临的挑战。Spring Integration 通过 扩展流行的 Spring 编程模型,纳入所有最常见的 集成模式,从而减轻了这一负担。它提供了 现成的连接器,用于消息传递平台、通信协议、文件系统和服务提供商,以及 常见模式(如消息路由、数据转换和过滤器)的实现。

Spring Integration 快速入门 (Get Started with Spring Integration)