Kafka消息队列

Kafka详解 consumer 提交offset的时候,kafka Offset manager会首先追加一条新的conmit消息到 _consumer_offset topic中,然后更新对应的缓存,读offset时从缓存中读取,而不是直接读取 _consumer_offset topic。如查找368801的offset消息。同一个Topic的每个分区中的数据是不重复的,partition的表现形式是一个一个文件夹。文件,每个 .log文件 的大小是一样的,但是里面存储的消息条数可能不相同(可能消息的大小不一致)。 阅读详情

目录

消息队列

‌一、 消息队列的核心概念‌

‌二、 消息队列的核心特征‌

‌三、 消息队列的重大意义‌

Zookeeper

‌一、概念‌

‌二、核心特性‌

‌三、意义‌

‌四、集群部署步骤‌

‌环境准备‌

‌安装与配置‌

‌启动与验证‌

‌关键注意事项‌

 Kafka

‌一、Kafka核心概念‌

‌二、Kafka核心特性‌

‌三、Kafka的意义‌

‌四、Kafka集群部署步骤‌

‌1. 环境准备‌

‌2. 安装与配置‌

‌3. 启动与验证‌

‌五、ZooKeeper与Kafka的联系‌


消息队列

‌一、 消息队列的核心概念‌

消息队列是一种‌异步通信机制‌,本质上是一个‌中间件‌组件。它允许‌生产者应用程序‌将消息(Message)发送到一个‌队列(Queue)‌ 中,而‌消费者应用程序‌可以在之后(通常是立即,但不必是同步的)从队列中获取并处理这些消息。

可以把消息队列想象成现实生活中的一个‌邮政系统‌或‌快递中转站‌:

  1. ‌生产者‌:就像寄信人或发货人。它生成需要传递的信息或任务(消息),然后“投递”给它知道地址(某个特定队列)的邮局(消息队列)。
  2. ‌队列‌:就像邮局里的邮箱或仓库里的货架。它临时存储消息,确保消息不会丢失,并按照一定的规则(通常是先进先出 FIFO)等待被取走。
  3. ‌消费者‌:就像收信人或收货人。它知道要去哪个邮箱或货架(订阅特定的队列)取信或取货(拉取消息),然后进行阅读或处理(消费消息)。
  4. ‌中转站 / 分拣中心‌:大型的消息队列系统(如 Kafka, RabbitMQ, Pulsar 等)本身就像一个庞大的物流中心,管理着成千上万个邮箱(队列),负责高效地接收、存储、路由和分发消息。

‌核心思想:解耦生产与消费的时机和方式。‌

  • ‌生产者‌不需要知道:
    • 谁(哪个特定的消费者)会处理消息。
    • 消费者当前是否可用、是否忙碌。
    • 消费者如何处理消息。
    • 消费者处理消息是成功还是失败(尽管队列可以提供机制让消费者报告状态)。
  • ‌生产者只需关心‌:将消息发送到指定的队列,并确保消息被队列成功接收(消息入库)。
  • ‌消费者‌不需要知道:
    • 消息是谁(哪个特定的生产者)发送的。
    • 消息是什么时候产生的(只要队列里有消息就可以处理)。
  • ‌消费者只需关心‌:从订阅的队列中获取消息,并执行自己的业务逻辑处理它。

‌二、 消息队列的核心特征‌

