2020-10-04【学习笔记】【企业数据湖】七、基于Apache Kafka构建消息层(3)

    科技2022-07-21  104

    六、生产者和消费者的可靠性

    分布式系统中,各个组件都有可能出现故障。所有代码设计上会考虑到以无缝方式处理这些故障。

    kafka的一个容错机制是维护消息的副本。

    消息被复制在所谓的分区中,kafka主动选择一个分区作为主分区。其他的从分区复制主分区。主分区还会维护一个同步副本的列表,以确保能维护理想的副本来处理故障。

    七、kafka的安全性

    kafka的安全性具体如下:

    无加密和认证ssl:加密并认证SASL:kerberos认证机制SSL+SASL:用SSL做加密,用SASL做认证采用类似UNIX权限机制来认证客户端的读写权限

    八、kafka作为面向消息的中间件

    kafka比传统的MOM(消息中间件)更有优势:

    基于零拷贝的数据日志方法,且消息总是追加到日志大量使用分区来在集群中实现跨broker、分区、topic的消息分发原生分布式架构,有助于容错和消息持久化内置副本机制原生可伸缩。订阅消息的消费者下线,消息扔存于队列中持久化消息

    九、kafka与水平可扩展架构

    可以扩展的关键因素:

    分区分布式副本机制可伸缩性

    十、kafka连接

    kafka的连接工具使得kafka具有了可扩展性,该工具使kafka能够与外部系统连接,将数据输入其中,并将输入到其他系统。kafka的连接器分为两类:

    sourceconnector:输入数据到kafka的connector

    sinkconnector:将kafka中的数据输出到外部系统的connector

    十一、kafka运行范例

    范例暂不表述。

    十二、适合使用kafka

    需要一个高度分布式的消息系统需要一个可以指数级扩展的消息系统需要高吞吐量的发布、订阅功能需要系统能兼容不同能力的消费者需要容错操作时需要消息传递具有持久性显然,上述所有场景都不能接受性能下滑

    十三、不适合使用kafka的场景

    需要消息按序列到达需要实现任务队列需要一个典型的主题功能开发或生产环节涉及到windows和node。js时需要更高的安全性和控制

    十四、其他选项

    1、rabbitMQ

    2、ZeroMQ

    3、apache ActiveMQ

     

    Processed: 0.010, SQL: 8