自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(157)
  • 收藏
  • 关注

原创 6.Kafka-生产者发送到Broker分区策略和常见配置

摘要:本文详细介绍了Kafka生产者分区选择策略和核心配置参数。分区策略包括指定PartitionID、Key哈希、轮询和自定义四种方式,分别适用于不同场景。核心配置参数涵盖集群连接(bootstrap.servers)、消息确认机制(acks)、重试机制(retries/retry.backoff.ms)和批处理优化(batch.size/linger.ms/buffer.memory)等方面,并针对高吞吐和低延迟场景给出了具体参数建议。通过合理配置这些参数,可以优化Kafka生产者的性能和可靠性。

2025-12-09 20:00:00 652

原创 5.Kafka-HW重要特性与场景分析

Kafka的HW机制通过维护高水位线(HW)确保数据一致性和可靠性。关键特性包括:1)所有副本仅提供HW之前的数据读取;2)HW标记已提交消息,防止数据丢失;3)作为副本同步进度指标。典型场景分析显示,当Leader宕机时,新Leader会截断到HW位置;Follower重启时会从HW开始同步。核心配置参数如replica.lag.time.max.ms和min.insync.replicas直接影响HW推进和数据可靠性。监控指标包括副本滞后情况和LEO/HW值,确保系统稳定运行。该机制有效平衡了数据一致性

2025-12-05 17:05:47 637

原创 4.Kafka-LEO+HW的定义与特性+工作流程

Kafka的LEO(日志末端偏移量)和HW(高水位线)是保证数据一致性的关键机制。LEO表示副本当前写入位置,每个副本独立维护;HW则是所有ISR副本中最小LEO,代表已安全提交的消息边界。工作流程中,Leader先写入新消息并更新LEO,待所有ISR副本同步后才提升HW,确保只有被完整复制的消息才对消费者可见。HW的计算遵循min(ISR_LEO)原则,这种机制有效防止了数据丢失,同时控制消息的可见性。

2025-12-05 17:05:37 1051

原创 3.Kafka-数据存储流程

Kafka数据存储流程分为四个阶段:1)生产者发送消息到Broker;2)日志追加与持久化,包括分配偏移量、写入页缓存和ISR副本同步;3)异步数据持久化到物理磁盘;4)索引更新与日志段滚动。整个过程通过顺序写入、页缓存和副本机制实现了高吞吐与可靠性,其中ISR机制和异步刷盘是关键优化点。日志段滚动策略则便于文件管理和数据清理。

2025-12-05 11:29:18 640

原创 2.Kafka-命令行操作、两种消息模型

本文介绍了Kafka命令行常用操作和JMS消息模型。Kafka操作包括创建/查看/删除Topic、生产消费消息等命令,其中消费者可使用--from-beginning参数读取历史数据。JMS支持两种消息模型:点对点模式确保消息只被一个消费者消费;发布订阅模式实现一对多广播,允许多个订阅者接收相同消息。这些操作和模型为消息队列系统提供了基础功能支持。

2025-12-03 18:28:07 369

原创 1.Kafka-快速认识概念

Kafka核心概念解析:Broker是服务端节点,存储Topic数据;Producer负责发送消息,Consumer消费消息。架构类比数据库:Broker如数据库,Topic如表,Partition如分表。消费规则:同一ConsumerGroup内,一个Partition只能由一个Consumer消费,但不同Group可并行消费同一Partition。

2025-12-02 23:17:08 490

原创 主流消息队列(MQ)和技术选型

本文介绍了三种主流消息队列:Kafka、RabbitMQ和RocketMQ的特点及适用场景。Kafka作为高吞吐分布式流处理平台,适合日志聚合和实时数据分析;RabbitMQ基于AMQP协议,适合企业应用集成和复杂路由;RocketMQ专为大规模分布式系统设计,适合电商金融等交易场景。Kafka侧重大数据吞吐,RabbitMQ强调易用性和可靠性,RocketMQ则兼顾高性能与事务支持。选择时需根据业务需求权衡:大数据管道选Kafka,企业集成选RabbitMQ,核心交易链路选RocketMQ。

2025-12-02 21:52:30 481

原创 查找总价格为目标值的两个商品+三数之和+四数之和+长度最小的子数组+无重复字符的最长子串

2025.4.1,首先,祝各位愚人节快乐,还是每日五道算法题,依旧是我们的双指针算法!,今天的算法题如标题!

2025-04-01 17:09:04 687

原创 移动零+复写零+快乐数+盛最多水的容器+有效三角形的个数