消息队列之所以强大,在于它提供了一系列关键特性来解决分布式系统面临的挑战:

  1. ‌解耦:‌

    • ‌这是最核心的特征。‌ 生产者和消费者完全独立运行,互不依赖对方的可用性、实现细节或处理速度。一方宕机、升级或变更,另一方通常不受影响(只要队列本身可用)。系统模块化程度大大提高。
  2. ‌异步通信:‌

    • 生产者发送消息后‌无需等待‌消费者立即处理完成。发送操作通常很快(只是将消息存入队列),生产者可以立即返回处理其他任务。
    • 消费者可以在自己方便的时候(资源允许时)处理消息。这显著提高了系统的整体吞吐量和响应速度(对用户请求的响应更快)。
  3. ‌削峰填谷:‌

    • ‌应对流量洪峰:‌ 当突发大量请求涌入生产者时,消息队列作为缓冲区可以暂存这些请求(消息),避免消费者系统瞬间被压垮(超时、崩溃)。生产者可以持续高速发送。
    • ‌平滑消费:‌ 消费者按照自身处理能力稳定地从队列中取出并处理消息,即使生产者发送速率波动很大,消费者也能保持相对稳定的负载。这提升了系统的稳定性和可用性。
  4. ‌可靠性与持久化:‌

    • ‌消息不丢失:‌ 大多数消息队列提供持久化机制,确保消息在发送到队列后,即使队列服务进程重启,消息也不会丢失(写入磁盘)。
    • ‌消费者确认机制:‌ 消费者处理完消息后,通常会向队列发送一个确认。只有收到确认,队列才会认为该消息已被成功处理并安全删除(或标记为已完成)。如果消费者在处理过程中崩溃或因网络问题未确认,队列会将消息重新投递给其他消费者(或该消费者恢复后),保证消息至少被消费一次(At-Least-Once Delivery)。
    • ‌副本/高可用:‌ 分布式消息队列系统通常采用多副本机制(如 Kafka 的副本分区),确保集群中部分节点失效时,消息不会丢失且服务仍然可用。
  5. ‌伸缩性:‌

    • ‌生产者扩展:‌ 可以轻松增加生产者实例数量来应对更高的消息产生速率。
    • ‌消费者扩展:‌ 可以轻松增加消费者实例数量(通常是横向扩展)来提高消息处理能力。多个消费者可以并行处理同一个队列中的消息(如 Kafka 的 Consumer Group)。
    • ‌队列系统自身扩展:‌ 大型消息队列系统本身就是分布式的,可以通过增加节点来扩展存储容量和吞吐量。
  6. ‌顺序保证:‌

    • ‌基础 FIFO:‌ 大多数队列保证消息在单个队列中是先进先出(FIFO)的顺序。
    • ‌分区/Sharding 顺序:‌ 在需要极高并行处理的场景(如 Kafka),队列可以被划分为多个分区(Partition)或分片(Shard)。队列保证在单个分区内消息是严格有序的(FIFO)。不同分区之间的消息顺序则不保证。这允许消费者并行处理多个分区,同时保持特定键(Key)的消息顺序(通过将同一键的消息路由到同一分区)。
  7. ‌扩展性与灵活性:‌

    • ‌消息总线:‌ 一个消息队列集群可以承载成百上千个不同的队列,服务于系统中各种不同的异步通信需求。
    • ‌发布/订阅模式:‌ 消息队列通常支持发布/订阅模型。生产者发布消息到某个主题,多个消费者可以各自独立地订阅这个主题并接收所有消息的副本。这实现了消息的广播或多播。
    • ‌路由与过滤:‌ 高级队列系统(如 RabbitMQ)支持基于路由键(Routing Key)和交换器(Exchange)的复杂消息路由规则,或者消息内容过滤(如 Kafka Streams, Pulsar Functions),允许将消息精准投递给感兴趣的消费者。

‌三、 消息队列的重大意义‌

