产品丰富、安全可靠的银联云平台,多达170种产品和服务
有效解耦生产者、消费者之间的关系。在确保同样的接口约束的前提下,允许独立扩展或修改生产者/消费者间的处理过程。
由于消息的处理过程被解耦,只需要水平扩展处理过程,即可有效增加消息的入队效率和处理效率,十分灵活。
消息队列能够抵挡突增的访问压力,而不会因为突发的超负荷的请求而完全崩溃,有效提升系统健壮性。
当系统的部分组件出现故障时,整个系统不会因此收到影响,增加了系统的容错能力。及时某一处理消息的进程故障,队列中的消息依然可以在系统恢复后被处理。
Cloud Kafka能够保证一个Partition内消息的有序性,和大部分的消息队列一致,Cloud Kafka可以保证数据按照顺序进行处理,极大提升磁盘效率。
在业务无需立即处理消息的场景下,Cloud Kafka提供了消息的异步处理机制,访问量高时仅将消息放入队列中,在访问量降低后再对消息进行处理,缓解系统压力。
消息队列 CKafka 中存在大量的网络数据持久化到磁盘和磁盘文件通过网络发送的过程。这一过程的性能直接影响Kafka 的整体吞吐量,主要通过以下几点实现:
1、高效使用磁盘:磁盘中顺序读写数据,提高磁盘利用率。
2、Broker 的零拷贝(Zero Copy)机制:使用 sendfile 系统调用,将数据直接从页缓存发送到网络上。
3、减少网络开销
消息队列 CKafka 的数据持久化主要通过如下原理实现:
1、Topic 中 Partition 存储分布
在消息队列 CKafka 文件存储中,同一 Topic 有多个不同 Partition,每个 Partition 在物理上对应一个文件夹,用户存储该 Partition 中的消息和索引文件。例如,创建两个 Topic,Topic1 中存在5个 Partition,Topic2 中存在10 个 Partition,则整个集群上会相应生成5 + 10 = 15个文件夹。
2、Partition 中文件存储方式
Partition 物理上由多个 segment 组成,每个 segment 大小相等,顺序读写,快速删除过期 segment, 提高磁盘利用率。
多副本设计可增强系统可用性、可靠性。
Replica 均匀分布到整个集群,Replica 的算法如下:
消息队列 CKafka 在 ZooKeeper 中动态维护了一个 ISR(in-sync replicas),ISR 里的所有 Replica 都跟上了Leader。只有 ISR 里的成员才有被选为 Leader 的可能。
Cloud Kafka通过实时处理网站活动(PV,搜索,用户其他活动等),并根据类型发布到topic中,这些信息流可以被用于实时监控或离线统计分析等。 由于每个用户的page view中会生成许多活动信息,因此网站活动跟踪需要很高的吞吐量,Cloud Kafka可以完美满足高吞吐、离线处理等要求。
Cloud Kafka 提供了低延迟处理、易于支持多个数据源和分布式的数据处理(消费)的特性。相比于中心化的日志聚合系统,Cloud Kafka 可以在提供同样性能的条件下,实现更强的持久化保证以及更低的端到端延迟。 因此,Cloud Kafka 的特性决定它非常适合作为”日志收集中心”;多台主机/应用可以将操作日志”批量”“异步”的发送到 Cloud Kafka 集群中,而无需保存在本地或者 DB 中;Cloud Kafka 可以批量提交消息/压缩消息,这对生产者而言,几乎感觉不到性能的开支。此时 消费者可以使hadoop 等其他系统化的存储和分析系统对拉取日志进行统计分析。
对于一些大数据相关的业务场景而言,需要对大量并发数据进行处理和汇总,此时对集群的处理性能和扩展性都有很高的要求。而Cloud Kafka在实现上,其数据分发机制,磁盘存储空间的分配、消息格式的处理、服务器选择以及数据压缩等方面,也决定其适合处理海量的实时消息,并能汇总分布式应用的数据,方便系统运维。
在具体的大数据场景中,Cloud Kafka能够很好地支持离线数据、流式数据的处理,并能够方便地进行数据聚合、分析等操作。
021- 2063 8828
我们为您提供更精准的服务
接受客户投诉与建议反馈
移动端便捷运营,数据同步零延迟
扫码一键关联,多账号轻松绑定,权限实时可控
关键指标实时掌控,账单资费清晰可查,AI助手随时响应