GoFrame v2.7 版本发布,企业级 Golang 开发框架
大家好,GoFrame
框架今天发布了v2.7.0
正式版本啦! 👏👏👏👏👏👏👏👏👏
本次版本最大的看点是提供了metric
监控组件,主库提供了接口化的metric
设计,社区组件提供了基于OpenTelemetry
的metric
接口实现。该特性在默认情况下是关闭的,只有在引入具体的接口实现或者社区实现时才会默认启用。当前版本同时提供了HTTP Client&Server
的监控指标实现,其他组件的监控指标将在后续版本中陆续提供。详情请参考文档:服务监控告警
同时,在本次版本中实现了对dm/mssql/oracle/pgsql/pgsql/sqlite
数据库的Save
操作支持,感谢社区小伙伴 https://github.com/oldme-git 💖。
此外,值得一提的是,在本次版本中,我们对gcron
定时任务组件对秒级字段增加了忽略符号#
的特性,用于将6
段式的cron pattern
转换为类似于5
段式的linux crontab pattern
功能,用于解决秒级粒度下由于延迟引起的任务执行不准确问题:定时任务-表达式
由于本次版本变更内容较多,以下中文介绍一些较为重要的改进点,详细的ChangeLog
请参考:https://github.com/gogf/gf/releases/tag/v2.7.0
完整代码变更请参考:https://github.com/gogf/gf/compare/v2.6.0...v2.7.0
感谢所有参与本地版本的贡献开发者们💖!
组件改进
gdb
- 新增
Stats
接口定义及实现,用于获取当前数据库orm
对象维护的连接池信息:ORM高级特性-连接池状态 - 新增
FormatUpsert
接口定义及实现,用于不同数据库类型实现写入/更新操作,即Save
操作。 - 新增
SqlType
类型,并将已有的sql type
类型定义从string
类型改为了SqlType
类型。 - 新增
Model.OnConflict
方法,用于实现部分数据库类型当字段唯一键冲突时的更新策略,特别是实现Save
操作。 - 修复
ClearTableFieldsAll
方法失效的问题。
- 新增
ghttp
- 新增
MiddlewareNeverDoneCtx
中间件,开发者可以选择使用,避免客户端取消请求时服务端收到的context cancel
问题:常见问题 - 新增
http server
的监控指标实现,默认关闭不会影响性能,只有在开启metrics
特性时才会自动开启:HTTPServer-监控指标 - 改进
tracing
记录,将span
名称从query uri
改为了route uri
,便于查看时更容易聚合。 - 改进
Request
对象中的EnterTime
及LeaveTime
属性类型,从int64
改为了*gtime.Time
类型。 - 将
WebSocket
方法标记废弃,将会在未来的大版本中去掉,也会去掉http server
对websocket
的内嵌耦合支持。未来建议通过其他的websocket
开源组件结合http server
一起使用,更加解耦灵活。 - 修复由于
Request Body
默认可重复读取的问题引发的大文件上传占用内存问题。 - 修复
StartPProfServer
方法的pattern
参数失效问题。 - 文件下载方法
Request.ServeFileDownload
方法新增Access-Control-Expose-Headers Header
返回,以支持ajax
文件请求。 - 服务配置新增
SwaggerUITemplate
配置项,用于快捷配置SwaggerUI
页面的HTML
内容。 http server
启动路由打印时不再打印内置的中间件。
- 新增
gclient
- 修复在开启服务发现的情况下,所有的
http
请求均会强制走服务发现的域名解析问题。 - 新增
http client
的监控指标实现,默认关闭不会影响性能,只有在开启metrics
特性时才会自动开启:HTTPClient-监控指标
- 修复在开启服务发现的情况下,所有的
gcon
- 新增忽略符号
#
,对cron pattern
中的秒字段进行占位,表示忽略秒字段,用于将6
段式的cron pattern
转换为5
段式的linux crontab pattern
:定时任务-表达式 - 修复在确定的秒级任务场景中(例如
2 * * * * *
),当底层时间出现不准确时可能引发两次任务执行。
- 新增忽略符号
gerror
- 修复
gerror.HasCode
方法递归逻辑失效的问题。
- 修复
g
- 改进
DumpJson
方法,用于实现对任意变量按照JSON
格式进行打印。
- 改进
gcache
- 修复大量创建
Cache
对象引发的goroutine
过多问题。
- 修复大量创建
gcmd
- 新增
RunWithSpecificArgs
方法,用于使用自定义的arguments
运行命令对象。 - 修复部分场景下由于参数结构体名称和结构体标签名称冲突引发的参数丢失问题。
- 新增
gfsnotify
- 修复
gfsnotify
对象关闭时可能引发的panic
问题。
- 修复
glog
- 修复
rotate
特性对gz
后缀日志压缩文件的重复rotate
问题。
- 修复
gmetric
- 新增
gmetric
组件,采用了解耦设计,只有接口定义和Noop
的实现,真实的实现在社区组件中。只有引入具体的实现才会真实开启metric
特性:服务监控告警
- 新增
gproc
- 修复进程参数解析在
windows
下可能失败的问题。 - 改进
Signal
信号监听实现,允许在运行时增加信号监听处理方法。
- 修复进程参数解析在
gview
- 修复由于
os.Getwd
方法执行失败引起的健壮性问题。
- 修复由于
gconv
json.RawMessage
支持接受slice
类型的参数转换。- 修复
MapDeep
内部转换缺失Deep
参数引发的递归转换失败问题。 - 使用
MapRange
改进内部Map
遍历逻辑,提高执行性能。
社区组件
- 社区
contrib/drivers
数据库组件的改进:contrib/drivers/dm
组件新增对Save
操作的支持。contrib/drivers/mssql
组件新增对Save
操作的支持。contrib/drivers/oracle
组件新增对Save
操作的支持,并修复写入参数不支持gdb.Raw
类型的问题。contrib/drivers/pgsql
组件新增对Save
操作的支持。contrib/drivers/sqlite
组件新增对Save
操作的支持。contrib/drivers/sqlitecgo
组件新增对Save
操作的支持。
- 新增
contrib/metric/otelmetric
组件,实现了对OpenTelemetry Metric
的支持:服务监控告警 - 改进
contrib/nosql/redis
组件:- 新增
SentinelUsername
及SentinelPassword
参数配置,以扩展对Redis Sentinel
模式的支持:Redis-配置管理 - 改进
Redis
接口实现,开发者可以灵活自定义扩展、覆盖社区组件对象redis.Redis
类型的实现:Redis-接口化设计
- 新增
- 改进
contrib/registry/etcd
组件,允许开发者配置etcd
链接的校验信息。 - 改进
contrib/rpc/grpcx
组件:- 对启用
tracing
特性时,安全截断请求内容。 - 新增对
logger
配置项的支持,允许在配置文件中通过logger
配置项配置grpc server
的日志对象:服务端配置
- 对启用
- 改进
contrib/trace/otlphttp
及contrib/trace/otlpgrpc
组件,修复在短进程场景下正常ShutDown
仍可能会出现的trace
数据丢失问题。
开发工具
- 改进
gen dao
生成的entity
源文件,增加orm
标签,以提高数据库查询结果转换到entity
对象的效率。 - 改进
gen service
命令,修复生成的源码文件中,方法顺序不一致问题。 - 改进
build
命令,将生成的二进制文件存放目录path
参数的默认值从./temp
改为了.
即当前目录,以解决该参数自定义失效的问题。 - 改进
init
命令,新增-module/g
参数,用于在初始化项目时显式指定go module
名称。 - 修复
gen dao
在多个数据库生成配置下,使用clear
参数时删除已生成的dao
源文件的问题。 - 修复
gen pbentity
命令,使用自定义的jsonCase
参数无效的问题。 - 修复
run
命令的-w
指定监听目录参数失效的问题。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
youdeyunke [6.1.105] 版本发布
本次更新主要内容如下: 一、新增功能 新增对外接口扩展模块,支持更多定制化对接需求。 新增用户反馈功能,允许小程序端用户提交反馈,后台管理人员可集中查看。 新增土地拍卖信息管理模块,管理后台可进行土拍信息录入,小程序端实时展示相关信息。 新增网签日历相关功能,管理后台录入,小程序端显示。 界面设计器新增热门资讯,视频列表模块;新增导入导出页面功能,可对首页、发现、我的、自定义等页面进行编辑与导入导出。 二、修复问题 客户详情显示bug修复 修复了客户指派给置业顾问时出现的故障,现在可以正常分配。 视频播放功能中存在的bug修复 企业微信打开小程序时登录bug修复 修复其他一些已知问题 三、优化调整 优化小程序首页、发现、我的以及自定义页面,增加热门资讯、视频列表模块。 管理后台侧边栏菜单图标优化。 管理后台商业授权相关页面优化。 管理后台楼盘图文信息编辑页面优化。 界面设计器功能优化 优化一些 UI 交互细节
- 下一篇
Apifox 集成,Fast Request 2024.1.4 发布
Restful Fast Request是一个类似于 Postman 的 IDEA 插件。它是一个强大的 restful api 工具包插件,可以根据已有的方法帮助您快速、自动生成 url 和 params。 Restful Fast Request = API 调试工具 + API 管理工具 + API 搜索工具。 它有一个漂亮的界面来完成请求、检查服务器响应、存储你的 api 请求和导出 api 请求。插件帮助你在 IDEA 界面内更快更高效得调试你的 API。 最新域名:api-buddy.cn Restful Fast Request 为简化 API 调试而生,3 秒调完 Spring 接口不是梦,所以少年,赶紧上号吧 倾听用户的声音,不断提升自我,本次Restful Fast Request更新主要内容如下: 重要功能、新功能、优化项、修复项 Apifox 集成 AI 支持优化 自定义工具栏 变更 moduleHeader 为 apiHeader 超大响应结果性能优化 Map入参类型解析优化 实体解析优化 API 导出文件后缀错误 windows系统下载文件无响应 Apif...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- CentOS8编译安装MySQL8.0.19
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker安装Oracle12C,快速搭建Oracle学习环境
- 设置Eclipse缩进为4个空格,增强代码规范
- MySQL8.0.19开启GTID主从同步CentOS8