消息队列在现代分布式系统、微服务架构、大数据处理、云原生应用中扮演着不可或缺的角色,其意义深远:

  1. ‌架构演进的核心支柱:‌

    • 是实现‌微服务架构‌的基石技术之一。服务间通过消息队列进行异步通信,彻底解耦了服务,使服务可以独立开发、部署、扩展和更新,是实现松耦合、高内聚微服务的关键。
    • 是构建‌事件驱动架构‌的核心组件。事件(消息)的生产和消费驱动着业务流程,系统对变化做出响应更敏捷。
  2. ‌提升系统稳定性与可用性:‌

    • ‌隔离故障:‌ 一个组件(生产者或消费者)的故障通常不会级联影响到整个系统。队列作为缓冲区隔离了故障。
    • ‌保证关键业务不中断:‌ 例如,下单后核心流程(支付、扣库存)完成后立即返回用户,而发短信、发优惠券等次要逻辑通过消息队列异步处理,即使短信服务暂时不可用,也不会阻塞核心下单流程。队列会持久化保存消息等待短信服务恢复。
    • ‌高可用保障:‌ 分布式消息队列自身的高可用设计确保了通信骨干的可靠性。
  3. ‌增强系统性能与响应能力:‌

    • ‌快速响应:‌ 异步处理使生产者能够快速响应用户请求(如HTTP请求),将耗时操作(如写数据库、调用第三方API)交给消费者异步完成。
    • ‌高吞吐量:‌ 通过削峰填谷和消费者并行扩展,系统能够处理远超单个消费者处理能力的峰值流量和平均流量。
  4. ‌实现系统弹性和可扩展性:‌

    • 组件(生产者和消费者)可以独立地、按需地进行水平扩展,以满足变化的负载需求,而无需整体重构系统。
  5. ‌改善数据一致性(最终一致性):‌

    • 在分布式事务场景下,消息队列常与本地事务表结合,实现最终一致性模式。例如,本地业务操作和发送消息(通知其他系统)可以在一个数据库事务中完成(将消息写入本地表),然后由一个独立的进程(或特殊的消费者)从本地表读取消息并可靠地发送到消息队列,确保核心业务成功时,消息一定能发出。消费者处理消息完成另一边的业务逻辑,最终达到两边数据一致。
  6. ‌构建数据流管道:‌

    • 消息队列(特别是 Kafka, Pulsar 这类流式平台)是构建实时数据管道(Data Pipeline)的核心。它高效、可靠地将数据从源头(如日志、数据库变更 CDC、传感器数据)传输到数据湖、数据仓库、实时分析引擎(如 Flink, Spark Streaming)或下游服务进行处理和分析。
  7. ‌支持业务场景多样化:‌

    • ‌通知系统:‌ 订单状态变更、发货通知、系统告警等。
    • ‌数据同步:‌ 缓存更新(如 Redis)、搜索索引更新(如 Elasticsearch)、主库到从库的数据复制。
    • ‌日志收集与聚合:‌ 集中收集来自不同服务器的应用日志。
    • ‌流处理:‌ 实时计算指标(如用户行为分析、实时仪表盘)、实时风控、实时推荐。
    • ‌任务调度/批处理:‌ 将耗时任务放入队列,由后台消费者处理(如视频转码、报表生成)。

‌总结:‌

消息队列是现代软件架构中解决‌系统解耦、异步处理、流量削峰、可靠性保障、可扩展性‌等核心挑战的利器。它通过提供一个‌可靠、高效、异步的消息传递通道‌,将相互依赖的服务解耦开来,使整个系统架构变得更加‌灵活、弹性、健壮和高性能‌。从单体应用到微服务,从传统IT到云原生和大数据,消息队列都是构建复杂、可靠、可扩展分布式系统的关键基础设施之一。理解并合理运用消息队列,是设计和维护现代软件系统的必备技能。

Zookeeper

‌一、概念‌

    ZooKeeper是一个‌分布式协调服务‌,旨在解决分布式系统中的一致性、配置管理、集群同步等问题。其核心是一个基于树形结构的‌分层命名空间‌(类似文件系统),每个节点称为‌ZNode‌,可存储数据(上限1MB)及子节点。

    通过‌Leader选举机制‌(如Fast Paxos/ZAB协议)保证集群事务的顺序性与数据强一致性,适用于分布式锁、服务注册、配置中心等场景。


‌二、核心特性‌

  1. ‌数据一致性‌
    • 全局数据一致:所有Server保存相同数据副本,客户端连接任意节点获取一致数据。
    • 原子性操作:写操作要么全集群成功(半数以上节点确认),要么失败,无中间状态。
  2. ‌高可用性‌
    • 基于多副本和Leader选举(ZAB协议),半数以上节点存活即可正常服务,适合奇数台服务器部署。
  3. ‌实时通知(Watcher机制)‌
    • 客户端可监听ZNode变更(创建/删除/数据更新),实现分布式事件触发。
  4. ‌顺序性保证‌
    • 所有请求严格按发起顺序执行(FIFO),避免并发冲突。

‌三、意义‌

  1. ‌简化分布式系统开发‌
    • 提供统一接口解决分布式锁、配置管理、服务发现等通用问题,降低开发复杂度。
  2. ‌支撑大型分布式生态‌
    • 作为Hadoop、Kafka、HBase等系统的核心依赖,管理集群元数据与协调任务。
  3. ‌保障系统鲁棒性‌
    • 通过容错设计和自动故障恢复(如Leader重选),提升分布式应用的稳定性。

‌四、集群部署步骤‌

‌环境准备‌
  • ‌服务器‌:至少3台奇数节点(满足半数存活原则),关闭防火墙,配置SSH互信。
  • ‌依赖‌:安装JDK(需1.8+)。
