一套代码,同时启动 7 种 Golang Web 框架

一套代码,同时启动 7 种 Golang Web 框架_第1张图片

今天我们来做一个有趣的 Go 实践。使用同一套代码,在一个进程中,同时启动 7种不同的 Go Web 框架。

为什么做这么无聊的事儿?

 

主要目的就是介绍 rookie-ninja/rk-boot 库。

启动哪些 Go Web 框架?

我们同时启动如下几个 Go Web 框架。

Web 框架 rk-boot 依赖 版本
gin-gonic/gin go get github.com/rookie-ninja/rk-boot/gin v1.2.14 (Stable)
gRPC go get github.com/rookie-ninja/rk-boot/grpc v1.2.18 (Stable)
labstack/echo go get github.com/rookie-ninja/rk-boot/echo v0.0.8 (Stable)
gogf/gf go get github.com/rookie-ninja/rk-boot/gf v0.0.6 (Stable)
gofiber/fiber go get github.com/rookie-ninja/rk-boot/fiber v0.0.4 (Testing)
zeromicro/go-zero go get github.com/rookie-ninja/rk-boot/zero v0.0.2 (Testing)
gorilla/mux go get github.com/rookie-ninja/rk-boot/mux v0.0.2 (Testing)

快速开始

1.安装

我们通过 go get 安装如下依赖。

go get github.com/rookie-ninja/rk-boot/grpc
go get github.com/rookie-ninja/rk-boot/gin
go get github.com/rookie-ninja/rk-boot/echo
go get github.com/rookie-ninja/rk-boot/gf
go get github.com/rookie-ninja/rk-boot/fiber
go get github.com/rookie-ninja/rk-boot/zero
go get github.com/rookie-ninja/rk-boot/mux
复制代码

2.创建 boot.yaml

Web 框架 端口
gRPC 8081
gin-gonic/gin 8082
labstack/echo 8083
gogf/gf 8084
gofiber/fiber 8085
zeromicro/go-zero 8086
gorilla/mux 8087

除了指定端口,我们还开启了如下两个选项:

  • commonService: 提供 /rk/v1/healthy 这类通用 API。
  • loggingZap: RPC 日志
---
grpc:
  - name: grpc
    port: 8081
    enabled: true
    commonService:
      enabled: true                   # Optional, default: false
    interceptors:
      loggingZap:
        enabled: true                 # Optional, default: false
gin:
  - name: gin
    port: 8082
    enabled: true
    commonService:
      enabled: true                   # Optional, default: false
    interceptors:
      loggingZap:
        enabled: true                 # Optional, default: false
echo:
  - name: echo
    port: 8083
    enabled: true
    commonService:
      enabled: true                   # Optional, default: false
    interceptors:
      loggingZap:
        enabled: true              

你可能感兴趣的:(前端,java,开发语言,程序人生,架构)