Skip to main content

Command Palette

Search for a command to run...

Series

RPC通信框架

这个系列是我在进行手撕RPC通信框架时候的一些理论学习,后续还会更新一些知识问答来扩充这一系列。

  1. Rpc 理论基础

    为什么需要使用RPC,减少我们自己写网络编程的复杂逻辑,让我们感受不到底层的网络甚至设备的转换 使用RPC可以自然的进行多语言混搭,这样就不需要比如一个程序多次编写,或是在进行编程语言的转换的时候,会进行语言的转换,丢失掉一部分性能,而RPC就可以避免这些情况 什么是拆包 粘包问题 这是一个非常经典的网络编程问题!如果把 TCP 协议比作“快递运输”,那这个问题就好比快递公司为了省事,把你的东西乱装一通。 我们在图片中看到的红线部分说:“TCP是无边界的字节流形式”,这句话是罪魁祸首。 让...

    Jan 28, 20262 min read1
  2. 什么是ZooKeeper

    ZooKeeper就是这样一个分布式大家庭的管理员 你问到了点子上!ZooKeeper 这个名字起得非常有意思,它直译过来就是“动物园管理员”。 为什么叫这个名字?因为在大数据和分布式系统中,我们有各种各样的软件图标是动物(Hadoop 是大象,Hive 是蜜蜂,Pig 是猪,Tomcat 是猫)。管理这群“珍禽异兽”非常头疼,所以需要一个管理员来驯服它们。 简单来说,ZooKeeper 是分布式系统的“大管家”或“协调员”。 1. 为什么需要它?(分布式系统的混乱) 接着刚才 RPC ...

    Jan 28, 20261 min read1
  3. Muduo网络库的设计与实现[简易理解]

    什么是Reactor模式? Reaactor模式是一种同步事件驱动的设计模式,用于处理一个或者是多个输入源(如socket)并发产生的事件,他通过事件多路复用机制监听I/O事件,并将事件分发给对应的处理器进行处理 应用程序主动等待事件就绪(如可读、可写),然后由事件分发器通知相应的处理器进行I\O操作 什么是Procator模式?【前摄器模式】 Procator模式是一种异步事件驱动的设计模式,应用程序发起异步I\O操作后立即返回,有操作系统完成I\O操作,操作完成之后在通知应用程序处...

    Jan 28, 20261 min read
  4. 手撕rpc框架项目笔记

    RPC框架的浅薄认知1 你的理解整体上是**对的,而且已经非常接近“正确抽象”**了。我帮你稍微校正和补充几个关键点,会让你的心里模型更清晰。 和“普通 C/S 网络编程”相比,RPC 的核心差异 你说的两点可以整理成三件事: ① 屏蔽网络细节(复用一套通信基座) 传统写法:每多一个接口就要多写一套 socket 读写、序列化、协议解析代码。 RPC: 把“网络通信 + 序列化 + 协议解析”封装进框架(你这里就是 Muduo + Protobuf + KrpcProvider/K...

    Jan 28, 20268 min read1
  5. Cmake构建项目(项目构建工具)

    如果想要使用Cmake构建项目,首先的第一步应该就是先创建一个 CMakeLists.txt文件 来存储Cmake命令 Cmake使用#进行行命令的注释 使用#[[]]进行块的注释 在编写完CmakeLists.txt文件后,使用cmake .命令可以进行不知道是什么的玩意儿 然后在进行make命令就可以生成可执行文件了 但是cmake命令会生成许多我们不需要的文件 ,因此可以专门新建一个用来存放cmake编译产生的文件 比如Build 然后进入Build文件夹,在这个文件夹里 执行cmake...

    Jan 29, 20261 min read2