‌安装与配置‌
  1. ‌下载解压‌
    wget https://archive.apache.org/dist/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz 
    tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz -C /opt/ 
  2. ‌配置文件‌
    复制模板并修改conf/zoo.cfg:
    tickTime=2000 
    initLimit=10 
    syncLimit=5 
    dataDir=/data/zookeeper # 数据目录 
    dataLogDir=/logs/zookeeper # 事务日志目录 
    clientPort=2181 
    server.1=node1:2888:3888 # 节点1(2888为数据同步端口,3888为选举端口) 
    server.2=node2:2888:3888 
    server.3=node3:2888:3888 
    ```:ml-citation{ref="4,6" data="citationList"} 
  3. ‌创建数据目录与ID‌
    mkdir -p /data/zookeeper /logs/zookeeper 
    echo "1" > /data/zookeeper/myid # 节点1的ID,其他节点依次设为2、3 ```:ml-citation{ref="4,6" data="citationList"} 
‌启动与验证‌
  1. ‌启动集群‌
    bin/zkServer.sh start # 所有节点执行 
  2. ‌检查状态‌
    bin/zkServer.sh status # 输出Leader/Follower角色 ```:ml-citation{ref="4,7" data="citationList"} 
  3. ‌测试客户端连接‌
    bin/zkCli.sh -server node1:2181 # 连接任意节点 

‌关键注意事项‌

  • ‌端口开放‌:确保2181(客户端)、2888(数据同步)、3888(选举)端口互通。
  • ‌数据备份‌:定期清理事务日志(dataLogDir)与快照(dataDir),避免磁盘占满。

部署完成后,可通过ZNode操作(create/get/set)和Watcher监听验证功能完整性。

 Kafka

‌一、Kafka核心概念‌

  1. ‌定义‌
    Kafka是一个‌分布式流处理平台‌,采用发布-订阅模型,支持高吞吐量、低延迟的实时数据处理,常用于日志聚合、事件溯源和消息队列。
  2. ‌核心组件‌
    • ‌Producer‌:向Topic发布消息的客户端。
    • ‌Consumer‌:订阅Topic并消费消息的客户端,可分组实现负载均衡。
    • ‌Broker‌:Kafka集群中的服务器节点,存储分区数据。
    • ‌Topic‌:消息的逻辑分类,分为多个‌Partition‌(物理分片)以提高并行度。

‌二、Kafka核心特性‌

  1. ‌高吞吐与持久化‌
    • 支持每秒百万级消息处理,数据持久化到磁盘并保留指定时长。
  2. ‌水平扩展‌
    • 通过增加Broker和分区数实现集群扩容。
  3. ‌容错性‌
    • 分区多副本(Replica)机制,Leader故障时Follower自动接管。
  4. ‌低延迟‌
    • 消息生产到消费延迟可控制在毫秒级。

‌三、Kafka的意义‌

  1. ‌解耦系统‌
    生产者与消费者异步通信,避免直接依赖。
  2. ‌实时数据处理‌
    支撑流式计算(如Flink、Spark Streaming)的数据管道。
  3. ‌削峰填谷‌
    应对突发流量,保护后端系统。

‌四、Kafka集群部署步骤‌

‌1. 环境准备‌
  • ‌依赖‌:JDK 1.8+、ZooKeeper集群(或Kafka 2.8+的KRaft模式)。
  • ‌服务器‌:至少3台Broker(建议奇数节点)。
‌2. 安装与配置‌
# 下载解压 
wget https://archive.apache.org/dist/kafka/3.6.0/kafka_2.13-3.6.0.tgz 
tar -zxvf kafka_2.13-3.6.0.tgz -C /opt/ 

修改config/server.properties:

broker.id=1 # 节点唯一ID 
listeners=PLAINTEXT://host:9092 log.dirs=/data/kafka-logs 
zookeeper.connect=zk1:2181,zk2:2181/kafka # ZooKeeper地址:ml-citation{ref="7,9" data="citationList"} 
‌3. 启动与验证‌
# 启动ZooKeeper(若未使用KRaft模式) 
bin/zookeeper-server-start.sh config/zookeeper.properties 
# 启动Kafka 
bin/kafka-server-start.sh config/server.properties 
# 创建Topic测试 
bin/kafka-topics.sh --create --topic test --partitions 3 --replication-factor 2 --bootstrap-server host:9092:ml-citation{ref="7,9" data="citationList"} 

