首页 文章 精选 留言 我的

精选列表

搜索[企业级市场],共10000篇文章
优秀的个人博客,低调大师

CodeBuddy MCP 协议实战:打造企业级代码审查智能体

💡 摘要: 团队代码审查面临三大痛点:人力不足导致审查积压、标准不一导致质量参差、安全漏洞容易遗漏。本文基于我在某电商平台20人研发团队的实战经验,介绍如何基于腾讯云 CodeBuddy 的 MCP(Model Context Protocol)协议,自定义开发代码审查智能体——自动扫描PR代码、检测安全漏洞、检查编码规范、生成审查报告并自动评论。通过3个自定义MCP Server(安全扫描+规范检查+性能分析)和知识库RAG集成,实现审查覆盖率从60%提升到95%、安全漏洞发现率提升3倍。包含5个实操步骤、3张架构图、5个踩坑案例,适合架构师、技术负责人和DevSecOps阅读。

优秀的个人博客,低调大师

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指定监听目录参数失效的问题。

优秀的个人博客,低调大师

GoFrame v2.6 版本发布,企业级 Golang 开发框架

大家好啊,GoFrame框架今天发布了v2.6.0正式版本啦!👏👏👏👏 本次版本主要是大量的代码改进和BugFix工作。由于本次版本变更内容较多,以下中文介绍一些较为重要的改进点,详细的ChangeLog请参考(特别是BugFix):https://github.com/gogf/gf/releases/tag/v2.6.0 完整代码变更:https://github.com/gogf/gf/compare/v2.5.0...v2.6.0 感谢本次所有的贡献开发者: 功能改进 框架最低依赖的Golang版本从v1.15升级到v1.18。 g 新增g.Go方法,用于便捷创建带有ctx和recover参数的异步goroutine。 glog 改进Handler回调处理函数的HandlerInput输入参数,增加Values参数,该参数为日志打印时的参数列表:日志组件-Handler 新增HandlerStructure回调函数,将日志打印内容按照结构化参数打印,打印内容结构同golang标准库新版本slog:日志组件-Handler 改进日志文件rotate逻辑,解决在个别场景下文件无法rotate的问题。 gerror 增加错误堆栈模式(brief/detail):在brief模式下,错误堆栈仅会打印非框架组件堆栈。在detail模式下,错误堆栈会打印完整的框架代码调用链路。框架默认使用brief模式:错误处理-其他特性 gcode 新增gcode.CodeInternalPanic错误码,框架组件捕获的所有panic错误将会以此错误码返回。 gmap 新增Diff方法,用于对比并返回两个Map的差异。 gaes 新增PKCS7Padding/PKCS7UnPadding方法。 gdb 删除ConvertDataForRecord转换方法,新增ConvertValueForField转换方法。 修改CheckLocalTypeForField方法,返回参数类型string修改为LocalType类型。 这两个主要是数据库实现会用到,通常在社区组件中使用。如果使用者本地有gdb.DB接口的实现需要注意这个改动。 新增Model.Partition方法,允许数据库操作时用户显式指定分区参数。 新增Model.LeftJoinOnFields/RightJoinOnFields/InnerJoinOnFields方法,用于更便捷实现Join关联操作。 修复Model.WherePrefixNotIn方法实现问题。 gredis 新增Cluster配置项,用于指定是否使用集群模式:Redis-配置管理 新增Protocol配置项,用于指定RESP版本:Redis-配置管理 gi18n 改进转译文件读取逻辑,支持从资源管理器中自动读取文件:I18N国际化-配置管理 gclient 新增NoUrlEncode特性,设置GET请求不自动对参数做UrlEncode编码。 ghttp 改进退出信号处理,支持windows平台下的退出信号捕获后优雅退出。 goai 支持自动识别ghttp.UploadFile类型为OpenAPIv3的File类型。 去掉Path对象上与Method对象上重复的描述信息。 接口示例的字段类型按照参数数据类型自动转换为对应的数据类型。 gcfg 新增AdapterContent配置接口实现,使用具体的配置内容来实现配置管理对象:配置管理-AdapterContent gctx 新增NeverDone方法,用于包裹给定的ctx对象并返回一个永不会过期和Cancel的ctx对象。 gfile 默认创建的文件模式从0777改为了0755。 改进Copy/CopyFile/CopyDir方法,增加CopyOption可选参数,用于控制复制逻辑的可选项。 gmutex 使用Golang新版本的mutex改进gmutex.Mutex对象,直接使用新版本标准库的TryLock/TryRLock,不再自行实现这些重复的方法。保留LockFunc/TryLockFunc方法。 新增gmutex.RWMutex对象,扩展自标准库的sync.RWMutex对象,扩展新增了LockFunc/TryLockFunc、RLockFunc/TryRLockFunc方法。 gstr 新增List2/ListAndTrim2/List3/ListAndTrim3方法,实现类似于PHP list方法特性,将字符串拆分后作为多个结果值返回。 新增CaseConvert方法,用于按照给定的CaseType类型参数执行字符串命名格式转换。 gconv 新增ConvertWithRefer方法,用于给定参数作为类型参考,并转换给定参数为指定参数的类型。 gutil 新增FillStructWithDefault方法,用于自动通过读取struct tag读取默认值并填充给定的struct对象/指针。 gvalid 修复enums校验规则不支持map参数类型的问题。 社区组件 配置管理 新增contrib/config/consul组件,用于配置管理组件接口的consul服务实现:https://github.com/gogf/gf/tree/master/contrib/config/consul 数据库实现 改进contrib/drivers/dm组件: 支持schema参数配置。 支持time.Time/*time.Time时间类型参数操作。 改进contrib/drivers/sqlite组件,支持Insert Ignore及Save操作。 新增contrib/drivers/sqlitecgo组件,通过cgo方式支持i386系统架构。 改进contrib/nosql/redis组件: 增加TLSConfig配置,以支持TLS链接Redis Server。 增加Protocol配置项,以支持最新版本的Redis Server。 服务注册发现 新增contrib/registry/nacos组件,使用nacos时限微服务的注册发现: 改进contrib/registry/file组件,自动删除过期的注册项,避免客户端发现并连接过期的服务端地址。 修复contrib/registry/polaris组件部分实现问题。 微服务组件 改进contrib/rpc/grpcx组件: 客户端支持直接给定链接地址访问服务端。 完善单测,提高代码质量。 开发工具 改进cli工具安装方式,额外支持go install安装方式:go install github.com/gogf/gf/cmd/gf/v2@latest 改进gf run命令,新增WatchPaths/-w配置,支持指定监听的路径列表,避免默认监听本地项目所有项目文件引发too many opened files问题:自动编译-run 改进gf gen ctrl命令,新增Merge/-m选项,用以控制生成的控制器代码文件按照api层的文件生成,而不是默认按照api接口拆分为不同的接口实现文件:接口规范-gen ctrl 改进gf gen dao命令,新增RemoveFieldPrefix/-rf选项,用于自动去掉生成表字段的名称前缀:数据规范-gen dao 改进gf gen pbentity命令,新增RemoveFieldPrefix/-rf选项,用于自动去掉生成表字段的名称前缀:数据表PB-gen pbentity 改进gf gen service命令,支持自动识别logic模块对象的方法注释生成到service接口文件中。 改进gf version/gf -v命令,更详细的工具版本、运行环境、框架版本信息。 改进开发工具的初始化效率,去掉影响初始化效率的init包方法逻辑。 修复gf gen dao命令中指定Link数据库配置失效的问题。 其他一些细节修复。