2025.3.31,今天开始每日五道算法题,今天的算法题如标题!

2025-03-31 23:15:40 690

原创 好友申请同意/拒绝功能

上一集我们就完成了用户信息界面添加好友的功能,我们能够主动对其他用户发送申请添加好友的功能,但是我们仅仅只是实现发送了这个申请的功能,并没有实现获取到对方是否同意/拒绝的功能,所以这一集我们将会介绍如何实现获取好友申请处理结果的功能!

2024-12-10 21:39:53 2035

原创 用户信息界面添加好友功能

在前几集,我们就完成了用户信息界面的三大按钮的两大按钮的功能,一个是发送消息,一个是删除好友的功能,那么我们这一集就来完成申请好友的功能!

2024-12-10 19:27:14 1546

原创 用户信息界面删除好友功能

在上一集我们就完成了三大按钮的禁用逻辑的代码编写,以及复用了我们之前点击好友列表项跳转对应会话项功能,我们就能够点击用户详细消息窗口的发送消息按钮进行跳转对应的会话进行消息发送的功能!那么这一集我们就来实现一下删除好友的功能!

2024-12-10 18:14:14 1775

原创 用户信息界面按钮禁用+发送消息功能

那么在上一集我们就完成了个人信息窗口所有的内容的修改,那么我们就需要进一步来看我们别的用户的信息界面的窗口。

2024-12-10 16:47:16 1105

原创 个人信息修改头像

上一集我们就完成了修改手机号的内容。当然我们只完成了显性的修改内容,我们还有一个隐性的修改内容,那就是我们修改头像的内容。

2024-12-09 18:48:22 1692

原创 修改手机号码

在上一集我们完成了获取验证码的功能,那么我们就可以完成我们的修改手机号码的功能了。

2024-12-04 10:35:15 1205

原创 获取手机验证码

前几集我们就完成了个人信息窗口的个人昵称和个人个性签名的修改,那么我们还有一个修改内容是我们的绑定手机号的修改,这个内容的前提是我们要完成获取手机验证码的相关功能,所以这一集我们就来完成获取手机验证码的功能。

2024-12-03 17:28:31 2860

原创 个人信息修改个性签名

在上一集我们就完成了三大可修改信息之一的昵称信息,这一集我们就来完成三大可修改信息之一的个性签名的功能.

2024-11-29 15:51:52 1339

原创 个人信息修改昵称

在上一集我们就把我们数据中心的个人信息的内容设置到了我们个人信息窗口上了.那么我们这一方面完成了,我们就应该对这里面的三大可修改要素进行修改处理.也就是我们要开始完成他们的修改功能.这一集就先完成修改个人昵称的内容.

2024-11-29 15:32:33 2046

原创 加载个人信息

我们之前就完成了加载个人头像的一个内容,但是我们貌似只获取了个人消息也把消息添加到了我们的数据中心当中,我们并没有把我们这些个人信息添加到我们的个人信息窗口上.所以我们这一集来完成一下我们的加载个人信息的功能.

2024-11-29 13:51:47 1110

原创 核心功能接收消息

上一集我们就完成了我们核心功能之一---发送消息的功能,那么我们都有了发送功能,就少不了我们的接收功能,由于我们的服务器还有各方面都没有接入,那么我们就使用测试服务器实现一个按钮,推送消息给我们的客户端来实现我们的接收消息的功能吧。

2024-11-29 13:16:26 2086

原创 核心功能发送消息

上一集我们就完成了点击好友列表的元素的功能了,我们只要点击好友列表里面的某个元素就可以跳转到对应的会话中,并且会加载出这个会话的所有的消息。那么这一集我们就要来完成这个项目的核心功能之一,发送消息。

2024-11-27 20:30:18 2190

原创 点击好友列表项处理

在上一集,我们点击了我们的会话项就会触发SessionFriendItem这个父类的select的成员函数,select函数来里面也会调用我们的active的成员函数。那么我们作为SessionFriendItem的子类的SessionItem就会调用自己的active方法实现我们获取指定的会话的最近消息列表。那么这一集我们将会完成点击好友列表的指定好友,之后跳转到会话列表的该好友的会话中。

2024-11-23 15:54:59 2085

原创 加载指定会话最近消息

上一集我们就把三个标签页的加载列表的任务给完成啦!那么我们这一集就来完成加载指定绘画最近消息的任务。

2024-11-22 22:31:40 2970

原创 主界面加载好友申请列表