‌五、ZooKeeper与Kafka的联系‌

  1. ‌元数据管理‌
    ZooKeeper存储Kafka集群的Broker注册信息、Topic分区分配及Leader选举状态。
  2. ‌控制器选举‌
    通过ZooKeeper临时节点选举集群唯一Controller,负责分区Leader切换。
  3. ‌消费者偏移量(旧版本)‌
    Kafka 2.8.0前,消费者组的Offset由ZooKeeper管理,后迁移至内部Topic __consumer_offsets。
  4. ‌动态配置同步‌
    ZooKeeper的/config路径实现集群参数动态更新。

‌注‌:Kafka 2.8+支持KRaft模式,可脱离ZooKeeper独立运行。

消息中间件Kafuka学习——初次配置使用 消息队列Kafuka学习 阅读详情

相关推荐

Kafka使用教程和案例详解

本文详细介绍了 Kafka 的基本概念、安装配置、使用教程以及实际应用案例。Kafka 作为一个高性能的分布式消息系统,广泛应用于实时数据处理、日志收集、消息队列等领域。通过本文的介绍,相信读者可以掌握 Kafka 的基本使用方法,并能够在实际项目中应用 Kafka 提高数据处理能力。通过配置和使用 Kafka,开发者可以构建高效、可靠的流处理系统,满足各种实时数据处理需求。版权声明:原创博主:牛哄哄的柯南[哈哈][抱拳]加油!共同努力!Keafmd牛哄哄的柯南,期待你的。

『愚』的博客 9280

Kafka学习笔记

本文转载来自:https://www.cnblogs.com/qingyunzong/p/9004703.html Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,图展示了Kafka的相关术语以及之间的关系 上图一个topic配置了3个partition。Partition1有两个offset:0和1。Partition2有4个offs...

weixin_30650859的博客 2081

SAP PS项目计划成本与预算设计:从概念到可用性控制详解

在项目管理中,成本计划与预算管控是决定项目成本能否受控的两个核心概念。成本计划反映“预计花费”,预算是“授权上限”,两者在WBS结构上既相互关联又彼此独立。SAP PS通过计划版本管理不同口径的估算,并借助可用性控制机制对采购申请、采购订单等业务操作进行事前拦截与提示,从而实现从“事后追认”到“事前控制”的转变。理解计划成本作为预算基线、预算作为控制阀门的原理,能够帮助实施顾问和项目管理者合理设计项目财务流程。在大型工程、研发或总包项目中,明确WBS层级、预算对象和检查规则,可有效避免超支风险。围绕SAP

weixin_33146151的博客 359

Kafka : Kafka入门教程和JAVA客户端使用

目录 目录 Kafka简介 环境介绍 术语介绍 消费模式 下载 集群安装配置 命令使用 JAVA实战 参考文献 Kafka简介 由Scala和Java编写,Kafka是一种高吞吐量的分布式发布订阅消息系统. 环境介绍 操作系统:centos6.5 kafka:1.0.1 zookeeper:3.4.6 术语介绍 Broker : Kafka集群包含一个或...

shangmingtao的博客 6万+

AIDD机器学习深度学习药物发现与设计教程总结

AIDD(AI Drug Discovery & Design):是近年来非常火热的技术应用,且已经介入到新药设计到研发的大部分环节当中,为新药发现与开发带来了极大的助力。倾向于机器对数据库信息的自我学习,可以对数据进行提取和学习,一定程度上避免了化合物设计过程中的试错路径,同时还会带来很多全新的结构,为药物发现打破常规的结构壁垒。覆盖了机器学习和深度学习,能与新药研发相结合并实质性的应用到靶点预测、高通量筛选、药物设计、药物的ADMET性质预测等;且算力方面,由早期应用于药物发现领域的决策树、随机

wutianlin0723的博客 6816

基于多时间尺度的电动汽车光伏充电站联合分层优化调度(Matlab代码实现)

该研究提出了一种电动汽车光伏充电站的分层优化调度方法,采用日前-日内两阶段协同优化框架。日前阶段通过混合整数规划对多充电站进行全局优化,以平抑电网波动和降低购电成本为目标;日内阶段基于实时数据,采用NSGA-II等算法动态分配充电功率。该方法实现了光伏高效消纳、成本节约和电网负荷平衡的有效统一。

zhangxd212489的博客 519

kafka消息队列

消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,有消息系统来确保信息的可靠专递,消息发布者只管把消息发布到 MQ 中而不管谁来取,消息使用者只管从 MQ 中取消息而不管谁发布的,这样发布者和使用者都不用知道对方的存在。RabbitMQ。

