Go 框架三件套详解(Web/RPC/ORM) | 青训营

58 阅读2分钟

Gorm 是一个用 Go 语言编写的 ORM(对象关系映射)框架,它可以让开发者用对象的方式操作数据库,而不需要直接写 SQL 语句。Gorm 支持多种数据库,如 MySQL, PostgreSQL, SQLite, SQL Server 等。Gorm 有以下一些特点:

  • 全功能 ORM,支持关联、钩子、预加载、事务、复合主键等
  • 数据库自动迁移,可以根据结构体定义自动创建或更新表结构
  • 自定义日志,可以记录或打印 SQL 语句和执行时间
  • 可扩展性,可以基于 Gorm 的回调编写插件

要使用 Gorm,首先需要安装它和相应的数据库驱动包,然后用 gorm.Open 函数打开一个数据库连接。接下来,可以用 gorm.DB 对象进行各种数据库操作,如创建、查询、更新、删除等。Gorm 会根据结构体的标签和方法自动生成合适的 SQL 语句,并返回结果或错误。

Kitex 是一个用 Go 语言编写的微服务 RPC 框架,具有高性能和强可扩展的特点,可以帮助开发者快速构建高效的微服务应用。Kitex 的主要特性有:

  • 支持多种协议,如 Thrift, Protobuf, JSON 等
  • 支持多种传输层,如 TCP, UDP, HTTP 等
  • 支持多种负载均衡策略,如轮询、随机、一致性哈希等
  • 支持多种服务发现和注册方式,如 ZooKeeper, Etcd, Consul 等
  • 支持多种熔断和限流策略,如 Hystrix, Sentinel 等
  • 支持多种监控和追踪方式,如 Prometheus, Jaeger 等
  • 支持多种日志和错误处理方式,如 Zap, Sentry 等
  • 支持多种插件和扩展机制,可以自定义中间件、过滤器、编解码器等

要使用 Kitex,首先需要安装它和相应的协议编译器,然后用 kitex 命令生成服务端和客户端的代码框架。接下来,可以在生成的代码中实现业务逻辑,并配置相关的参数。最后,可以用 kitex run 命令启动服务端和客户端,并进行通信。

HTTP 框架 Hertz 是一个用 Go 语言编写的微服务 HTTP 框架,具有高易用性、高性能、高扩展性等特点,可以帮助开发者快速构建高效的微服务应用。Hertz 的主要特性有:

  • 支持多种协议,如 HTTP1.1, ALPN 等
  • 支持多种网络库,如 Netpoll, Go net 等
  • 支持多种中间件,如 Logger, Recovery, Tracer, Monitor 等
  • 支持多种扩展机制,如 Filter, Codec, Router 等

要使用 Hertz,首先需要安装它和相应的依赖包,然后用 hz 命令生成服务端和客户端的代码框架。接下来,可以在生成的代码中实现业务逻辑,并配置相关的参数。最后,可以用 hz run 命令启动服务端和客户端,并进行通信。