优秀的个人博客,低调大师

高效构建 vivo 企业级网络流量分析系统

作者:vivo 互联网服务器团队- Ming Yujia 随着网络规模的快速发展,网络状况的良好与否已经直接关系到了企业的日常收益,故障中的每一秒都会导致大量的用户流失与经济亏损。因此,如何快速发现网络问题与定位异常流量已经成为大型企业内必须优先解决的问题,诸多网络流量分析技术也同时应运而生。 一、概述 随着网络规模的快速发展,网络状况的良好与否已经直接关系到了企业的日常收益,故障中的每一秒都会导致大量的用户流失与经济亏损。每一家企业都在不断完善自己的网络监控手段,但在监控体系建设过程中,却又不可避免的面临以下难点: 网络流量数据庞大:由于网络流量的规模和复杂性都非常高,很难对大量的数据进行有效的监控和分析。 流量数据采集分析建设成本高昂:为获取准确的流量数据,需要使用高效的数据采集技术和大容量的存储设备,以及大量的开发资源,这使得监控成本直线上升 监控手段单一、缺乏扩展性:传统的监控手段一般只能监控固定的几个数据点,难以针对不同的网络环境进行定制化和扩展。 难以快速定位和解决问题:由于网络流量数据量大、变化频繁,往往需要花费大量的时间和精力才能找出问题根源。 因此,如何利用尽可能低的监控成本快速发现网络问题与定位异常流量已经成为大型企业内必须优先解决的问题,诸多网络流量分析技术也同时应运而生。 sFlow技术就是这样一种高效、灵活的解决方案。它可以通过流量采样技术抽取数据包中的部分信息,从而实现对大量网络流量数据进行持续监控。同时,sFlow技术还具有灵活的配置和扩展性,可以根据实际需求进行定制,并支持多种网络设备和协议。这些优势使得sFlow技术在现代网络监控和管理中得到广泛应用。 二、常见的网络流量采集技术 主流的网络流量采集主要分为全流量采集与采样流量采集两种。 2.1 全流量采集 全流量采集包括端口镜像、分光设备等方式。在流量庞大的网络中,使用端口镜像方式不仅会导致全链路时延增加,而且会使吞吐量庞大情况下的网络设备压力激增。分光设备虽然可以降低链路时延,但同样存在采购价格高昂的门槛。除此之外,由于大型企业内IDC规模庞大,由此导致的全流量数据量也会激增,想要完整的靠自研做好全流量数据分析,不仅需要一定的存储计算资源,也需要一定的软件开发周期,不利于项目的快速搭建成型。 2.2 采样流量采集 在流量分析系统欠缺的情况下,使用采样分析的优势就体现出来了,相对于全流量,他部署成本低,数据分析代价小,很适合对异常流量的快速定位以及网络内的趋势占比分析。以下主要对比介绍sFlow与Netflow两种采样方式的优缺点。 sFlow在流量监控上范围更广,在满足硬件要求的IDC内部环境,使用sFlow进行采样流量监测,可以有效降低网络设备负载,并且提供实时流量监控手段,以应对突发网络异常场景。 三、基于sFlow的系统设计 3.1 基础设计 在满足硬件条件的情况下,基于sFlow的基础系统设计很简单,使用sFlow agent + sFlow collector + sFlow analyser即可实现整个流程的数据闭环。 sFlow agent:通过enabled相关网络设备上的sFlow能力,设定采样比等参数并制定收集端相应地址,即可对端口收发流量进行采集。agent侧更重要的反而是如何确定采集的网络设备范围,相对于无目的的全量网络设备部署,针对边界核心网络设备进行部署更有意义,因为所有的对外流量最终都必须经过边界网络设备。在能更好监控外部流量异常的情况下,也能减轻数据存储负担。 sFlow collector:收集并解析agent侧采集传输的 sFlow datagrams。 sFlow analyser:对格式化的数据进行可视化分析展示,以供网络管理员进行有效观测分析。 3.2 开源+自研:架构进阶 在确定了基本架构之后,如何进行组件选用与定制化功能扩充,开源解决方案elastiflow为我们提供了很好的示例,笔者基于开源进行了扩展,以满足更多定制化功能。 sFlow agent:使用上报统一vip的形式进行端口流量采样(官方规定的采样比需是2^n),可以利用vip的LB能力进行负载均衡,使得sFlow报文均衡打到收集端固定端口。针对不同的网络线路设定不同的采样比,在降低数据存储的同时也可以保证重要线路更高的精准性。 sFlow collector:使用ELK套件进行数据收集与可视化分析是比较成熟的技术方案之一。因此,收集端我们使用logstash进行原生数据报文收集与解析。elastiflow的作者使用了logstash内原生的udp-sFlow报文解析组件进行数据解析,但笔者在实际测试中发现,虽然该方案能得到结构化更好的数据格式,但在数据解析的性能表现上很差,在数据量庞大的情况下会造成大量数据丢包现象,导致数据准确性下降。而sFlowtool由于底层是基于C语言来编写的,在性能表现上很优异,单物理机(32c64g)即可达到10w+tps,虽然对sFlow报文解析后的数据结构化要弱一点,但可以在后续分析模块对数据进行清洗与结构化构建。sFlowtool分析的数据示例如下所示。经由logstash的数据发送到kafka消息队列中。 [root@server src]# ./sFlowtool -lFLOW,10.0.0.254,0,0,00902773db08,001083265e00,0x0800,0,0,10.0.0.1,10.0.0.254,17,0x00,64,35690,161,0x00,143,125,80FLOW后的字段释义如下agent_addressinputPortoutputPortsrc_MACdst_MACethernet_typein_vlanout_vlansrc_IPdst_IPIP_protocolip_tosip_ttludp_src_port OR tcp_src_port OR icmp_typeudp_dst_port OR tcp_dst_port OR icmp_codetcp_flagspacket_sizeIP_sizesampling_rate sFlow analyser:通过从kafka实时消费数据,将数据进行清洗结构化,并借助三方metadata,对解析后的数据进行软件定义,以便于后续存储与分析。 database+display:使用Elasticsearch+Kibana进行存储与可视化展示,同时也可以利用mertic beat对logstash的采集性能进行监控。Kibana作为Bi类的数据可视化方案,提供了大部分可供免费使用的图表及Dashboard,可以很好的进行可视化分析。 3.3 分析端软件定义 拥有原生数据的情况下,我们已经能基于一些ip五元组等进行基本会话流量分析。但是流量数据所能体现的价值远不止这些,利用企业内其他的cmdb等平台,可以为我们的流量数据提供更大价值。 网络设备维度:通过数据内的交换机地址,出入向端口,可以根据采集配置的交换机端口index,判断该条流量出入向。也可基于网络设备ip,赋予其通道,线路,以及设备名等等其他属性。 ip维度:ip五元组提供了探索数据更高的可能,我们可以根据归属ip,判断他的项目,部门等归属信息,也可反向关联域名。这在对异常流量进行分析判断时能够快速定位到所属业务方,很大程度提高了运维效率。 3.4 压缩存储与可视化自研 由于Elasticsearch本身的数据压缩效果不够理想,使得我们在进行长时间存储数据时体量庞大臃肿。相应的,olap型数据库Druid很好地解决了这个问题,数据采样后经过分析端严格的结构化处理,可以在Druid内实现很好的数据压缩。除此之外,Druid内嵌的数据预聚合能力也能更好的帮助我们对历史数据进行降精处理,减少存储压力。切换存储引擎后,也就意味着没办法再使用Kibana进行通用展示,使用自研的web服务框架也能够应对灵活的需求场景,实现更多定制化的分析。 3.5 基于Celery设计的轻量流处理模型 虽然流量数据经过了采样降精,但整体的数据量依然很庞大。高效快速的进行流处理,降低整体系统时延至30s内,能够更快的帮助网络管理人员发现问题,除却利用传统的流处理工具外,我们也可以使用Celery来构建一个轻量高效易扩展的分布式流处理集群。 Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度。我们基于celery实时异步处理的特性,设计 celerybeat → watcher → producer → consumer 的消费链路来进行流处理。 celery beat:作为定时任务的触发器,每1s向watcher队列里派发一个新任务。 watcher worker:在队列中拿到任务后,转发给producer,并根据设置的队列最大值,对producer队列进行拥塞控制。 producer worker:在队列中拿到任务后,从kafka中获取采集的流量数据,按照batch size批量发送给consumer队列,并根据设置的队列最大值,对consumer队列进行拥塞控制。 consumer worker:在队列中拿到任务后,根据本地缓存/共享缓存内的业务信息,对采集数据进行数据清洗,打业务标签等操作,并写入另一kakfa或直接写入database。 每一个角色以及节点可以通过Celery broker进行通信,实现分布式集群部署,针对consumer单元化操作,可以使用eventlet以协程方式启动,以保证集群高并发消费。 四、应用场景 4.1 机房维度流量分析 通过基于网络cmdb的ip匹配,对流量数据进行机房维度的汇总,可以得到机房整体的对外出入向流量分析,在IDC同外部交互时,整体流量的趋势变化,是判断带宽占用程度的直接标准。 4.2 网络线路信息关联 通过对网络设备基于ip+ifindex的逻辑信息映射,可以对核心通道线路做到聚合展示,在针对一些公网线路异常,专用线路带宽打满等异常问题时,通过观察线路分析可以直接准确定位故障发生的第一时间点。 4.3 ip会话信息挖掘 虽然sflow只截取了报文的头部信息而不包含数据包部分,但ip五元组本身也提供了极大的网络流量分析价值。 利用会话信息,我们可以准确有效的定位异常流量的ip归属,通过ip+服务端口的,我们甚至可以定位具体产生流量异常的服务与进程,从而做出下一步决策。除此之外,ip也能同企业内CMDB产生联动,定位到ip所属资源的所在资源组,从而得到不同部门/行政组产生的流量占比分析,这同时也有利于在产生异常流量时第一时间感知到相关业务,并进行通知管控。 4.4 ip归属地分析 除了结合内部信息,通过运营商提供的归属地信息,我们可以查看ip访问的来源,进行相关归属地分析与Dashboard制作。 五、总结 要实现对网络全面、实时的监控分析必须依靠先进有效的网络监控协议和技术来满足业务日益增长的需求。基于sFlow的流量分析虽然在轻量化构建上有着很大的优势,在面对异常流量时也能够基于流量趋势与分布占比做出快速反应。但sFlow本身的采样却不包含报文内数据包的信息,针对一些sql注入、数据安全等等网络安全攻防问题,没办法提供准确定位与解决方案。因此,全流量分析也应是流量分析系统未来必不可少的一环,两者相结合才能够提供更全面、更精细化的流量监控,为数据中心的网络安全保驾护航。 六、未来展望 虽然sFlow技术在网络性能监控和管理领域中得到了广泛应用,但在未来更大规模的网络流量场景冲击下,还需要具备更多的能力: 1.支持更多协议和应用:sFlow监控的思想不仅适用于网络流量,还可以监控应用流量、虚拟化环境、云平台等。未来,sFlow技术应该支持更多的协议和应用,以更好地适应新型网络环境。 2.自适应流量采集技术:sFlow技术的流量采集技术是固定周期的,但是随着网络流量的变化,固定周期的采集可能无法准确反映网络实时状态。未来,sFlow监控技术应该支持自适应流量采集技术,能够根据实际网络流量变化自动调整采集周期。 3.便捷的管理功能:sFlow目前的配置更多依赖于网络管理人员在交换机上进行配置,无法实现一键下发,自动发现,快速调整采样比等等功能,未来更需要一个能够便捷下发命令,热加载配置变更的sFlow管理平台。 END 猜你喜欢 Jedis 参数异常引发服务雪崩案例分析 HBase Compaction 原理与线上调优实践 深入解析Redis的LRU与LFU算法实现 本文分享自微信公众号 - vivo互联网技术(vivoVMIC)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

