Kafka
文章平均质量分 89
Kafka
phygram
加油→_→
展开
-
消息中间件选型的比较因素
8.1 副本剖析:副本(Replica)是 分布式系统中常见的概念之一,指的是分布式系统对数据和服务提供的一种冗余方式。在常见的分布式系统中,为了对外提供可用的服务,我们往往会对数据和服务进行副本处理。数据副本 是指在不同的节点上持久化同一份数据,当某一个节点上存储的数据丢失时,可以从副本上读取该数据,这是解决分布式系统数据丢失问题最有效的手段。另一类副本是 服务副本,指多个节点提供同样的服务,每个节点有能力接收来自外部的请求并进行相应的处理。8.1.1 失效副本:broker端 用来判定失效原创 2021-10-06 12:11:07 · 326 阅读 · 0 评论 -
使用librdkafka的C++接口实现Kafka生产者和消费者客户端
main_producer.cpp#include "producer_kafka.h"using namespace std;int main() { KafkaProducer producer(); sleep(5); for(int i = 0; i < 10; i++) { char msg[64] = {0}; sprintf(msg, "%s%4d", "Hello Kafka ", i); //msg = "原创 2021-10-06 00:48:48 · 7056 阅读 · 2 评论 -
Kafka中的日志管理与磁盘高效存储
5. 日志存储:5.2.3 消息压缩:常见的压缩算法是数据量越大压缩效果越好,一条消息通常不会太大,这就导致压缩效果并不是太好。而kafka实现的压缩方式是将多条消息一起压缩,这样可以保证较好的压缩效果。在一般情况下,生产者发送的压缩数据在broker中也是保持压缩状态进行存储的,消费者从服务端获取的也是压缩的消息,消费者在处理消息之前才会解压消息,这样保持了端到端的压缩。(生产者复杂压缩,将压缩后的消息发到broker上;消费者负责解压,从broker上获得压缩消息本地解压)Kafka日志中使原创 2021-10-06 00:47:24 · 494 阅读 · 0 评论 -
Kafka消息队列中消费者的实现
3.1 消费者与消费组:消费者(Consumer)负责订阅Kafka中的主题(Topic),并且从订阅的主题上拉取消息。与其他一些消息中间件不同的是:在Kafka的 消费理念 中还有一层 消费组(Consumer Group)的概念,每个消费者都有一个对应的消费组。当消息发布到主题后,只会 投递给订阅它的每个消费组中的一个消费者。几个概念:(1)一个分区只能属于一个主题,一个主题可以有多个分区;(一个主题所含有的分区数量,是在配置Topic时指定的)(2)基于默认的分区策略,同一个消费组(即订阅原创 2021-10-06 00:16:59 · 1271 阅读 · 0 评论 -
Kafka消息队列中生产者的实现
从编程的角度而言,生产者就是负责向 Kafka 发送消息的应用程序。1. 客户端开发:一个正常的生产逻辑 需要具备以下几个步骤:(1)配置生产者客户端 参数 及 创建相应的生产者实例;(2)构建待发送的消息;(3)发送消息;(4)关闭生产者实例。对于 构建的消息对象 ProducerRecord,它并不是单纯意义上的消息,并且还包含了多个属性,原本要发送的与业务相关的消息体只是其中的一个value属性,比如 “Hello Kafka!” 只是 ProducerRecord对象中的一个属性。P原创 2021-10-05 14:43:44 · 573 阅读 · 0 评论 -
Kafka消息队列中的基本概念
Kafka的特点:Kafka的特点是 高吞吐、可持久化、可水平扩展、支持流数据处理 等。Kafka可扮演三种角色:(1)消息系统:(消息中间件)与传统的消息中间件一样,Kafka被用作消息中间件时具备 系统解耦、冗余存储、流量削峰、缓冲、异步通信、扩展性、可恢复性 等功能。与此同时,Kafka还提供了大多数消息中间件难以实现的 消息顺序性保障 及 回溯消费 的功能。(2)存储系统:Kafka把消息持久化到磁盘,相比于其他基于内存存储的系统而言,有效的降低了数据丢失的风险。(3)流式处理平台:原创 2021-10-04 19:32:39 · 459 阅读 · 0 评论