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

nRF52811墨水屏时钟DIY:从全刷到局刷的实战改造指南(附完整代码)

本文详细介绍了如何将基于nRF52811的墨水屏时钟从耗电的全屏刷新模式改造为高效的局部刷新模式。通过剖析全刷与局刷的原理差异,提供了从工程架构、驱动层适配到应用层逻辑重构的完整实战指南,并附上关键代码示例。改造后,设备功耗显著降低,续航大幅提升,同时解决了视觉闪烁问题,是DIY低功耗墨水屏应用的实用参考。

weixin_29194693的博客 354

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

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

shangmingtao的博客 6万+

达梦数据库与sharding-jdbc的深度适配实践

本文详细介绍了达梦数据库与sharding-jdbc的深度适配实践,包括驱动与依赖管理、核心适配实现、注册与配置等关键步骤。通过扩展shardingSphere的方式,成功实现了达梦数据库的分库分表功能,并提供了常见问题解决方案和性能优化建议,助力企业级应用高效处理海量数据。

weixin_30300225的博客 623

蓝桥杯STM32G431RBT6学习——GPIO

蓝桥杯STM32G431RBT6学习——GPIO

weixin_44098974的博客 2234

kafka消息队列

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

qq_45972323的博客 1868

burpsuite抓取ios数据包

1:首先在burpsuite中设置 添加proxy listeners 2:电脑开热点,手机连接,把代理设为电脑的ip和代理的端口 3:在Safari浏览器中打开网址http://burp下载证书 4:打开设置->通用->描述文件与设备管理 5:设置->通用->关于本机->证书信任设置 之后就可以正常抓包了 ...

weixin_45682070的博客 2065

Kafka—消息队列

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

WuHuaRou123的博客 6851

在 SAP S/4HANA 的 BP 事务里做保存前校验:BDT 事件、BUPA_FURTHER_CHECKS 与 CVI 扩展 BAdI 一次讲透

SAP BP事务保存前校验机制解析 摘要:本文系统梳理了SAP BP事务保存前的校验机制,揭示了三种关键校验点的差异与适用场景: BDT框架DCHCK事件:最靠近UI层,适合屏幕字段级校验,但API调用时可能失效 Classic BAdI BUPA_FURTHER_CHECKS:全局拦截点,可阻断整个BP保存,适合核心业务规则 CVI扩展校验:仅管控供应商/客户段落,需注意可能产生"BP已保存但段落未保存"的情况 文章通过真实案例(如黑名单校验、付款冻结等)展示了各校验点的最佳实践,并特

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 310

agent-browser 安装笔记(OpenClaw)

【代码】agent-browser 安装笔记(OpenClaw)

tiantiantbtb的博客 1241

【Kafka】消息队列Kafka基础

【Kafka】消息队列Kafka基础

学习笔记 1837

PX4从放弃到精通(二十一):使用git管理PX4代码

文章目录前言一、设置git密钥二、将代码上传至gitee 前言 Ubuntu 18.04 PX4 1.11.3 由于github有时网速较慢,本文使用gitee。 一、设置git密钥 ssh-keygen -t rsa -C “your_email@youremail.com” your_email@youremail.com为自己注册的gitee账户邮箱.设置路径与密码时,也直接回车不设置,如下图,密钥生成的位置在红框处. 在密钥目录下按Ctrl+H显示隐藏文件,进入.ssh文件夹用gedit打开id

超维空间科技的博客 3476

Kafka 消息队列

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

2301_80839375的博客 1866

60、新型共轴直升机建模与事件触发积分强化学习研究

本文研究了新型共轴直升机的动力学建模与控制方法,基于牛顿-欧拉方程建立了6自由度非线性模型,并设计了四通道闭环控制器实现稳定飞行。同时,提出一种事件触发积分强化学习方法,用于解决非零和博弈中的最优跟踪控制问题,在减少通信开销的同时保证系统性能。通过仿真验证了控制器的轨迹跟踪能力,并证明了算法下跟踪误差与神经网络权重估计误差的一致最终有界性。两种方法协同可提升飞行器的自主性与鲁棒性,未来可拓展至多智能体协作、智能交通等复杂系统应用。

rl6adventurer的博客 118

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

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

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

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 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、付费专栏及课程。

余额充值