第六届青训营笔记3——“深入浅出 RPC 框架”、“带你认识存储 & 数据库”、“Go 框架三件套详解(Web/RPC/ORM)”| 青训营

110 阅读2分钟

一、深入浅出 RPC 框架

  1. RPC 简介 RPC(远程过程调用)是一种通信协议,允许一个程序调用另一个程序的过程或函数,无需了解底层的网络细节。它常用于构建分布式系统中的服务间通信。

  2. 常见的 Go 语言 RPC 框架

    • Go 的标准库中提供了 net/rpc 包,可以用于实现简单的 RPC 通信。
    • 常用的第三方 RPC 框架有 gRPC、Thrift、Micro 等。
  3. gRPC 的特点和使用 gRPC 是由 Google 开发的高性能、开源的 RPC 框架,基于 Protocol Buffers(简称 ProtoBuf)进行消息定义和序列化。

  • 特点:

    • 支持多种语言:Go、Java、C++、Python 等。
    • 基于 HTTP/2 和二进制协议,性能高效。
    • 提供强大的功能,如服务端流、客户端流、双向流等。
    • 自动生成代码,简化开发流程。
  • 使用步骤:

    • 定义服务接口和消息类型(使用 ProtoBuf)。
    • 根据定义生成代码(使用 protoc 工具)。
    • 实现服务端和客户端。
    • 运行服务端和客户端进行通信。

二、带你认识存储 & 数据库

  1. 存储的概念 存储是指将数据持久保存在计算机或其他介质上的过程。常见的存储介质包括硬盘、固态硬盘(SSD)、内存等。

  2. 数据库的概念和分类 数据库是用于存储和管理数据的软件系统。根据数据模型的不同,数据库可以分为关系型数据库(如 MySQL、PostgreSQL)、非关系型数据库(如 MongoDB、Redis)等。

  3. Go 语言操作数据库 Go 语言提供了多个流行的数据库驱动程序,例如:

    • database/sql:是 Go 标准库中提供的接口,用于连接和操作各种数据库。
    • sqlx:是对 database/sql 的扩展,提供了更方便的 API 和增强功能。
    • ORM 框架,如 GORM、Xorm 等,可以简化数据库操作。

三、Go 框架三件套详解(Web/RPC/ORM)

  1. Web 框架

    • Gin:轻量级、高性能的 Web 框架,适合构建 RESTful API。
    • Echo:简洁、高性能的 Web 框架,易于学习和使用。
    • Beego:全能型 Web 框架,提供了 Web 开发所需的各种组件和功能。
  2. RPC 框架

    • gRPC:基于 Protocol Buffers,提供高性能的服务间通信。
    • Thrift:跨语言的 RPC 框架,支持多种编程语言。
    • Micro:微服务框架,提供了服务发现、负载均衡等功能。
  3. ORM 框架

    • GORM:简洁易用的 ORM 框架,支持多种数据库。
    • Xorm:快速、简单的 ORM 框架,适用于中小型项目。
    • Gorp:轻量级的 ORM 框架,使用简单,适合小规模项目。