优秀的个人博客,低调大师

GoFrame v2.5 版本发布,企业级 Golang 开发框架

大家好啊,GoFrame框架今天发布了v2.5.0正式版本啦!👏👏👏👏 本次版本主要是对已有功能组件以及开发工具上的改进工作。其中,开发工具新增了gf gen ctrl命令,以规范化定义、开发API接口,增加控制器、SDK的代码生成提高开发效率,以解决Golang工程开发中接口层面的规范和效率问题,详情请参考:接口规范-gen ctrl。其他变更内容请参考以下change log。Enjoy!🍺🍺🍺🍺🍺🍺🍺🍺 Github ChangeLog:https://github.com/gogf/gf/releases/tag/v2.5.0 完整代码变更:v2.4.0...v2.5.0,感谢本次所有的贡献开发者: 功能改进 gdb 改进ORM SQL日志记录,操作的字段按照数据表字段定义顺序进行操作。 改进HOOK方法实现,支持修改in参数的Table字段后修改执行的表名。 新增AllAndCount/ScanAndCount方法,用于实现便捷的分页查询场景。 新增Model.WhereOrNot/WhereOrPrefixNot条件方法。 gi18n 改进支持中文(Unicode)作为转译的键名。 gclient 新增Discovery链式操作方法,用于设置本次请求的服务发现组件。 ghttp 改进请求Context上下文处理,每次Context的变更将会影响底层的http.Request对象。以支持自定义HTTP Handler的数据交互场景。 新增Endpoints配置项支持,用于自定义Server的服务注册发现地址,而可以使用当前监听的地址。 goai 改进参数校验识别,如果参数为必须参数,则在OpenAPIv3结果中进行标记。 gsel 修复RoundRobin实现中Endpoints更新的锁机制问题。 glog 新增TimeFormat配置,用于自定义日志输出的时间格式:日志组件-配置管理 改进Rotation实现,支持短运行程序的日志文件切分。 gtag 新增GetGlobalEnums方法,用于获取全局注册的枚举类型。 gutil 新增DumpJson方法,用于将任意类型变量按照JSON格式化打印到终端,便于人工阅读。 gvalid 新增enums校验规则,用于实现枚举类型的自动识别和校验:数据校验-校验规则 社区组件 修复contrib/registry/polaris组件在多个服务端时的负载均衡问题。 改进contrib/drivers/pgsql在TableFields返回的Index字段序号统一从0开始。 改进contrib/nosql/redis新增用户配置项支持。 改进contrib/rpc/grpcx组件,grpcx.Server新增Endpoints配置项支持,用于自定义服务注册发现的地址。 新增contrib/sdk/httpclient组件,用于本次版本新增的gf gen ctrl命令生成的HTTP SDK代码文件依赖库。 新增contrib/trace/otlpgrpc及contrib/trace/otlphttp组件,用以实现基于OpenTelemetry的链路跟踪统一对接组件。 开发工具 新增gf gen ctrl命令,用于编译api定义目录,自动生成规范的controller、HTTP SDK代码:接口规范-gen ctrl 改进gf gen dao命令,新增TypeMapping特性,开发者可自定义数据表字段类型与生成的Go实体数据结构属性类型映射,并且可以方便引入第三方包类型(如decimal包以支持高精度类型):数据规范-gen dao 改进gf gen enums命令,其中的Prefix参数改为Prefixes,以支持多个生成枚举类型的包前缀指定:枚举维护-gen enums 改进gf gen service命令: 生成的service文件中,增加方法注释生成。 当生成的service文件中存在import冲突时,自动生成import alias。 改进命令行封装,暴露gfcmd.Command类型,便于开发者可以继承扩展自定义命令行功能。 改进gf docker命令,将构建文件参数设置为非必须(考虑兼容),未来将会只用于Docker构建,不再耦合二进制构建功能。如果有完整构建需求,建议未来结合gf build功能共同使用。并更新项目工程模板的make image命令,使用gf build+gf docker命令实现。 改进gf init命令,修复在部分场景下初始化项目覆盖已存在的.git/.gitignore目录及文件问题或权限报错问题。 改进gf up命令,修复在部分场景下的框架版本更新问题,以及在windows系统下的下载安装问题。 改进gf version命令,修复在部分场景下的框架版本识别问题。 修复gf gen pbentity命令,生成的proto文件实体数据结构的float32/float64/[]byte类型修改为float/double/bytes类型。 改进开发工具,部分命令可以不用显示配置importPrefix参数,如:gf gen dao/service

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册