后端与 Go 框架三件套详解 | 青训营笔记

73 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天

一、第四节课重点内容

  • 框架使用讲解
  1. Gorm
  2. Kitex
  3. Hertz
  • 实战 easy_note

二、详细内容

  • Gorm的基础使用

    gorm是Go语言中一款性能极好的ORM库,支持包括但不限于MySql、SqlServer等数据库。接下来主要介绍下gorm库的一些基本使用。

    • 创建数据
    • 查询数据
    • 更新数据,使用map或者select更新
    • 物理删除或者软删除,软删除可以使用 gorm.DeletedAt,简单地说它并没有实际被删除掉,只是使得无法通过正常查询获得
    • 事务,提供了begin,Commit,Rollback等方法用于事务,通过 db.Transaction 函数实现自动提交事务,避免用户漏了Commit,Rollback
    • 钩子函数Hook(在创建/保存/更新/删除/查找之前或之后)
  • Kitex的基础使用

    Kitex 是字节跳动内部的 Go 微服务 RPC 框架,具有高性能强可扩展的特点。RPC(Remote Procedure Call Protocol)远程过程调用协议,是一套规范,用来远程过程调用的。举个例子,两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。 RPC 框架需要两大功能:序列化和传输。IDL是定义服务与接口。Kitex 支持thrift和 proto3两种 IDL,传输上Kitex 使用扩展的thrift作为底层的传输协议(thrift 既是 IDL 格式,同时也是序列化协议和传输协议)。了解这些以后我们就可以看看代码了解Kitex是怎么实现的

  • Hertz的基础使用

    HTTP 是客户端(浏览器)与服务端通信的基础协议。HTTP 框架就是对 HTTP报文发送请求或者解析、根据对应的路由选择对应的后端逻辑了。而Hertz框架就是一个HTTP框架,可以通过阅读代码尝试运行 Hertz 的示例代码。详细介绍可以参考这篇文章

  • 实战

    easy_note 是一个使用Gorm、Kitex和Hertz的具备一定业务逻辑的后端API项目。可以很好的运用到本节课的知识。