2021年1月1日
监控告警选择Prometheus平台;收集处理应用日志选择EFK。 Open-falcon、Prometheus、Zabbix监控告警系统对比: https://www.jianshu.com/p/210dc70b493e https://www.sohu.com/a/342812843_411876 Zabbix详解: ………
阅读全文
2021年1月1日
在这里我对GoFast的主要设计思路做一些概要介绍。 框架核心流程 源代码开始的地方:gofast/fst/fst.go 说明:以后我们也把这些后台WebServer叫做Application,简称App。 CreateServer 每个应用都要从这里开始,在这里我们定义了一个配置结构AppConfig,将来所有的配置参数都放在这里面,配 ………
阅读全文
2020年12月31日
[Preview] 当前持续完善中,不可生产中使用 [Preview] GoFast Micro-Service Framework GoFast是一个用Go语言实现的微服务开发框架。他的产生源于目前流行的gin、go-zero、fastify等众多开源框架;同时结合了作者多年的开发实践经验,很多模块的实现方式都是作者首创;当然也免不了不 ………
阅读全文
2020年12月29日
Go学习第四篇文章已经学习了类型的方法集,分值接收者和指针接收者,而且值和指针变量都可以自由调用这些方法。但接口的变量却不能随意调用实现者的方法集,这里有文章。 接口的认识 Go语言中接口(interface)非常重要,他被用来约定一组行为,凡是具备这一组行为的类型,都可以看做是该接口的派生类型。利用这种特性,我们就能抽象出一类行为,将来 ………
阅读全文
2020年12月29日
Go语言中的unsafe包非常简单,但是威力强大,用不少就出问题。整个包就这些代码: 1 2 3 4 5 6 7 package unsafe type ArbitraryType int type Pointer *ArbitraryType func Sizeof(x ArbitraryType) uintptr func ………
阅读全文
2020年12月28日
参考: https://oracle.github.io/node-oracledb/INSTALL.html#instzip https://www.cnblogs.com/rysinal/p/7779055.html 关键是Oracle客户端链接库的安装和环境变量的设置;之后如果服务器是没有外网的话,编译oracledb包的时候可能会 ………
阅读全文
2020年12月28日
goroutine 在Go里,每一个并发执行的活动成为goroutine。 当一个程序启动时, 只有一个goroutine来调用main函数,称它为主goroutine。新的goroutine通过go语句进行创建。语法上,一个go语句是在普通的函数或者方法调用前加上go关键字前缀。main函数返回时,main函数中其他所有 ………
阅读全文
2020年12月27日
Go语言最大的特色就是其并发编程模型,多处理器的时候还可以自动实现真正的并行计算。这些复杂的调度算法被打包在了Go语言运行时当中。 分时调度 先回顾一下操作系统。 操作系统本身就是对硬件资源的一个大调度器;如果没有多任务的需求,我们都不需要这么复杂的调度,不需要分时操作系统;一直算个不停,一条路走到黑反而是利用率最高的;事实上最早期的操作 ………
阅读全文
2020年12月27日
格式化参数非常多,这里列出一些常用的: verb 描述 %b,%o,%d,%x 二进制、八进制、十进制、十六进制整数 %X 十六进制整数、字母大写 %f,%g,%e 浮点数:如3.141593,3.141592653589793,3.141593e+00 %v 按值的本来值输出 %+v 在 %v 基础上,对结构体字段名和值进行展开 %#v ………
阅读全文
2020年12月25日
Linux上安装golang 上https://golang.google.cn/dl/下载对应的包,整体放入/usr/local下面,然后解压缩,删除压缩包,添加环境变量,应用设置使生效。下面是操作命令。 1 2 3 4 5 6 7 8 9 10 11 # 下载对应的包,放入/usr/local/并解压 wget ………
阅读全文