这是我参与「第五届青训营 」笔记创作活动的第四天,为了更好地准备明天的课程「GO 框架三件套详解」,今天先来简单了解一下这三种框架分别是什么、用来干什么的。
Web:
概要:
顾名思义,其用于帮助我们构建动态或静态的网站服务,比如前几天课程中学到的Gin框架就是Web框架的一种。
RPC:
Remote Procedure Call - 远程过程调用
概要:
简单来说,它可以让本地程序可以通过网络请求远程主机上的服务,就像调用本地服务一样,而不需要了解底层网络技术。
简单逻辑:
完整的RPC服务包含传输协议与序列化协议。首先通过序列化将服务ID与请求参数转换为网络传输可以接收的二进制流或其他形式。然后通过网络传输协议如HTTP或TCP,将参数传入远程主机。远程主机通过反序列化获取服务ID与请求参数,处理完成后以类似的方式传回。
应用:
在微服务、分布式系统架构等场景下的有力工具。
ORM:
Object Relational Mapping - 对象关系映射
概要:
简单来说,它在关系型数据库表和持久化类对象之间作一个映射,使程序能够通过操纵描述对象方式来操纵数据库。
简单分析:
从上面的图中可以看出,ORM其实相当于一个写好的方法类,通过属性之间的映射,对对应的操作生成对应的sql语句,再传入数据库进行操作。当然,因为实际的数据库操作可能涉及到很复杂的逻辑操作,所以在处理多条件sql语句时就会出现多函数嵌套的情况。