自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 死锁问题分析和解决——资源回收时

对线程池回收资源时出现的死锁问题进行定位和解决

2024-08-20 22:08:36 485

原创 线程池项目(基础知识梳理)

对于线程池的一些基础理论知识的梳理

2024-08-20 09:34:52 600

原创 线程同步及线程池项目的设计

本文对于线程池项目要用到的线程同步的操作进行简要的描述,并对项目的设计进行概述

2024-08-11 19:35:31 1116

原创 mprpc框架项目总结

本文对mprpc项目进行总结,并编写一键编译脚本

2024-08-10 13:10:57 514

原创 封装zookeeper的客户端类和在项目上的实践

本文封装了zookeeper的客户端代码,zookeeper如何应用到mprpc项目中,tcpdump抓包验证心跳机制

2024-08-10 13:09:30 514

原创 Zookeeper分布式协调服务

本文简述了,什么是zookeeper,zookeeper提供的文件系统和通知机制,作用,特性,安装,znode节点的存储格式以及什么是分布式系统,分布式系统存在的问题和解决方法

2024-08-08 14:33:50 1389

原创 logger日志系统设计与实现

本文简述了项目为什么要有日志系统,以及日志系统的实现原理,具体实现和使用

2024-08-06 14:50:01 1170

原创 RpcController控制模块的实现和使用

本文简述了项目需要用到RpcController模块的地方,以及模块的实现和使用

2024-08-06 14:44:17 673

原创 mprpc框架的应用示例

有一个本地服务,我想把它发布成远程服务,首先在user.proto中定义rpc方法的描述,定义参数和响应的消息类型然后在userservice.cc文件中通过继承UserServiceRpc这个类,重写一下响应的方法(打四个动作)如下别人调用的话,在calluserservice.cc测试register。

2024-08-05 20:02:48 236

原创 实现RPC方法的调用过程(RpcChannel)

【代码】实现RPC方法的调用过程(RpcChannel)

2024-07-31 00:02:25 231

原创 点对点的RPC通信功能测试(bug修复)

对rpc框架代码进行点对点通信的测试,发现bug并修复

2024-07-31 00:02:16 601

原创 RpcChannel的调用过程

【代码】RpcChannel的调用过程。

2024-07-01 09:26:30 681

原创 重写muduo网络库中还可以扩展的部分

测试http服务、tcp服务、生成聚合报告(生成详细的报表,起了多少个线程来模拟客户端,总共压力测试多长时间,总共发送多少请求,总共响应多少请求,平均的请求时间,最大的请求耗费时间,最小的请求耗费时间,整个的请求,响应的成功率,QPS的值,都会详细列出来)在linux上,需要单独编译安装 直接创建线程组,发送的时间,压力测试的持续时间,但是只能测试http服务的性能,http服务器,支持httpAPI的性能。涉及linux上进程socketfd的设置相关,需要设置使用描述符的上限,用来支持更大的连接量。

2024-06-30 10:47:03 382

原创 Rpc服务的提供方(Rpcprovider)的调用流程

onmessage等待远程rpc的调用请求,数据过来之后,按我们协商好的数据格式解析,最终解析出service_name、method_name和方法调用参数等数据,从抽象层动态的生成method的请求(request)和响应(response),将参数填到请求中(反序列化)绑定的方法做的是将响应进行一个序列化,然后通过网络发送回去,发送回去后,我们由rpc的提供者主动关闭这条连接,省资源,给其它rpc客户端再继续提供服务。当它启动以后,这里面相当于启动了一个epoll+多线程的服务器,

2024-06-29 20:26:02 393

原创 RpcRrovider分发rpc服务(OnMessage和Closure回调)

这篇文章主要完成,protobuf实现的数据序列化和反序列化。

2024-06-29 20:25:27 916

原创 开发RpcProvider的发布服务(NotifyService)

开发RpcProvider的发布服务(NotifyService),发布过程描述和具体代码实现

2024-06-26 12:55:20 1399

原创 开发RpcProvider的网络服务

【代码】开发RpcProvider的网络服务。

2024-06-25 20:25:02 302

