
C++微服务的及时通讯系统项目
文章平均质量分 61
项目实战
东洛的克莱斯韦克
–
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
封装 brpc::Channel
本文介绍了基于brpc框架的服务管理设计。主要采用Channel作为客户端与服务端的交互通道,通过service_channel封装服务名称与Channel的映射关系。系统设计包含:1)使用数组管理主机节点地址,哈希表建立地址与Channel的映射;2)采用互斥锁保护共享容器;3)实现RR轮转策略均衡分配Channel;4)提供add_host/del_host动态管理节点;5)ServiceManager通过回调函数处理服务上下线事件,并使用互斥锁保护服务集合和服务-通道映射表。该设计实现了服务节点的动态原创 2025-07-12 18:18:29 · 166 阅读 · 0 评论 -
brpc 的简单使用
本文介绍了使用brpc框架开发RPC服务的基本流程。服务端开发需继承EchoService基类并重写Echo方法处理请求,通过Server类启动服务;客户端通过Channel与服务器交互,使用Stub类发起请求。文章详细说明了服务端处理请求时的参数使用、done回调机制,以及服务启动的四步流程,同时介绍了客户端创建Channel、发送请求的基本步骤,为brpc框架的入门开发提供了实用指导。原创 2025-07-12 09:57:40 · 390 阅读 · 0 评论 -
brpc 介绍与安装
本文介绍了C++编写的工业级RPC框架brpc,它广泛应用于高性能系统。brpc通过接口调用实现客户端与服务端通信,简化网络编程。安装步骤包括:先安装git、g++等依赖库,再通过git克隆brpc源码,执行cmake构建和make安装。若出错可能因缺失依赖库。全文简要说明了brpc的作用原理和安装方法。原创 2025-07-12 08:50:15 · 138 阅读 · 0 评论 -
etcd-cpp-apiv3 二次封装
本文介绍了基于etcd的客户端接口封装,主要包括以下内容: 核心接口类: Value类:存储键值对数据 Event类:记录键值对变化事件 Response类:服务器响应 KeepAlive类:租约保活机制 Client类:客户端操作接口 Watcher类:键值对监控 二次封装: Register类:封装Client和KeepAlive,实现服务注册和自动续约 Discover类:封装Client和Watcher,实现服务发现和变更通知 功能特点: 通过租约机制实现服务自动过期 支持服务注册、发现和监控 提供原创 2025-07-07 15:36:15 · 311 阅读 · 0 评论 -
Ubuntu 安装 etcd 与 etcd-cpp-apiv3
摘要:本文介绍了etcd的安装配置和使用方法。首先通过apt安装etcd-server和etcd-client,然后在/etc/default/etcd中配置节点名称、数据目录、监听URL等参数。启动etcd服务后,使用etcdctl存储键值对,若报错需设置ETCDCTL_API环境变量。最后详细说明了etcd-cpp-apiv3的安装步骤,包括依赖库安装、源码编译和安装。全文提供了从部署到客户端开发的完整流程说明。原创 2025-07-05 19:17:59 · 223 阅读 · 0 评论 -
spdlog 项目介绍与二次封装
摘要:本文介绍了对C++开源日志库spdlog的二次封装方案。spdlog提供了5个日志等级(trace至critical)和两种日志输出方式(同步/异步)。通过工厂模式创建日志对象,封装后提供了init_logger()初始化接口,可切换调试模式(同步输出trace级以上日志)和发布模式(异步输出指定等级日志)。封装还定义了LOG_DEBUG等宏,自动附加文件名和行号信息,并设置了默认日志格式(时间、日志名、等级、内容)。使用时需链接spdlog和fmt库。该封装简化了spdlog的使用,同时保留了其核心原创 2025-07-05 12:38:57 · 876 阅读 · 0 评论 -
gtest 库的安装和使用
GoogleTest是谷歌开源的C++单元测试框架,用于验证程序的正确性。安装可通过sudo apt-get install libgtest-dev完成。使用GoogleTest时,通过TEST宏定义测试用例,第一个参数为测试套件名称,第二个参数为测试样例名称。测试框架通过testing::InitGoogleTest初始化,并通过RUN_ALL_TESTS执行所有测试。例如,测试一个计算器类的加法、减法、乘法和除法功能,可以分别编写四个TEST宏,使用ASSERT_EQ断言验证结果。最后,在main函数原创 2025-05-19 19:24:15 · 432 阅读 · 0 评论 -
gflags 安装及使用
gflags是Google开发的一个C++库,用于处理命令行参数。通过包含头文件#include <gflags/gflags.h>,开发者可以使用宏定义命令行参数,如DEFINE_bool、DEFINE_int32等,分别用于定义布尔、整数等类型的参数。定义后,使用google::ParseCommandLineFlags函数解析命令行参数。在代码中使用这些参数时,需加上FLAGS_前缀。gflags还支持通过命令行或配置文件设置参数,如./test --reuse_addr=false或./原创 2025-05-16 19:20:09 · 761 阅读 · 0 评论