Go框架三件套|青训营笔记

60 阅读2分钟

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

01 Gorm:一个已经迭代了10年的功能强大的ORM框架
02 Kitex 字节内部的Golang微服务RPC框架
02 Hertz HTTP框架 参考了其他开源框架的优势\

三件套的使用
GORM支持:MySQL,SQLServer,PostgreSQL,SQLite。 First:需注意查询不到数据会返回ErrRecordNotFound;
Find查询多条数据,查询不到返回空数组
当使用结构体作为条件查询时,GORM只会查询非零值。

物理删除:硬删除就是直接从表中把记录移除了,这是一个硬删除(物理删除操作),硬删除会直接删除表中的记录,在需要找回数据的时候很麻烦,不推荐使用。

软删除:软删除不会从表中真正的删除记录,而是通过标识使得这条记录在系统逻辑层面上不可见

事务:一个最小的不可再分的工作单元;通常一个事务对应一个完整的业务(例如银行账户转账业务,该业务就是一个最小的工作单元),同时这个完整的业务需要执行多次的。

中间件:中间件(英语:Middleware)顾名思义是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件在客户服务器的操作系统、网络和数据库之上,管理计算资源和网络通信。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

Hertz性能:
网络库 Netpoll
Json 编解码 Sonic
使用sync.Pool复用对象协议层数据解析优化\

项目调用关系:

37691673927022_.pic.jpg

总结: 大致了解了三大框架,但是还需现在阅读相关文档。