TianMu
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

Rpc分布式网络通信框架(8) Logger

asyncqueue + Logger 本章处理一下Rpc框架的遗留问题—日志处理. 最普通的日志处理就是直接在一个文件中写入, 但是这属于磁盘I/O, 效率极低, 我们不会希望在高性能Rpc通信框架中仅仅为了日志在过程中加入磁盘I/O的过程, 那么如何解决呢? 可以将要写入磁盘文件的日志先存入队列, 再开一个专门进行日志磁盘I/O的线程从队列取出进行写入.
2025-06-26
#RPC #日志系统

Rpc分布式网络通信框架(7) Zookeeper

本章了解zookeeper的作用与简易的使用方式. Zookeeper是一个使用非常广泛的服务发现中间件. 这个中间件为c/s模式, 也就是其会运行在一个服务器上, 其内部维护了一个特殊的文件系统, 可以存储大量的服务信息, 供客户端提取. 以本项目为例, 在上一章RpcChannel想要获取远程调用服务, 就必须知道提供该服务服务器的ip和port并存入配置文件中, 这样操作是非常
2025-06-26
#RPC

Rpc分布式网络通信框架(6) RpcChannel

RpcChannel RpcChannel是客户调用端的核心类, 其控制了客户端该如何向服务端发出远程方法调用. 让我们先回顾一下客户端是如何调用我们的框架的 : 123456789101112131415161718192021222324252627282930313233343536373839404142#include <iostream>#include "
2025-06-25
#RPC

Rpc分布式网络通信框架(5) RpcProdvider

RpcProdvider RpcProdvider是提供给服务发布端的核心类. 既然想把方法发布为远程方法被外部调用, 那么发布端需要做的无非就是作为一个服务器持续接收外部的方法调用请求, 根据请求在本地调用对应的方法, 最后再将响应发送回去, 可以当作一个简易的webServer, 但是需要配合我们先前protobuf的Service类, 使其对于方法调用更加便捷与通用. 12345678
2025-06-23
#RPC

Rpc分布式网络通信框架(4) RpcApplication

RpcApplication 本章讲解第一个核心类RpcApplication, 该类的主要任务是解析传入的配置文件, 并可以取出解析到的内容, 简单来说就是执行初始化任务. 为什么要传入并解析配置文件? 网络通信是点到点的, 你必须要知道对端的ip和port才能真正实现通信. 在本框架中, 配置文件主要存储的就是我们的目标服务器的ip与port, 当然如果我们使用zookeeper, 也会
2025-05-20
#RPC

Rpc分布式网络通信框架(3) 使用方式

在构建通信框架前, 一定要先了解我们的框架该怎么使用, 大体有哪几个部件, 在本章将会先写出一个简易的客户端和服务端, 让我们了解该设计出什么样的网络通信框架. 统一通信标准首先双方如果需要通信, 那么统一通信标准必不可少, 这也是为什么讲解proto的原因, 所以我们的第一步是编写proto文件并且生成.h和.cpp文件, 这里还是已先前的登录服务为例 : 123456789101112
2025-05-15
#RPC

Rpc分布式网络通信框架(2) protobuf

protobuf部分 protobuf的功效和json相似, 都是便利数据的序列化和反序列化用于网络传输, 在rpc分布式网络通信中可以使用protobuf, 让我们先了解其优势 : 传输数据由二进制存储, 节省空间且效率更高. 有专门对于服务/方法的封装, 可以更方便地传输一个方法的信息. 当然其劣势在于需要编写.proto文件, 安装和使用都麻烦些, 不过这并不妨碍我们学习
2025-05-11
#RPC

C++语法细节复习(2)

智能指针其本质是利用栈上对象出作用域自动析构的特性自动释放堆上的内存. weak_ptr / shared_ptr weak_ptr : 弱智能指针, 观察者, 不影响引用计数, 作用在于观察一个指针, 并在关键时刻可以通过提升得到使用权. shared_ptr : 强智能指针, 拥有者, 影响引用计数, 确实拥有并可以使用指针. weak_ptr.lock() : 检测观察对象的引
2025-05-06
#shared_ptr

C++语法细节复习(1)

MyString最普通的String模仿, 没有追加功能函数 : 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878
2025-04-28
#string #移动语义 #优化

Rpc分布式网络通信框架(1) 理论准备

理论准备 单机聊天服务器的缺点 : 受限于硬件资源, 并发量有限制 -> 集群服务器解决 任意模块的修改都会导致整体的编译部署 -> 分布式解决 有些模块是CPU密集型, 有些是IO密集型, 对硬件资源不一样 -> 分布式解决 集群与分布式 : 集群 : 每个里面都运行了一个独立系统, 有全套的服务. 分布式 : 将不同服务搭载在不同的服务器上, 还可以对单
2025-04-27
#RPC
1234…9

搜索

Hexo Fluid
总访问量 次 总访客数 人