qq_45972323的博客 1868

从开通VPS到搭建宝塔面板全教程

你在输入域名(此时我们可能没有类似aaa.com这样的域名,所以要输入VPS的IP地址)的时候,下面的根目录也会跟着变动,等输入完成后,你可以把根目录再改回成/www/wwwroot/dq。这时,在你的浏览器中,输入外网面板地址的URL,输入username和password,即可登陆宝塔面板。第一次登陆,需要绑定你的宝塔账号,你可以到宝塔的注册界面,用手机注册一个,然后绑定,首先看一下你的VPS操作系统是什么类型的(其实你在选择VPS的时候,就已经选定了,我选择的事Centos系统)。

kxltsuperr的专栏 3734

Kafka—消息队列

Kafka—消息队列 一、Kafka概述 1.1、简介 kafka是一个分布式的基于发布/订阅模式的消息队列 主要应用场景:大数据实时处理领域 1.2、什么是消息队列? 消息队列 = 消息 + 队列 消息 : 说白了就是数据(请求数据、业务数据等等) 队列 : 就是队列(数据结构中线性表或链表实现的先入先出的队列) 消息队列就是存放数据的队列,一种容器而已,消息队列的概念很简单,但结合实际的应用场景便很复杂 如图便是消息队列最简单的消息队列模型 向消息队列中存放数据的叫做生产者 从消息队列中获取数

WuHuaRou123的博客 6851

Arduino四足开源机器猫-Opencat(导航贴)

本内容由我和小伙伴共同编写,未经授权,谢绝转载! 1.项目介绍 2.组装调试教程 (一)Opencat-F (1)资料地址(包含程序代码&&3D打印图纸): 链接:https://pan.baidu.com/s/1AcVA5jSiOSzRKqEQAomrTA 提取码:szfx (2) (二)Opencat-B (1)组装调试 (2)组装调试注意事项 (3)添加新技能 3.编程 ...

qqliuzhitong的博客 4172

【Proteus仿真】51单片机+DAC0832+LM358放大电路波形发生器

【Proteus仿真】51单片机+DAC0832+LM358放大电路波形发生器

perseverance51博客 5786

【Kafka】消息队列Kafka基础

【Kafka】消息队列Kafka基础

学习笔记 1837

RAG效果调优清单(命中率提升3倍)

本文提出了一套工程可落地的RAG(检索增强生成)模型组合方案,强调通过最优组合实现效果、成本和扩展性的平衡。核心架构包括Embedding模型、向量数据库检索、Rerank模型和LLM生成四个环节,推荐了四种具体组合方案:本地最优性价比(bge+reranker+Qwen 7B)、效果优先(bge-large+reranker+14B模型)、高并发(轻量模型+vLLM)和中英混合(多语言模型)。文章指出Embedding决定检索下限,Rerank提升准确率上限,LLM影响最终体验,并提供了不同场景的优化策略

刘一说的IT专栏 522

Kafka 消息队列

核心定义消息队列(Message Queue)是一种异步通信中间件,允许应用通过发送/接收消息解耦系统组件。采用生产者-消费者模型解耦系统。生产者发送消息到队列,消费者异步拉取处理,典型组件如 Kafka、RabbitMQ。其工作模型如下分布式协调服务,为分布式系统提供一致性数据管理节点监听和集群选举能力核心特性树形命名空间(类似文件系统路径,如数据节点ZNode(分持久节点PERSISTENT和临时节点EPHEMERAL监听机制Watch(实时感知节点变化)强一致性(基于Zab 协议保证数据一致)

2301_80839375的博客 1866

瑞芯微RV1109平台GT911触摸屏驱动调试记录1

很明显这里可以看到系统已经配置了i2c-0、i2c-1、i2c-3、i2c-4、i2c-5,当开机的时候系统已经将相应的I2C节点注册成功了,说明I2C部分是没有问题的。

bingdund的博客 297

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【.NET】Kafka消息队列介绍,使用Confluent.Kafka集成Kafka消息队列

【.NET】Kafka消息队列介绍,使用Confluent.Kafka集成Kafka消息队列

技术分享博客,工作经验,技能学习分享(多做一些不会的,会有意向不到的收获,IT高手不可能永远只做会的) 2071

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: Nginx+Tomcat负载均衡
下一篇: NoSQL——Redis配置与优化
霖檬ing
博客等级 码龄2年 701粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值