Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Gin 框架: 通过 Web 获取服务元信息

Gin 框架: 通过 Web 获取服务元信息

原创
作者头像
尹东勋
修改于 2021-12-12 17:07:17
修改于 2021-12-12 17:07:17
4450
举报

介绍

通过一个完整例子,在 Gin 框架中嵌入 Web UI 获取服务元信息。

名称

详情

README

如果本地有 README.md 文件,会展示

进程信息

显示进程信息

API 列表

获取 API 列表

Entry 列表

Entry 列表,请参考详情

Config 列表

列出 Config 文件信息

| CA 证书 | 列出 TLS/SSL 证书信息 |

| 依赖 | 列出 go.mod 信息 |

| LICENSE | 如果本地有 LICENSE 文件,会展示 |

| OS 信息 | 当前 OS 信息 |

| Go Env 信息 | Go 环境信息 |

| Git 信息 | 如果是 Git 工程,会展示 |

| Log 信息 | 展示 Log 原信息 |

| Metrics | 展示 Prometheus Metrics |

我们将会使用 rk-boot 来启动 Gin 服务。

请访问如下地址获取完整教程:

安装

代码语言:txt
AI代码解释
复制
go get github.com/rookie-ninja/rk-boot
go get github.com/rookie-ninja/rk-gin

快速开始

为了完整展示,我们使用一个 git 工程,并且添加 API

1.创建 boot.yaml

除了开启 gin.tv.enabled,我们还开启了其他服务,这样就可以验证完整 TV 页面。

请参考专栏里其他文章来获取每个选项的详细信息。

或者访问:rk-boot 官方文档。

代码语言:txt
AI代码解释
复制
---
gin:
  - name: greeter                   # Required
    port: 8080                      # Required
    enabled: true                   # Required
    commonService:
      enabled: true                 # Optional, enable common service
    tv:
      enabled: true                 # Optional, enable TV
    sw:
      enabled: true                 # Optional, enable swagger UI
    interceptors:
      metricsProm:
        enabled: true

2.创建 main.go

代码语言:txt
AI代码解释
复制
// Copyright (c) 2021 rookie-ninja
//
// Use of this source code is governed by an Apache-style
// license that can be found in the LICENSE file.

package main

import (
	"context"
	"github.com/rookie-ninja/rk-boot"
	_ "github.com/rookie-ninja/rk-gin/boot"
)

// Application entrance.
func main() {
	// Create a new boot instance.
	boot := rkboot.NewBoot()

	// Bootstrap
	boot.Bootstrap(context.Background())

	// Wait for shutdown sig
	boot.WaitForShutdownSig(context.Background())
}

3.文件夹结构

代码语言:txt
AI代码解释
复制
.
├── LICENSE
├── README.md
├── boot.yaml
├── go.mod
├── go.sum
└── main.go

4.验证

代码语言:txt
AI代码解释
复制
$ go run main.go

访问 localhost:8080/rk/v1/tv

4.1 README

rk-boot 会读取本地 README.md 文件,并展示在 TV 页面中。

如果是打包编译的情况,rk-boot 会寻找 .rk/README.md 路径,可以通过 RK 命令行,方便编译。

请参考:例子

4.2 进程元信息

rk-boot 会读取本地进程信息。

4.3 API 列表

rk-boot 会读取 Gin 内部所有 API 列表。

4.4 Entry 列表

4.5 Config 列表

如果 boot.yaml 里有 config 入口,会显示在这里。

下面的图只是个例子截图,上面的代码不会有 Config,因为我们没有加入 Config。

4.6 证书

如果 boot.yaml 里有 cert 入口,会显示在这里。

下面的图只是个例子截图,上面的代码不会有 Cert,因为我们没有加入 Cert。

4.7 依赖

rk-boot 会读取本地 go.mod 文件,并展示在 TV 页面中。

如果是打包编译的情况,rk-boot 会寻找 .rk/go.mod 路径,可以通过 RK 命令行,方便编译。

请参考:例子

4.8 OS 信息

rk-boot 会收集本地 OS 信息。

4.9 Go Env 信息

rk-boot 会收集本地 Go Env 信息。

4.10 Git 信息

rk-boot 会读取本地 .git 文件,并展示在 TV 页面中。

如果是打包编译的情况,rk-boot 会寻找 .rk/rk.yaml 路径,里面包含了 git 信息。可以通过 RK 命令行,方便编译。

请参考:例子

4.11 Log 信息

rk-boot 会显示目前在进程中的所有 Log 实例信息。

4.12 Prometheus Metrics

