2 go 数据类型 2.1 基础数据类型 基础数据类型 类型 长度(字节,byte) 默认值 说明 bool 1 false byte 1 0 uint8,取值范围[0,255], 字节类型,取值范围同uint8,赋值得时候是'' rune 4 0 Unicode 码点,取值范围同uint32,赋值得时候是'' int, uint 4 或 8 0 …
5.3 viper 包配置文件使用 我们现在可以看到这个程序在启动的时候需要加载很多配置信息,那我们可以将其写到配置文件中 没中配置文件都有对应不同的库,因为每一种配置文件他都有固定的格式,所以需要通过不同的解析器 常见配置文件: ini => 解析器 json => 解析器 yaml => 解析器 toml => 解析器 …
5.2 日志功能 日志的话需要先了解 logrus 包 https://pkg.go.dev/github.com/sirupsen/logrus#section-readme 5.2.1 logrus 包初体验 1.编写程序 package main import "github.com/sirupsen/logrus" func mai…
1 数据采集原理 这里我通过 mysql 监控开发,来演示其实监控其他的第三方程序都是一样的 这里有一个 exporter 暴露一个 /metrics 的 api , 但是这又有一个第三方应用程序,exporter 如何去获取到当前第三方程序的采集数据,因为他获取数据以后才能够实现暴露。 exporter 对外提供接口,这个接口并不是一个 web …
Prometheus client 开发 如何在应用里面去暴露我的采集指标给 Prometheus 呢,这个就需要使用到暴露端的开发。 暴露端的开发肯定需要启动一个 http 服务,因为 Prometheus 本身是通过 http 服务来采集数据的,启动服务最简单的方式就是通过 go 的 http 包 其实对于 http 的服务器我们最关心的是采集…
1 Prometheus 相关功能介绍 Prometheus 相当于一张时序的数据库,我们对普罗米修斯来说更多的是查 针对 Prometheus 的查询来说,普罗米修斯更多的是一个查询语言 而且普罗米修斯是一个单节点部署他的数据存储在本地的,运行的时候都是以 pull 的方式来获取数据的,联邦模式更多是解决一些上下级和性能的问题。 Promethe…
1 ORM 对象关系映射1.1 ORM 映射的好处:1.2 beego 中的 ORM1.2.1 ORM 初使用范例1.3 自定义 ORM 数据属性 (sql DML 操作)1.3.1 自定义表名1.3.2 自定义列名1.3.3 删除表在重建表,并自定义表属性1.3.4 自定义表中的主键1.3.5 自定义属性值自动增长1.3.6 自定义数据类型1.3…
1 会话 session session 服务器端存储:内存、本地磁盘文件、数据库中,但是我们都知道将数据从内存写入文件中有一个序列化过程,但是 beego 的话不用关注这个过程。在持久化存储的时候必须序列化,session 在 beego 中持久化使用的是 gob 编码,也就是说我在 session 中放一个自定义类型的需要注册然后生成 gob …
3.7 路由控制器 我们看看 beego 的 Controller 结构体源码 type Controller struct { // context data Ctx *context.Context // 与输入有关,获取数据 Data map[interface{}]interface{} // 与输出有关 // route contr…
手撕 Beego Beego 其实是建立在 http 包之上的,他呢其实是 http 包功能的一些扩展 Beego 是一个快速开发 Go 应用的 HTTP 框架,可以用来开发 API、WEB 以及后端服务等各个应用 代码地址:https://github.com/astaxie/beego 在使用 beego 之前呢,他和 http 包一样每一个 …