消息队列
文章平均质量分 59
JackLi_csdn
这个作者很懒,什么都没留下…
展开
-
connect-mirror-maker.properties
【代码】connect-mirror-maker.properties。原创 2024-03-19 16:43:41 · 209 阅读 · 0 评论 -
kafka connect
一个连接器是源连接器,读取输入文件发送到kafka,另一个是接收连接器,读取kafka的消息发送到文件test.sink.txt中。offset.storage.file.filename - standalone中独有的配置。config.storage.topic:用于存储连接器和任务配置的主题,配置成删除。offset.storage.topic:用于存储偏移量的主题,配置成压缩。status.storage.topic:用于存储状态的主题。connector.class:连接器的java 类。原创 2024-03-19 16:41:36 · 546 阅读 · 0 评论 -
kafka命令
#列出所有的topic,包括__consumer_offsetsbin/kafka-topics.sh --zookeeper hadoop1:2181 --list# 列出topic的详情,包括bin/kafka-topics.sh --zookeeper hadoop1:2181 --describe --topic test#消费者bin/kafka-console-consumer.sh --bootstrap-server hadoop1:9056 --topic test#生产者原创 2020-12-09 10:07:02 · 184 阅读 · 0 评论 -
数据一致性
保证数据一致性的方法有很多,比如依赖数据库事务的原子性,将两个操作放在同一个事务中执行。但是,这样的做法不够灵活,因为我们的有可能做了分库分表,支付涉及的两个账户可能存储在不同的库中,无法直接利用数据库本身的事务特性,在一个事务中执行两个账户的操作。当然,我们还有一些支持分布式事务的开源框架,但是,为了保证数据的强一致性,它们的实现逻辑一般都比较复杂、本身的性能也不高,会影响业务的执行时间。所以,...原创 2020-01-08 10:50:56 · 247 阅读 · 0 评论 -
消息队列的存储
kafka的存储以partition为单位,每个partition包含一组消息文件(Segment file)和一组索引文件(index),并且消息文件和索引文件一一对应,具有相同的文件名(扩展名不同),文件名就是这个文件中第一条消息的索引序号每个索引中保存索引序号(这条消息在这个分区中的第几条消息)和对应的消息在消息文件中的绝对位置。kafka采用的是稀疏索引,为了节省存储空间,不会为每条消息...原创 2019-10-15 20:54:52 · 876 阅读 · 0 评论 -
Pulsar
Pulsar:采取了存储计算分离的技术ZooKeeper 集群的作用和在 Kafka 中是一样的,都是被用来存储元数据。BookKeeper 集群则被用来存储消息数据。BookKeeper 有点儿类似 HDFS,是一个分布式的存储集群,存储单元是ledger,Ledger可以简单的理解为某个主题队列中的一段,包含了连续的若干条消息(entry),为了保证Ledger中entry的严格顺序,pu...原创 2019-10-02 18:26:40 · 499 阅读 · 0 评论 -
kafka 生产者
1、分区策略ProducerRecord:初始化时的参数(1)指明 partition 的情况下,直接将指明的值直接作为 partiton 值;(2)没有指明 partition 值但有 key 的情况下,将 key 的 hash 值与 topic 的 partition 数进行取余得到 partition 值;(3)既没有 partition 值又没有 key 值的情况下,第一次调用时随...原创 2019-10-03 01:14:34 · 146 阅读 · 0 评论 -
数据可靠性
1)副本数据同步策略Kafka 选择了第二种方案,原因如下:1.同样为了容忍 n 台节点的故障,第一种方案需要 2n+1 个副本,而第二种方案只需要 n+1个副本,而 Kafka 的每个分区都有大量的数据,第一种方案会造成大量数据的冗余。2.虽然第二种方案的网络延迟会比较高,但网络延迟对 Kafka 的影响较小。2)ISR(broker的参数配置)Leader 维护了一个动态的 in-...原创 2019-10-03 17:50:23 · 1176 阅读 · 0 评论 -
kafka 消费者
1、 消费方式consumer 采用 pull(拉)模式从 broker 中读取数据。push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的。它的目标是尽可能以最快速度传递消息,但是这样很容易造成 consumer 来不及处理消息,典型的表现就是拒绝服务以及网络拥塞。而 pull 模式则可以根据 consumer 的消费能力以适当的速率消费消息。pull ...原创 2019-10-03 18:39:39 · 188 阅读 · 0 评论 -
kafka 生产者 API
1、消息发送流程Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程,以及一个线程共享变量——RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka broker。b...原创 2019-10-03 20:10:33 · 305 阅读 · 0 评论 -
kafka 消费者 API
offset 的维护是 Consumer 消费数据是必须考虑的问题。1、KafkaConsumer:需要创建一个消费者对象,用来消费数据ConsumerConfig:获取所需的一系列配置参数ConsuemrRecord:每条数据都要封装成一个 ConsumerRecord 对象2、自动提交 offset 的相关参数:enable.auto.commit:是否开启自动提交 offset 功...原创 2019-10-03 23:37:28 · 295 阅读 · 0 评论 -
kafka 拦截器
Intercetpor 的实现接口是org.apache.kafka.clients.producer.ProducerInterceptor,其定义的方法包括:(1)configure(configs)获取配置信息和初始化数据时调用。(2)onSend(ProducerRecord):该方法封装进 KafkaProducer.send 方法中,即它运行在用户主线程中。Producer 确...原创 2019-10-04 14:50:59 · 260 阅读 · 0 评论 -
Kafka 监控
system-config.properties:如果是老版本,这里是zk或者zookeepercluster1.kafka.eagle.offset.storage=kafka原创 2019-10-04 15:45:36 · 159 阅读 · 0 评论 -
flink kafka 保证 Exactly Once 语义
flink 通过checkpoint机制来定期保存计算任务的快照,包含两个重要的参数:1、整个计算任务的状态,2、数据源的位置信息,比如kafka的offsetflink通过数据流中插入一个barrier(屏障)来确保checkpoint中的位置和状态完全对应kafka的exactly once语义通过事务和生产幂等共同实现端到端的exactly once指的是数据从kafka的A主题...原创 2019-10-04 20:25:35 · 440 阅读 · 0 评论 -
kafka zookeeper
zookeeper:leader 负责数据的读写,而follower只负责数据的读kafka 不同,只有leader 负责读写,follower只负责备份。kafka在引入Replication之后,同一个Partition可能会有多个Replica,而这时需要在这些Replication之间选出一个Leader,Producer和Consumer只与这个Leader交互,其它Replica作为...原创 2019-09-23 20:57:28 · 303 阅读 · 0 评论 -
rockerMQ-NamingServer
NamingServer:为客户端提供寻址服务,监控每个broker的存活状态可以部署一个节点,也可以部署成集群,在集群模式下,NamingServer各个节点之间不需要通信,每个节点都可以独立提供全部服务。每个broker都需要和所有的NamingServer节点进行通信,topic信息变化,broker会主动通知所有的nameservice更新路由信息,同时,broker定时给所有的nam...原创 2019-10-01 22:12:17 · 176 阅读 · 0 评论 -
消息队列-消息复制
消息复制需要解决:高性能,高可用,数据一致性高性能:写的副本越多,写的性能越低,读取不影响数据一致性,必须采用主从模式的复制方式,同时需要保证在任何时刻,集群的主节点不能超过一个。高可用:在主节点宕机后,可以尽快选出新的主节点一、RocketMQ:(1)传统复制:复制的基本单位是broker,也就是服务端的进程,采用主从模式,是通过配置写死的,不支持动态切换【1】异步复制:写入主节点后...原创 2019-10-01 21:47:58 · 750 阅读 · 0 评论 -
Kafka问题
Error while fetching metadata with correlation id 10 : {monitor-desc-pedestrian-attr-recog_gpu-task-nod1=LEADER_NOT_AVAILABLE}config配置server.properties 解决:# listeners = PLAINTEXT://your.host.name原创 2018-05-04 17:10:23 · 673 阅读 · 0 评论 -
kafka SparkStreaming
发送的时候:kafka client 包里的KafkaProducer,发送的ProducerRecord接受的时候:spark.streaming.kafka包里的,0.10版本,KafkaUtils.createDirectStreamTopic:kafka里的AdminUtils.createTopickafka client 包里的KafkaConsumer和KafkaProduce...原创 2018-11-03 18:09:19 · 389 阅读 · 0 评论 -
消息队列架构和原理
https://www.cnblogs.com/cyfonly/p/5954614.html原创 2018-11-09 12:42:48 · 313 阅读 · 0 评论 -
消息队列
使用消息队列的场景1、异步处理比如秒杀系统,包括风险控制; 库存锁定; 生成订单; 短信通知; 更新统计数据等,风险控制和库存锁定之后,其余的流程可以在后续再进行,也就是可以异步处理好处:更快的返回结果;减少等待,实现了步骤流程间的并发,提升了系统性能2、流量控制比如秒杀系统,使用消息队列隔离网关和后端服务,以达到流量控制和保护后端的目的这种设计的优点是:能根据下游的处理能力自动调...原创 2019-07-29 10:28:05 · 215 阅读 · 0 评论 -
分布式事务
事务:原子性、一致性、隔离性、持久性。这四个属性通常称为 ACID特性目前大家所说的分布式事务,更多情况下,是在分布式系统中事务的不完整实现,分布式事务实现有 2PC(Two-phase Commit,也叫二阶段提交)、TCC(Try-Confirm-Cancel) 和事务消息。消息队列中的“事务”,主要解决的是消息生产者和消息消费者的数据一致性问题。事务消息适用的场景主要是那些需要异步更...原创 2019-08-01 09:50:56 · 123 阅读 · 0 评论 -
消息队列-不丢消息
检测消息丢失的方法利用消息队列的有序性来验证是否有消息丢失。在 Producer 端,我们给每个发出的消息附加一个连续递递增的序号,然后在 Consumer 端来检查这个序号的连续性。拦截器机制,在 Producer 发送消息之前的拦截器中将序号注入到消息中,在 Consumer 收到消息的拦截器中检测序号的连续性,消息检测的代码不会侵入到你的业务代码中,发消息的时候必须要指定分区,并且,在每...原创 2019-08-01 10:15:43 · 186 阅读 · 0 评论 -
消息队列-重复消息-幂等
MQTT协议(Message Queuing Telemetry Transport),翻译过来就是遥信消息队列传输,MQTT是一个基于TCP的发布订阅协议,设计的初始目的是为了极有限的内存设备和网络带宽很低的网络不可靠的通信,非常适合物联网通信。MQTT支持三种QOS等级:QoS 0:“最多一次”,消息发布完全依赖底层 TCP/IP 网络。分发的消息可能丢失或重复。例如,这个等级可用于环境传...原创 2019-08-06 11:48:49 · 1212 阅读 · 0 评论 -
序列化
序列化与反序列化:如何通过网络传输结构化的数据?二进制流和字节流本质上是一样的。将结构化数据转换为字节流的过程称之为序列化。序列化同样适用于将结构化数据保存在文件中。序列化的因素:(1)序列化后的数据最好易于阅读(2)实现简单(3)速度快(4)序列化后的信息密度越大越好对于强业务类系统,比如电商类、社交类的系统,他们的特点是业务复杂,但对性能要求没有那么苛刻,推荐使用json。如果...原创 2019-08-17 00:50:32 · 486 阅读 · 0 评论 -
消息队列-高性能进程间通信
高性能进程间通信(消息队列、RPC框架等的应用层传输协议)“断句”:预置长度,03 下雨天 03 留客天 02 天留 03 我不留双工通信:使用 ID 来标识请求与响应对应关系。一般不关心顺序,只要需要确保请求和响应能够正确对应上就可以了...原创 2019-08-22 16:45:29 · 206 阅读 · 0 评论 -
kafka 高性能IO
1、批量消息提升服务端broker处理能力,减少了broker处理请求的次数(1)发送端Kafka 的 Producer 只提供了单条发送的 send() 方法,并没有提供任何批量发送的接口。原因是,Kafka 根本就没有提供单条发送的功能,Kafka 的客户端 SDK 在实现消息发送逻辑的时候,采用了异步批量发送的机制。当你调用 send() 方法发送一条消息之后,无论你是同步发送send(...原创 2019-08-27 21:07:41 · 596 阅读 · 0 评论 -
kafka配置
server.properties#broker 的全局唯一编号,不能重复broker.id=0#删除 topic 功能使能delete.topic.enable=true#处理网络请求的线程数量num.network.threads=3#用来处理磁盘 IO 的现成数量num.io.threads=8#发送套接字的缓冲区大小socket.send.buffer.bytes=10...原创 2019-09-24 20:55:27 · 345 阅读 · 0 评论 -
kafka命令
启动脚本#! /bin/bashcase $1 in "start"){for i in hadoop102 hadoop103 hadoop104doecho "========== $i ==========" ssh $i '/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config...原创 2019-09-24 21:17:12 · 171 阅读 · 0 评论 -
Kafka
Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。 Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下:1、以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问原创 2016-05-09 14:19:17 · 472 阅读 · 0 评论