消息队列应用场景:应用解耦、异步消息、流量削峰等问题,实现高性能、高可用、可伸缩和最终一致性架构。
Kafka是由LinkedIn开发的一个分布式的消息系统,可独立部署在单台服务器上,也可部署在多台服务器上构成集群。它提供了发布与订阅功能。用户可以发送数据到Kafka集群中,也可以从Kafka集群中读取数据。Kafka使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。
目前越来越多的开源分布式处理系统如Storm,Spark,Flink都支持与Kafka集成。现在我们的数据实时处理平台也使用到了Kafka。现在它已被多家不同类型的公司作为多种类型的数据管道和消息系统使用。
如下是Kafka消息中间件的架构图:
本技术专栏从实战出发,通过零基础入门-环境搭建-项目案例实战,让初学者快速掌握Kafka相关技术要点并投入实际项目开发,其中包括Kafka安装和配置、Kafka基本组件的实现机制、Zookeeper和控制器Controller、Kafka消息生产者和消息者的代码实现、以及和Spring Boot的集成开发、Kafka 可视化客户端工具Kafka Tool 2(Offset Explorer)和Kafka Eagle、Kafka Connect 连接器和Debezium等等。
专栏主要包含如下内容:
快速了解消息队列和Kafka基本概念、使用场景、以及性能好的原因
Kafka v2.3.1 安装、配置、启动和基本操作
安装和配置Kafka集群开源的可视化监控工具-Kafka Eagle
Kafka broker 开启 JMX监控
Kafka基本组件的实现机制,为什么要将Topic进行分区?如何保证高可靠性?
Kafka的元数据存储Zookeeper以及控制器Controller
Kafka v2.3.1通过客户端API实现简单生产者和消费者
Kafka生产者Producer使用异步模式发送消息
Kafka生产者Producer使用多线程发送消息
Kafka消息发送的主要步骤、配置参数、以及如何保证消息有序?
Kafka v2.3.1通过spring-kafka实现生产者和消费者
Kafka v2.3和Spring Boot v2.2.1使用@KafkaListener实现单条或批量接收消息
深入了解spring-kafka中核心技术概念-消息监听器、监听器容器并发数、@KafkaListener注解等等
spring-kafka 操作Topic以及可视化监控工具Kafka Eagle的使用
Kafka v2.3和Spring Boot v2.2.1集成项目示例源代码
Kafka可视化客户端工具Kafka Tool 2的基本使用
Kafka 在生产者Producer中实现并使用自定义分区器Partitioner
图文并茂演示如何通过Kafka Connect连接器建立数据管道
图文并茂演示Kafka Connect在分布式模式下将数据导入/导出Kafka Topic
Debezium和Kafka Connect实现MySQL数据高效实时同步Kafka Topic
Kafka Stream快速入门和实例项目WordCount详细演示