在前两集我们就完成了两个标签页的加载列表的功能,那么这一集我们就要把最后的那个列表---好友申请列表给完成。

2024-11-22 20:39:01 2743

原创 主界面加载会话列表

在上一集我们就完成了主界面加载好友列表的任务。那么我们这一集就要把主界面加载会话列表的任务给完成!

2024-11-21 12:36:15 2794

原创 主界面加载好友列表

在上两集我们就完成了主界面获取个人信息的任务,那么这一集我们就要去完成主界面加载好友列表的内容。

2024-11-20 14:05:49 3163

原创 主界面获取个人信息测试服务端方

上一集我们完成了主界面获取个人信息客户端方的那边的代码,那边的代码还是相当的复杂的,可以多去看一眼,为了我们能够测试得到我们的运行结果,能够让我们看到protobuf和Http的网络通信是怎么工作的,我们这一集就要去完成主界面获取个人信息测试服务端方的代码。

2024-11-18 20:44:03 2641

原创 主界面获取个人信息客户端方

上一集我们完成了websocket身份验证的内容,那么这一集开始我们将要配合MockServer来完成主界面获取个人信息的内容。

2024-11-16 23:02:25 3482

原创 websocket身份验证

上一集我们就完成了websocket初始化的任务,那么我们完成这个内容之后就应该完成一个任务,当客户端与服务端连接成功之后,客户端应该主动发起一个身份认证的消息。

2024-11-14 20:50:57 3880

原创 websocket初始化

上一集我们HTTP的ping操作就可以跑通了,那么我们还有一个协议---websocket,我们在这一集就要去完成我们websocket的初始化。

2024-11-14 11:10:29 3596 1

原创 基于HTTP编写ping操作

在上一集我们就完成了创建MockServer的任务,那么我们就可以正式开始进行网络的通讯,那么我们今天就来基于HTTP来做一个客户端ping服务端的请求,服务端返回pong的响应。

2024-11-14 10:28:51 3655

原创 创建MockServer

在上一集我们就简单完成了我们NetClient的内容,那么我们仅仅完成客户端的网络通信部分是不足以进行网络通信的,我们还需要有服务端的内容才能正常通信,这就是一个巴掌拍不响。

2024-11-14 09:38:48 3103

原创 网络通信NetClient实现

上一集我们就完成了数据中心类的内容,那么我们开始需要进行网络的通信,我们这一集就要封装一个类来帮我们实现网络上的通信。

2024-11-14 08:53:32 790

原创 数据中心类DataCenter(三)

在上一集,我们就完成了整个数据中心类的构造函数以及析构函数,我们讨论了我们的数据持久化的相关事宜,那么我们这一集就要来完成这一个内容。

2024-11-11 20:40:44 1076

原创 数据中心类DataCenter(二)

在上一集我们对数据中心类DataCenter做了以下内容,我们对他进行设置单例模式,我们讨论并写入了一些我们数据中心类需要管理的数据,重点介绍了我们验证码id的重要性,在最后我们还简单说明了我们为什么要使用数据中心类。那么这一集我们就来简单写一下我们数据中心类的构造函数和析构函数,并讨论一下我们的后续数据需要持久化存储的相关事宜。

2024-11-11 20:22:50 1471

原创 数据中心类DataCenter(一)

上一集我们就完成了整个核心数据类型从proto到cpp代码的转换。我们这一集就开始完成数据中心类DataCenter。

2024-11-08 16:44:37 2060

原创 核心数据类型转换

前几集我们简单做了三条我们前后端交互接口的约定,简单看了我们的proto文件的内容,简单介绍了我们的Protobuf,并将protobuffer引入了我们的项目之中。那么这一集我们就要把我们protobuffer的proto文件里的核心数据类型和Qt里的核心数据类型进行load转换!

2024-11-08 14:30:02 1735

原创 前后端交互接口(三)

前两集我们先做了前后端交互接口的约定以及浅浅的阅读了一些proto代码。那么这一集我们就来看看一些重要的proto代码,之后把protobuffer给引入我们的项目当中!

2024-11-07 11:11:53 2502

原创 前后端交互接口(二)

在上一集我们约定了我们前后端交互接口的三条规则。这一集我们就先来看一看我们的一些proto文件。

2024-11-07 10:31:24 1824

原创 前后端交互接口(一)

在上一集我们就完成了全局通知窗口的功能,这一集开始我们也要开始讲讲前后端交互接口这件事情,以及谈谈客户端和服务端开发的一些事情。

2024-11-07 09:44:43 2773

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除