rk-boot 如果开启了 Prometheus 中间件,我们可以在这个页面中看到 API 的基本监控信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
gRPC: 通过 Web 获取服务原信息
除了开启 grpc.tv.enabled,我们还开启了其他服务,这样就可以验证完整 TV 页面。
尹东勋
2021/10/27
8430
gRPC: 通过 Web 获取服务原信息
gRPC: 快速配置通用 API 获取进程元信息
boot.yaml 会告诉 rk-boot 如何启动 gRPC 服务。为了 Demo,除了开启 commonService,我们还开启了如下服务。
尹东勋
2021/12/16
6180
gRPC: 快速配置通用 API 获取进程元信息
Gin 框架: 快速创建静态文件下载 Web 服务
rk-boot 提供了一个方便的方法,让用户快速实现网页【浏览和下载】静态文件的功能。
尹东勋
2021/12/09
1.3K0
Gin 框架: 快速创建静态文件下载 Web 服务
Gin 框架:启动多个端口
请访问如下地址获取完整教程:https://rkdocs.netlify.app/cn
尹东勋
2021/12/01
1.6K0
Gin 框架:启动多个端口
Gin 框架: 添加调用链(Tracing)中间件
通过一个完整例子,在基于 Gin 框架的微服务中添加调用链(Tracing)中间件。
尹东勋
2021/11/10
1.3K0
Gin 框架: 添加调用链(Tracing)中间件
Gin 框架:实现服务端限流中间件
请访问如下地址获取完整教程:https://rkdocs.netlify.app/cn
尹东勋
2021/11/14
1.4K0
Gin 框架:实现服务端限流中间件
Gin 框架:添加 HTTP 基本验证中间件
通过一个完整例子,在基于 Gin 框架的微服务中添加 HTTP 基本验证中间件。
尹东勋
2021/11/08
1.3K0
Gin 框架:添加 HTTP 基本验证中间件
Gin 框架: 添加 Swagger UI
boot.yaml 文件会告诉 rk-boot 如何启动 Gin 服务,下面的例子中,我们指定了端口,Swagger UI 的 json 文件路径。
尹东勋
2021/10/26
1.7K0
Gin 框架: 添加 Swagger UI
Gin 安全篇-1: 快速配置服务端 CORS
在这个例子中,我们只允许 localhost:8080 发送过来的请求,通过验证。
尹东勋
2021/12/23
6830
Gin 安全篇-1: 快速配置服务端 CORS
Gin 框架:添加 Prometheus 监控中间件
通过一个完整例子,在基于 Gin 框架的微服务中添加 Prometheus 监控中间件。
尹东勋
2021/11/05
1.9K0
Gin 框架:添加 Prometheus 监控中间件
gorilla/mux 框架(rk-boot): 添加调用链(Tracing)中间件
通过一个完整例子,在基于 gorilla/mux 微服务中添加调用链(Tracing)中间件。
尹东勋
2022/02/14
7550
gorilla/mux 框架(rk-boot): 添加调用链(Tracing)中间件
Gin 框架:优雅关闭进程
通过 AddShutdownHookFunc() 来添加 shutdownhook 函数。
尹东勋
2021/11/23
2.3K0
Gin 框架:优雅关闭进程
Gin 框架:实现超时中间件
设定全局超时为 5秒,让 GC 的超时时间为 1 毫秒,GC 一般会超过 1 毫秒。
尹东勋
2021/11/17
1.4K0
Gin 框架:实现超时中间件
Gin 框架: 基于云原生环境,区分配置文件
通过一个完整例子,在 Gin 框架中,根据环境区分配置文件。也就是如何在【测试】,【线上】等环境中,读取不同的配置文件。
尹东勋
2021/11/25
1.4K0
Gin 框架: 基于云原生环境,区分配置文件
Gin 框架:日志配置管理
上面的例子中,我们配置了 zap 日志,这回我们修改一下 EventLogger。
尹东勋
2021/11/27
1K0
Gin 框架:日志配置管理
GoFrame 框架: 添加调用链(Tracing)中间件
通过一个完整例子,在基于 gogf/gf 微服务中添加调用链(Tracing)中间件。
尹东勋
2022/01/01
8500
GoFrame 框架: 添加调用链(Tracing)中间件
GoFrame 框架:优雅关闭进程
rk-boot 是一个可通过 YAML 启动多种 Web 服务的框架。请参考本文最后章节,了解 rk-boot 细节。
尹东勋
2022/01/05
1.9K0
GoFrame 框架:优雅关闭进程
一套代码,同时启动 7 种 Golang Web 框架
今天我们来做一个有趣的 Go 实践。使用同一套代码,在一个进程中,同时启动 7种不同的 Go Web 框架。
尹东勋
2022/01/03
9990
一套代码,同时启动 7 种 Golang Web 框架
Gin 框架:实现分布式日志追踪
我们会创建 /v1/greeter API 进行验证,同时开启 logging, meta 和 tracing 中间件以达到目的。
尹东勋
2021/11/18
2.3K0
Gin 框架:实现分布式日志追踪
Gin 框架: RPC 错误码设计
通过 rk-boot ,用户可以轻松搭建 Gin 框架微服务,rk-boot 集成了 Panic 捕捉以及标准错误类型。
尹东勋
2021/10/28
1.5K0
Gin 框架: RPC 错误码设计
相关推荐
gRPC: 通过 Web 获取服务原信息
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档