GF(Go Frame)开发框架 v2.7.1

GF开发框架

  • 源码大小:1.6MB
  • 源码语言:简体中文
  • 源码类型:国产软件
  • 源码授权:开源软件
  • 源码类别:其它源码
  • 应用平台:Go
  • 源码官网:
  • 更新时间:2024-06-08
  • 网友评分:
360通过 腾讯通过 金山通过

情介绍

GF(Go Frame)是一款模块化、高性能、生产级的Go基础开发框架。 实现了比较完善的基础设施建设以及开发工具链,提供了常用的基础开发模块, 如:缓存、日志、队列、数组、集合、容器、定时器、命令行、内存锁、对象池、 配置管理、资源管理、数据校验、数据编码、定时任务、数据库ORM、TCP/UDP组件、进程管理/通信等等。 并提供了Web服务开发的系列核心组件,如:Router、Cookie、Session、Middleware、服务注册、模板引擎等等, 支持热重启、热更新、域名绑定、TLS/HTTPS、Rewrite等特性。

特点:

模块化、松耦合设计;

模块丰富、开箱即用;

简便易用、易于维护;

高代码质量、高单元测试覆盖率;

社区活跃,大牛谦逊低调脾气好;

详尽的开发文档及示例;

完善的本地中文化支持;

设计为团队及企业使用;

模块:

核心模块

GoFrame提供了一些基础的、常用的模块,简单、易用和轻量级,并保持极少的外部依赖,这些模块由gf主仓库细致维护。

社区模块

社区模块主要由社区贡献并维护,大部分也是由gf主仓库的贡献者提供及维护,存放于gogf空间下,与gf主仓库处于同一级别。有的社区模块是从gf主仓库中剥离出来单独维护的模块,这些模块并不是特别常用,或者对外部依赖较重。

环境:

OS: Ubuntu 18.04 amd64

CPU: AMD A8-6600K x 4

MEM: 32GB

GO: v1.13.4

更新日志

组件改进

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-监控指标

gcron

新增忽略符号#,对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指定监听目录参数失效的问题。

载地址

下载错误?【投诉报错】

GF(Go Frame)开发框架 v2.7.1

      气源码

      关文章

      • 优雅草便民tools工具 v1.0.6

        优雅草便民工具--便民tools工具tools-前端已接数据,优雅草小工具-数据来自优雅草api赋能-优雅草便民工具是一款由成都市一颗优雅草科技有限公司打造的便民查询公益工具,欢...

      • 抖音热门短剧在线搜索引擎 v1.0

        一个非常哇塞的在线短剧搜索页面,接口已经对接好了,上传源码到服务器解压就能直接用,有能力的可以自己改接口自己写自己的接口...

      • 名扬银河企业建站源码 v2.0.2

        名扬银河企业建站系统,适用于无代码基础的新手,快速搭建企业网站,程序内置了多项实用功能及插件,能够便捷的对网站进行修改、调整、优化等方面进行操作...

      • AGECMS商业会云管理_电子名片 v1.0.1

        AGECMS商业会云管理电子名片是一款专为商务人士设计的全方位互动电子名片软件。它结合了现代商务交流的便捷性与高效性,通过数字化的方式,欢迎需要的朋友下载使用...

      • 帝国cms看雪时间轴博客趣静态模板 v1.0

        帝国cms看雪时间轴博客趣静态模板是一款女生唯美简洁个人博客静态页面模板,蓝色时间轴个人网页模板,下雪空间个人模板,喜欢的网友可以用开源程序帝国cms标签仿站建设...

      • Apache Superset数据探查与可视化平台 v3.1.2

        Superset可视化平台是Airbnb(知名在线房屋短租公司)开源的数据探查与可视化平台(曾用名 Panoramix、Caravel ),该工具在可视化、易用性和交互性上非常有特色...

      • Godot游戏引擎 v3.5.3

        Godot是一个全新开发的开源跨平台游戏引擎,其功能集类似知名的跨平台游戏引Unity,可用于开发PC、主机、移动和Web游戏。...

      • Python的c- 编译器源码

        Python的c- 编译器实现了词法分析,语法分析,句义分析,以及MPIS代码生成.. CSC541 Compiler的学期作业,喜欢的朋友快来下载体验吧...

      • 基于GitHub的饭团图床源码

        饭团图床是一款基于GitHub的图床源码,前端基于Masonry瀑布流的全屏预览图片画廊,喜欢的朋友快来下载体验吧...

      • GreaterWMS仓库管理系统 v2.1.48

        GreaterWMS仓库管理系统是基于货物供应链管控的第一解决方案,无论您是仅构建进销存、仓库管理系统,还是赋予物联网,以及ERP和分销系统的拓展,或者所有这些...

      载声明

      ☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
      ☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
      ☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
      ☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
      ☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
      ☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
      ☉ 本站提供的GF(Go Frame)开发框架 v2.7.1资源来源互联网,版权归该下载资源的合法拥有者所有。