安装选项:通过 swag 官网 $ go get -u github.com/swaggo/swag/cmd/swag 安装 rk-boot 我们介绍 rk-boot 库,用户可以快速搭建 gorilla 文档 源代码 go get github.com/rookie-ninja/rk-boot/mux 快速开始 1.创建 boot.yaml boot.yaml 文件会告诉 rk-boot 如何启动 gorilla package main import ( "context" "fmt" "github.com/rookie-ninja/rk-boot" "github.com/rookie-ninja /rk-boot/mux" "github.com/rookie-ninja/rk-mux/interceptor" "net/http" ) // @title Swagger Example rk-boot 会使用 swagger.json 来初始化 Swagger UI 界面。
我们将会使用 rk-boot 来启动 gogf/gf 微服务。 ca-key ca-key.pem -profile www ca-csr.json | cfssljson -bare server 安装 go get github.com/rookie-ninja/rk-boot /gf 快速开始 rk-boot 支持通过如下方式让 gogf/gf 服务获取证书。 package main import ( "context" "github.com/gogf/gf/v2/net/ghttp" "github.com/rookie-ninja/rk-boot " "github.com/rookie-ninja/rk-boot/gf" "net/http" ) // @title Swagger Example API // @version 1.0
我们将会使用 rk-boot 来启动 gorilla/mux 微服务。 , "details":[] } } 安装 go get github.com/rookie-ninja/rk-boot/mux 快速开始 通过 rk-boot ,用户可以轻松搭建 gorilla/mux 框架微服务,rk-boot 集成了 Panic 捕捉以及标准错误类型。 package main import ( "context" "github.com/rookie-ninja/rk-boot" "github.com/rookie-ninja/rk-boot package main import ( "context" "github.com/rookie-ninja/rk-boot" "github.com/rookie-ninja/rk-boot
[up-b67e19b2539cca08773fd0c777514b1d17a.png] 介绍 本文介绍如何通过 rk-boot 实现服务端 CSRF 验证逻辑。 什么是 CSRF? Referer 字段 3:添加校验 Token 请访问如下地址获取完整教程: https://rkdocs.netlify.app/cn 安装 go get github.com/rookie-ninja/rk-boot /gf 快速开始 1.创建 boot.yaml boot.yaml 文件会告诉 rk-boot 如何启动 gogf/gf 服务。 package main import ( "context" "github.com/gogf/gf/v2/net/ghttp" "github.com/rookie-ninja/rk-boot " "github.com/rookie-ninja/rk-boot/gf" "net/http" ) func main() { // Create a new boot instance.
[up-d837466ac3620e8e7c22d89478766bcfc61.png] 我们将会使用 rk-boot 来启动 gogf/gf 微服务。 请访问如下地址获取完整教程: https://rkdocs.netlify.app/cn 安装 go get github.com/rookie-ninja/rk-boot/gf 快速开始 我们会创建 package main import ( "context" "github.com/gogf/gf/v2/net/ghttp" "github.com/rookie-ninja/rk-boot " "github.com/rookie-ninja/rk-boot/gf" "github.com/rookie-ninja/rk-gf/interceptor/context" "net/http rk-boot 的中间件会通过 openTelemetry 库来向日志写入 traceId 来追踪 RPC。
我们将会使用 rk-boot 来启动 gorilla/mux 微服务。 rk-boot 是一个可通过 YAML 启动多种 Web 服务的框架。请参考本文最后章节,了解 rk-boot 细节。 当然,用户也可以自定义 rk-xxx 库集成到 rk-boot 中。 /rk-boot/gin" _ "github.com/rookie-ninja/rk-boot/grpc" ) // Application entrance. func main() { // /rookie-ninja/rk-boot/grpc rk-grpc Echo Stable go get github.com/rookie-ninja/rk-boot/echo rk-echo GoFrame /rk-boot/fiber rk-fiber go-zero Testing go get github.com/rookie-ninja/rk-boot/zero rk-zero GorillaMux
[up-4e522c566e6575427b964528f7d75c24842.png] 介绍 本文介绍如何通过 rk-boot 实现服务端 JWT 验证逻辑。 什么是 JWT? JWT 作为用户验证,例如 github 请访问如下地址获取完整教程: https://rkdocs.netlify.app/cn 安装 go get github.com/rookie-ninja/rk-boot /gf 快速开始 1.创建 boot.yaml boot.yaml 文件会告诉 rk-boot 如何启动 gogf/gf 服务。 package main import ( "context" "github.com/gogf/gf/v2/net/ghttp" "github.com/rookie-ninja/rk-boot " "github.com/rookie-ninja/rk-boot/gf" "net/http" ) func main() { // Create a new boot instance.
[up-de5d7ac5cc1efb58c79ac25d51e17efafc2.png] 介绍 本文介绍如何通过 rk-boot 快速配置服务端 CORS。 什么是 CORS? 请访问如下地址获取完整教程: https://rkdocs.netlify.app/cn 安装 go get github.com/rookie-ninja/rk-boot/gf 快速开始 1.创建 boot.yaml boot.yaml 文件会告诉 rk-boot 如何启动 gogf/gf 服务。 file. package main import ( "context" "github.com/gogf/gf/v2/net/ghttp" "github.com/rookie-ninja/rk-boot " "github.com/rookie-ninja/rk-boot/gf" "net/http" ) func main() { // Create a new boot instance.
我们将会使用 rk-boot 来启动 gorilla/mux 微服务。 rk-boot 默认集成如下三个开源库。 1.创建 boot.yaml boot.yaml 文件描述了 GoFrame 框架启动的原信息,rk-boot 通过读取 boot.yaml 来启动 gorilla/mux。 rk-boot 在内部使用了一个 loki-client 直接把日志传送到 Loki 服务中。 之所所以这么使用,一个方面是为了消除 Agent 配置带来的麻烦。 虽然 rk-boot 异步发送日志到 Loki,不过因为涉及到锁,速度难免会受到影响。所以,如果是大量日志情况,可以使用传统 Agent 模式。
我们将会使用 rk-boot 来启动 gorilla/mux 微服务。 请访问如下地址获取完整教程:https://github.com/rookie-ninja/rk-mux 安装 go get github.com/rookie-ninja/rk-boot/mux 快速开始 1.创建 boot.yaml boot.yaml 文件描述了 Mux 框架启动的原信息,rk-boot 通过读取 boot.yaml 来启动 GoFrame。 package main import ( "context" "fmt" "github.com/rookie-ninja/rk-boot" "github.com/rookie-ninja 因为 rk-boot 默认会使用 rk_<Entry 名字>_xxx 作为 prometheus 的 metrics 名字。
rk-boot的介绍 通过 rk-boot,用户可以通过yaml格式的配置文件启动gRPC、gin、echo、GoFrame、prometheus客户端或自定义入口服务。 Optional, Enable RK TV 是否启用RK TV main.go package main import ( "context" "github.com/rookie-ninja/rk-boot 可以通过 http://localhost:8080/sw 访问swagger页面 TV 可以通过 http://localhost:8080/rk/v1/tv 访问TV页面 开启中间件 其中rk-boot middleware gzip middleware cors interceptor jwt interceptor secure interceptor csrf interceptor 小结 rk-boot
或者访问:rk-boot 官方文档。 如果是打包编译的情况,rk-boot 会寻找 .rk/README.md 路径,可以通过 RK 命令行,方便编译。 请参考:例子 [up-817fab6ab4db40563cc606c3440c9703b4b.png] 4.2 进程元信息 rk-boot 会读取本地进程信息。 如果是打包编译的情况,rk-boot 会寻找 .rk/go.mod 路径,可以通过 RK 命令行,方便编译。 如果是打包编译的情况,rk-boot 会寻找 .rk/rk.yaml 路径,里面包含了 git 信息。可以通过 RK 命令行,方便编译。
或者访问:rk-boot 官方文档。 如果是打包编译的情况,rk-boot 会寻找 .rk/README.md 路径,可以通过 RK 命令行,方便编译。 请参考:例子 [up-53fdd3497c968496de82c4e808162918a3f.png] 4.2 进程元信息 rk-boot 会读取本地进程信息。 如果是打包编译的情况,rk-boot 会寻找 .rk/go.mod 路径,可以通过 RK 命令行,方便编译。 如果是打包编译的情况,rk-boot 会寻找 .rk/rk.yaml 路径,里面包含了 git 信息。可以通过 RK 命令行,方便编译。
, "details":[] } } 例子 我们介绍 rk-boot 库,一个快速启动 GRPC 的企业级 golang 微服务框架。 通过 rk-boot ,用户可以轻松搭建 GRPC 微服务,里面同时集成了 Panic 捕捉以及标准错误类型。 我们以 demo 代码为例子,在这个 demo 中,我们已经集成了 rk-boot。 GRPC 错误 我们自行添加的错误(这里,rk-boot 会默认把错误代码设置成 Unknown) curl "localhost:8080/v1/greeter? 在 RPC 实现中,我们试着让系统崩溃,看看 rk-boot 会如何自动捕获,并且返回何种信息给用户。
Web 框架 rk-boot 依赖 版本 gin-gonic/gin go get github.com/rookie-ninja/rk-boot/gin v1.2.14 (Stable) gRPC go /rookie-ninja/rk-boot/echo go get github.com/rookie-ninja/rk-boot/gf go get github.com/rookie-ninja/rk-boot /rk-boot/gf" "github.com/rookie-ninja/rk-boot/gin" "github.com/rookie-ninja/rk-boot/grpc" "github.com /rk-boot/grpc v1.2.18 github.com/rookie-ninja/rk-boot/mux v0.0.2 github.com/rookie-ninja/rk-boot/zero rk-boot 支持的 Web 框架 欢迎贡献新的 Web 框架到 rk-boot 系列中。 参考 docs & rk-gin 作为例子。
rk-boot/v2 : 可以让我们使用 YAML 文件快速启动 Golang 微服务,包括丰富的中间件(JWT) rk-cloud/tencent/signer: 是 rk-boot/v2 系列的插件 [up-c0dd148607f71acc8e2f77f793b76d602fe.png] 3.下载 rk-boot/v2 $ go get github.com/rookie-ninja/rk-boot rk-boot/v2: 可以让我们使用 YAML 文件快速启动 Golang 微服务,包括丰富的中间件(JWT) rk-cloud/tencent/signer: 是 rk-boot/v2 系列的插件, 可以让我们快速接入腾讯云 KMS rk-gin/v2: rk-boot/v2 系列的插件,用于快速启动 gin-gonic 微服务 4.配置 boot.yaml boot.yaml 文件告诉 rk-boot rk-boot/v2 会自动识别这些插件,在启动进程的时候,进行相应初始化。
我们将会使用 rk-boot 来启动 gogf/gf 微服务。 rk-boot 是一个可通过 YAML 启动多种 Web 服务的框架。请参考本文最后章节,了解 rk-boot 细节。 介绍 rk-boot 是一个可通过 YAML 启动多种 Web 服务的框架。 当然,用户也可以自定义 rk-xxx 库集成到 rk-boot 中。 /rk-boot/gin" _ "github.com/rookie-ninja/rk-boot/grpc" ) // Application entrance. func main() { // /rk-boot/fiber rk-fiber go-zero Testing go get github.com/rookie-ninja/rk-boot/zero rk-zero GorillaMux
我们将会使用 rk-boot 来启动 gogf/gf 微服务。 请访问如下地址获取完整教程: https://rkdocs.netlify.app/cn 安装 go get github.com/rookie-ninja/rk-boot/gf 快速开始 我们会创建 rk-boot 使用 REALM,REGION,AZ,DOMAIN 环境变量来区分不同的环境。这也是我们推荐的云原生环境分辨法。 rk-boot 集成了 viper 来处理配置文件。 " _ "github.com/rookie-ninja/rk-boot/gf" "os" ) // Application entrance. func main() { // Set REGION
我们将会使用 rk-boot 来启动 gogf/gf 微服务。 rk-boot 是一个可通过 YAML 启动多种 Web 服务的框架。请参考本文最后章节,了解 rk-boot 细节。 boot.yaml 文件会告诉 rk-boot 如何启动 gogf/gf 服务。 这里需要添加: import _ "github.com/rookie-ninja/rk-boot/gf" 否则 rk-boot 无法读取 boot.yaml 文件里的内容。 当然,用户也可以自定义 rk-xxx 库集成到 rk-boot 中。 /rk-boot/gin" _ "github.com/rookie-ninja/rk-boot/grpc" ) // Application entrance. func main() { //
[up-8556599a46fe8d6c22463d812b857c669b1.png] 介绍 本文介绍如何通过 rk-boot 实现服务端 JWT 验证逻辑。 什么是 JWT? JWT 作为用户验证,例如 github 请访问如下地址获取完整教程: https://rkdocs.netlify.app/cn 安装 go get github.com/rookie-ninja/rk-boot /gin 快速开始 1.创建 boot.yaml boot.yaml 文件会告诉 rk-boot 如何启动 Gin 服务。 that can be found in the LICENSE file. package main import ( "context" "github.com/rookie-ninja/rk-boot " _ "github.com/rookie-ninja/rk-boot/gin" ) // Application entrance. func main() { // Create a new