消息队列在互联网领域里得到了广泛应用,多应用于异步处理、模块之间的解耦和高并发系统的削峰等场景中。在消息队列中表现最好的当属Apache开源项目Kafka,Kafka是使用支持高并发的 Scala 语言开发的,利用操作系统的缓存原理达到高性能,并且天生具有可分区、分布式等特点,而且有不同语言的客户端,使用起来非常方便。
本章将要讲解的kclient(https://gitee.com/robertleepeak/kclient)是Kafka生产者客户端和消费者客户端的一种简单易用的框架,具有高效集成、高性能、高稳定等特点。在讲解kclient的功能特性、架构设计和使用方法之前,我们需要对Kafka进行初步学习和了解。kclient项目及本章的内容基于Kafka 0.8.2,如果读者是Kafka的初学者,则可以直接参考Kafka官方在线文档Kafka 0.8.2 Documentation(http://kafka.apache.org/082/documenta tion.html),也可以在网上搜索Kakfa的其他资料进行学习,需要理解其持久化、分片机制、高可用等原理。