logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Linux C/C++ 学习日记(73):Kafka(一):基本介绍

本文系统介绍了消息队列及Kafka的核心概念与应用。消息队列通过解耦生产者和消费者,提供异步通信、流量削峰等优势。Kafka作为分布式消息系统,包含Producer、Consumer、Broker等核心组件,采用分区和副本机制实现高吞吐和高可用。重点阐述了:1)消息存储机制与副本同步原理;2)生产者分区策略(轮询/Key哈希/自定义);3)消费者组与四种分区分配策略(Range/RoundRobi

文章图片
#学习#kafka#分布式
Linux C/C++ 学习日记(77):Kafka(五):消费者代码(3):订阅、消费、重平衡、日志

本文介绍了Kafka消费者API的核心功能和使用要点。主要内容包括:1)rebalance_cb回调方法处理消费组重平衡事件;2)assign/unassign方法手动分配/释放分区;3)subscribe方法启用消费组自动分区分配;4)consume/poll方法拉取消息;5)event_cb回调处理各类事件。重点分析了手动assign在消费组模式下的风险:会绕过协调器管控,导致分区重复消费。正

文章图片
#linux#学习#kafka
Linux C/C++ 学习日记(75):Kafka(三):消费者代码(1):offset的含义和相关操作

本文介绍了Kafka消息offset的概念和相关API。offset分为消息offset(分区内唯一递增序号)和消费offset(消费者提交的位移)。文章详细解析了offset的常量含义(如OFFSET_BEGINNING从当前最早消息开始)、自动提交机制(默认5秒提交一次)及其风险(可能丢失未处理消息)。重点说明了核心API,包括同步/异步提交方式、手动指定offset的场景,以及如何通过ass

文章图片
#学习#kafka#分布式
Linux C/C++ 学习日记(78):Kafka(六):消费者代码(4):代码解析(附源码)

本文介绍了一个基于C++的Kafka消费者实现方案,采用分层设计和单例模式架构。代码包含配置层、管理层、状态层、回调层和核心业务层五个模块,支持多消费者实例管理、批量消息处理、手动位移提交和优雅关闭等功能。关键特性包括:1)单例模式统一管理消费者实例;2)手动位移提交保证数据不丢失;3)信号处理和析构函数实现优雅关闭;4)原子操作和互斥锁确保线程安全;5)完善的日志系统便于监控。实现细节涵盖了消费

文章图片
#linux#c语言#c++
配置(11):vscode中使用bookmarks扩展

本文介绍了在VSCode中使用Bookmarks插件的完整流程:首先安装插件,然后在设置中启用bookmarks.json配置文件。重点说明了两种添加书签的方法:一是通过快捷键或右键菜单实时添加(自动更新配置文件),二是直接编辑bookmarks.json文件(需重启生效)。配置文件包含文件路径、行号、列号和书签标题等关键信息。两种方法各有利弊,用户可根据需求选择使用。

文章图片
#vscode#ide#编辑器
Linux C/C++ 学习日记(46):io_uring(二):reactor 与proactor的性能测试对比

本文对比了Reactor和Proactor两种I/O模型的性能差异。测试结果显示,Proactor(基于io_uring)在处理不同数据包大小时QPS更高,特别是处理2KB数据时Proactor的QPS达到175,000,而Reactor(基于epoll)为148,000。文章包含完整的测试代码:epoll_tcp_server.c实现Reactor模式,uring_tcp_server.c实现P

文章图片
#学习
配置(4):VScode c/c++编译环境的配置:c_cpp_properties.json

摘要:c_cpp_properties.json是VSCode中C/C++扩展的核心配置文件,用于提供编译上下文环境,实现代码提示、语法检查等功能。该文件需要放置在.vscode文件夹下,主要配置项包括:includePath(头文件搜索路径)、compilerPath(编译器路径)、cStandard/cppStandard(语言标准)和intelliSenseMode(模拟模式)。配置文件不影

文章图片
#vscode#c语言#c++
Linux C/C++ 学习日记(61):Redis(二):多种数据结构的操作指令

注:该文用于个人学习记录和知识交流,如有不足,欢迎指点。

文章图片
#学习
配置(4):VScode c/c++编译环境的配置:c_cpp_properties.json

摘要:c_cpp_properties.json是VSCode中C/C++扩展的核心配置文件,用于提供编译上下文环境,实现代码提示、语法检查等功能。该文件需要放置在.vscode文件夹下,主要配置项包括:includePath(头文件搜索路径)、compilerPath(编译器路径)、cStandard/cppStandard(语言标准)和intelliSenseMode(模拟模式)。配置文件不影

文章图片
#vscode#c语言#c++
配置(13):给Vmware中的ubuntu扩容(只适用LVM分区)

摘要:本文介绍Ubuntu Server 22.04系统下LVM分区的扩容方法。首先通过lsblk、vgdisplay等命令判断是否为LVM分区,确认后关闭虚拟机并在VMware中扩展虚拟磁盘。系统启动后执行lvextend分配卷组空闲空间,使用resize2fs扩展文件系统。关键步骤包括确认卷组名和逻辑卷路径,整个过程支持在线操作无需卸载分区。最后通过df -h/验证扩容结果,演示了从50G扩容

文章图片
#ubuntu#linux#运维
    共 14 条
  • 1
  • 2
  • 请选择