logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

吃透Reactor多线程:EventLoop_Channel_ThreadPool协作原理

每个LoopThread内部创建并持有一个EventLoop,且该EventLoop仅在所属的LoopThread线程中运行,实现「线程私有」的事件调度。这是整个体系的基石,所有的线程安全、事件调度设计都围绕这个原则展开。EventLoop是线程私有的事件调度器:一个EventLoop只运行在一个线程中,负责监控IO事件、处理事件、执行跨线程任务,是整个体系的核心;eventfd是跨线程唤醒的关键

文章图片
#开发语言#c++#tcp/ip +1
一起实现一个Reactor网络库:从Channel到Poller

/ 写事件:放在读事件之后为什么写事件要放在读事件之后?因为如果 fd 处于异常状态(比如对端已经关闭),先执行读事件可以及时检测到异常并处理,避免在异常状态下继续写数据——比如对端已经关闭连接,我们还在写数据,就会触发错误,导致程序异常。补充一个最佳实践:不要一开始就注册 EPOLLOUT 事件,否则会导致 epoll_wait 立即返回(socket 通常默认可写),频繁触发写回调浪费资源;仅

文章图片
#网络#前端
C++分布式语音识别服务实践

摘要 本文介绍了一个基于brpc+etcd+百度AI SDK的分布式语音识别服务实践。该系统采用模块化设计,核心功能包括:通过RPC接口接收PCM音频并返回识别结果,使用etcd实现服务注册与发现,集成百度AI语音SDK提供识别能力。 服务端采用Builder模式构建,包含RPC服务实现、语音识别封装、服务注册等模块;客户端通过etcd发现服务并实现负载均衡。文章详细解析了Protobuf接口定义

文章图片
#c++#分布式#语音识别
即时通讯系统核心模块实现

摘要(149字): 本文深入剖析了即时通讯(IM)系统的核心架构设计与技术实现方案。系统采用微服务架构,划分为消息传输服务和存储检索服务两大模块,通过MySQL+Elasticsearch混合存储方案实现消息的可靠持久化与高效检索。消息传输服务基于brpc框架实现消息转发逻辑,采用Protobuf定义标准接口;存储层通过封装ES操作实现全文检索功能,MySQL负责结构化数据存储。系统整体通过etc

文章图片
#mysql#elasticsearch#数据库
C++微服务 UserServer 设计与实现

C++微服务实战:IM用户服务设计与实现 本文分享了IM系统中用户服务(UserServer)的实战开发经验,涵盖核心设计思路和关键实现细节。 设计要点 核心职责:用户认证、信息管理、为其他服务提供基础支撑 架构设计:采用依赖注入模式,避免硬编码外部服务 组件分工: MySQL(ODB ORM)存储用户数据 Redis管理会话和验证码 ElasticSearch实现用户搜索 模拟短信服务(Mock

文章图片
#c++#微服务#开发语言
C++分布式语音识别服务实践

摘要 本文介绍了一个基于brpc+etcd+百度AI SDK的分布式语音识别服务实践。该系统采用模块化设计,核心功能包括:通过RPC接口接收PCM音频并返回识别结果,使用etcd实现服务注册与发现,集成百度AI语音SDK提供识别能力。 服务端采用Builder模式构建,包含RPC服务实现、语音识别封装、服务注册等模块;客户端通过etcd发现服务并实现负载均衡。文章详细解析了Protobuf接口定义

文章图片
#c++#分布式#语音识别
即时通讯系统核心模块实现

摘要(149字): 本文深入剖析了即时通讯(IM)系统的核心架构设计与技术实现方案。系统采用微服务架构,划分为消息传输服务和存储检索服务两大模块,通过MySQL+Elasticsearch混合存储方案实现消息的可靠持久化与高效检索。消息传输服务基于brpc框架实现消息转发逻辑,采用Protobuf定义标准接口;存储层通过封装ES操作实现全文检索功能,MySQL负责结构化数据存储。系统整体通过etc

文章图片
#mysql#elasticsearch#数据库
网络层:从 IP 协议到路由转发

网络层通过 IP 协议给数据包 “贴标签”(源 / 目 IP),用 CIDR 和 NAT 解决 “IP 地址不够用” 的问题,靠路由表规划 “配送路径”,用分片组装解决 “MTU 限制”,最终实现跨网络的数据包传输。如果想加深理解,建议动手实操:用ipconfig(Windows)或ifconfig(Linux)看自己的 IP 和子网掩码;用(Windows)或route -n(Linux)看路由

文章图片
#tcp/ip#网络
从C++98到C++11:10个改变开发习惯的核心特性

C++11 是一次里程碑式的升级,从 C++98/03 的 10 个痛点切入,重点介绍了列表初始化、智能指针和类型推导三大核心特性。列表初始化通过统一的{}语法和 initializer_list 机制解决了初始化混乱问题;智能指针(unique_ptr、shared_ptr、weak_ptr)基于 RAII 思想彻底解决了内存管理难题;auto 和 decltype 则大幅简化了复杂类型的声明。

文章图片
#c++#java#开发语言
基于 TCP 协议的 C++ 计算器项目实现:从网络通信到协议封装

本文介绍了一个基于C++的TCP计算器项目,通过模块化设计解决网络编程中的核心问题。项目包含五大模块:日志系统(支持多级别日志输出)、网络通信(封装Socket API)、自定义协议(处理TCP粘包/拆包)、业务逻辑(实现计算器功能)和服务端框架(多进程处理)。项目支持加减乘除取模运算,包含完善的错误处理机制,并提供了JSON和自定义两种序列化方式。文章详细解析了各模块的设计思路和关键代码,展示了

文章图片
#网络#服务器#linux +1
    共 13 条
  • 1
  • 2
  • 请选择