kafka(二)基本使用
一、Kafka线上集群部署方案 既然是集群,那必然就要有多个Kafka节点机器,因为只有单台机器构成的kafka伪集群只能用于日常测试之用,根本无法满足实际的线上生产需求。 操作系统: kafka由Scals语言和Java语言编写而成,编译之后的源代码就是普通的.class文件,文本部署到哪个操作系统应该都是一样的,但是不同操作系统的差异还是给Kafka集群带来了相当大影响。 目前常见的操作系统有3种:Linux、Windows和macOS。考虑操作系统与kafka的适配性,Linux系统更加适合部署,主要体现在下面三个方面: I/O模型使用     你可以近似地认为I/O模型就是操作系统执行I/O指令的方法。主流的I/O模型有5种类型: 阻塞式I/O、非阻塞式I/O、I/O多路复用、信号驱动I/O和异步I/O 。每种模型都有各自典型使用场景,比如Java中Socket对象的阻塞模式和非阻塞模式就对应前两种类型;Linux中的系统调用select函数就属于I/O多路复用模型;epoll系统调   用则介于第三种和第四种模型之间;至于第五种模型,其实很少有Linux系统支持,反而Windows系统提供了一个叫IOCP线程模型属于这一种。 我们只需要了解认为后一种模型会比前一种模型要高级,比如epoll就比select要好。     实际上kafka客户端底层使用了