原创 mprpc框架的配置文件加载

mprpc框架的配置文件加载的代码编写,简单的配置文件举例

2024-06-25 18:48:57 581

原创 mprpc框架的初始化操作

完成 MprpcApplication::Init(argc, argv);我们希望这么去写 provider -i config.conf。读取相关的网络服务器以及相关的配置中心的IP地址和端口号。我们打开userservice.cc中,查看主函数。我们在将下一节阐述mprpc框架的配置文件的加载。打开mprpcapplication.cc。这个Init函数需要用户传一个命令行参数。

2024-06-25 15:39:44 302

原创 VS Code 配置cmake(Linux环境)

右键CMake Tools右下角齿轮标志,选择扩展设置(Extension Settings)通过sudo apt install cmake在linux上安装cmake。通过命令whereis cmake获取linux中cmake的路径信息。写上这样一句话(具体路径因人而异,填写自己刚才获取到的路径信息),保存。注意要设置的是本地,还是远程连接,点击setting.json。在Vs Code中安装这两个插件。

2024-06-25 14:54:31 715

原创 mprpc框架项目动态库编译

使用Cmake编译,使框架项目生成一个动态库文件

2024-06-25 12:23:24 282

原创 mprpc框架基础类的设计

从使用的角度,反推框架基础类的设计

2024-06-25 11:15:04 407

原创 本地服务怎么发布成rpc服务

本地服务怎么发布成rpc服务,proto文件的编写,服务提供者(callee)的执行过程

2024-06-24 21:50:00 727 1

原创 protobuf实践+生成C++代码的解析

protobuf的简单应用,以及生成的C++代码的调用过程

2024-06-24 17:42:09 2044

原创 RPC通信原理以及项目的技术选型

RCP通信协议概念,通信框架需要处理的事情。

2024-06-23 13:15:37 895 1

原创 单机、集群和分布式

单机、集群、分布式三者的概念,以及各自的优缺点

2024-06-23 13:01:34 1219

原创 重写muduo网络库之调用流程的梳理

C++11重写muduo网络库,网络库的调用流程梳理,新用户的连接,连接后,读写事件的发生,连接的断开

2024-05-14 16:24:00 1013

原创 重写muduo库之组件梳理

C++11手写muduo库,对各模块组件(成员变量)之间的关系及作用的梳理

2024-05-14 09:13:14 899

原创 重写muduo之TcpConnection

C++11重写muduo之 TcpConnection

2024-05-12 22:04:04 839

原创 重写muduo之Buffer

C++11手写muduo网络库中的buffer模块

2024-05-11 23:12:49 354

原创 重写muduo之TcpServer

C++11重写muduo的TcpServer模块

2024-05-11 10:21:55 433 1

原创 重写muduo之Acceptor模块

C++11重写muduo中的Acceptor模块

2024-05-09 17:09:03 862

原创 重写muduo之Thread、EventLoopThread、EventLoopThreadPool

C++11重写muduo网络库中的线程部分,包括Thread、EventLoopThread、EventLoopThreadPool

2024-05-08 22:14:30 575

原创 重写muduo之EventLoop模块

C++11手写muduo库中的EventLoop模块

2024-05-07 23:52:18 744

原创 重写muduo之获取线程tid代码

C++11重写muduo的获取线程tid部分的代码

2024-05-07 08:52:42 401

原创 重写muduo之EPollPoller

C++11手写muduo库的EPollPoller模块

2024-05-06 22:56:29 1070

原创 重写muduo之Poller抽象层

手写muduo库中的Poller模块,解耦Pollar与EPollPoller

2024-05-06 00:11:35 412

原创 手写muduo之Channel通道

手写muduo库Channel模块的核心组件

2024-05-05 22:15:09 1092

原创 手写muduo之InetAddress模块

重写muduo网络库中的InetAddress模块

2024-05-05 16:42:11 239

原创 手写muduo之CMake构建、noncopyable、Timestamp、Logger

手写开源muduo网络库中的noncopyable、Timestamp、Logger模块以及项目的CMake构建

2024-05-05 15:35:42 355

空空如也

空空如也

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

TA关注的人

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