一关于kafaka的特点
1实时流
Apache Kafka是一个实时流平台,在大大小小的组织中得到了广泛的采用。Kafka的分布式微服务架构和发布/订阅协议使得它非常适合在企业系统和应用程序之间实时移动数据。据统计,超过三分之一的财富500强公司正在使用Kafka。在Github上,Kafka是最受欢迎的Apache项目之一,有超过11K之星和超过500名贡献者。毫无疑问,Kafka是一个开源项目,它改变了企业在云和数据中心内移动数据的方式。
2架构
Kafka的架构已经被优化为在系统和应用程序之间以可伸缩的方式尽可能快地流数据。Kafka客户端/生产者与Kafka集群紧密耦合,要求每个客户端知道Kafka集群的IP地址,并直接访问所有单独的节点。在可信网络内部,这允许对代理拓扑进行更改,这意味着可以通过直接使用来自Kafka客户端的多个节点来扩展主题和分区。在大多数情况下,Kafka主题空间也保持相当扁平,因为通常使用多个分区来扩展单个Kafka主题。在Kafka系统中拥有数百甚至数千个主题通常是不可取的,首选的方法是对大多数数据流使用很少的主题。Kafka非常适合在具有稳定IP地址和连接的相同可信网络内的系统之间进行通信。
二关于kafka与物联网应用的不兼容性
对于设备连接到公共互联网上的数据中心或云的物联网用例,Kafka架构不适合开箱即用。如果您试图在Internet上使用Kafka从数千甚至数百万设备流数据,那么Apache Kafka架构是不合适的。有许多原因Kafka本身不是很适合物联网用例:
Kafka代理需要由客户端直接处理,这意味着每个客户端需要能够直接连接到Kafka代理。专业的IoT部署通常利用负载均衡器作为云中的第一道防线,因此设备只使用负载均衡器的IP地址连接到基础设施,负载均衡器有效地充当代理。如果您希望您的设备直接连接到Kafka,您的Kafka代理必须暴露给公共互联网。Kafka不支持大量的主题。当通过公共Internet连接数以百万计的物联网设备时,