
GO编程
文章平均质量分 90
inthirties
程序员紫龙,喜欢编程,热爱编程的老年程序员
展开
-
GO语言开发高性能网络通信服务
轻松的几行代码就可以实现tcp/IP的高性能的网络通信,今天就来介绍一下,使用boot4go-fastnet来实现一个简单的网络通信的例子。昨天的文章,介绍了boot4go-fastnet的实现的初衷,是给自己的物联网中间件产品作为网络通信底层的支持框架,并且还对比了epoll和其他网络库的性能对比,在简单的实现方式情况下,还能支持到不错的网络性能。今天就来看看一个最简单的网络通信的例子。原创 2022-09-18 16:42:31 · 651 阅读 · 0 评论 -
他山之石,可以攻玉, 改造fasthttp实现高性能网络通信
如果朋友看过在下上一篇文章《boot4go-gateway和nginx的性能测试大PK》,能在反向代理的性能PK中完胜Nginx的Gateway,是使用GO语言在基于比Go的标准http包快10倍以上的Fasthttp的基础上开发的;Fasthttp在Go语言里,以其卓著的性能优势而闻名,为什么fasthttp能有如此卓越的性能优势了,网上可以找到很多此方面的文章介绍。简要而言:一、是对每个连接请求和连接处理的协程进行了池化的处理;二、是通过合理的对象池的处理进可能的对性能进行压缩;原创 2022-09-17 23:57:29 · 793 阅读 · 0 评论 -
基于Fasthttp实现的Gateway,性能媲美Nginx
springcloud里的gateway可以和配置中心实现gateway的配置,可以和hytrix以及alibaba的Sentinel结合,实现熔断限流的功能,springcloud升级到3.0.1后,摒弃了netfix里的hytrix,使用新的熔断器reslience4j,这几种限流器都未提供比较完善的管理界面进行管理,sentinelboard提供管理工具,但是要做到完全的动态和配置管理,必须添加自己的代码,alibaba开源出来的sentinel的项目,这块的代码目前是没有公开的。原创 2022-09-15 21:33:18 · 1010 阅读 · 0 评论 -
Etcd可视化管理工具
etcd是一个高可用、强一致性的服务发现存储仓库的,是k8s里的一个基础组件,现在随着k8s的不断的被企业所使用,etcd也越来越被看好作为服务发现的好的组件之一;今天这个文章看看一款用来对etcd进行管理的图形化管理工具 etcdv3-browser;租约管理租约是etcd里很有用的功能,通过租期来控制key的过期时间,和redis里的expiredtime一样的功能,在etcdv3-browser里可以查看和管理租期直接给key增加租期查询租期, 可以根据租期ID进行过滤查询。原创 2022-09-07 11:01:27 · 7194 阅读 · 5 评论 -
深入浅出GO GC垃圾回收
Go语言和其他多数高级编程语言如Java一样,编程语言提供了自动进行内存管理的机制,称之为Garbage Collection(GC);GC自动释放不再使用的对象所占有的内存,而不需要开发人员手动销毁去销毁此对象的内存空间;其中过程中完全有GC机制处理,而无需开发人员手工介入。原创 2022-09-06 13:33:53 · 554 阅读 · 0 评论 -
Fastnet,三步完成高性能的网络开发
在GO语言里,由于其天生的支持多并发,而且非常完善的实现了比线程更轻量级的协程的支持,使得GO一直在多并发的服务端组件的开发中占有较大的优势;特别是在云原生的大势来袭下;更多的搭建在云原生框架下的底层服务都是用了GO语言进行开发;服务端的底层开发就缺少不了网络通信的开发;今天咱们这个文章要给大家介绍的就是一款GO语言实现的,能非常方便就能实现高性能网络通信的开发包工具——Fastnet。原创 2022-09-05 11:07:44 · 900 阅读 · 0 评论 -
GO语言里的Log4j
Log4j是JAVA语言里提供日志处理的一个常见的包, 通过Log4j的API的调用,开发者可以很方便的在程序里实现日志的打印和记录的功能;同样的在GO语言的项目里,有时也需要一些处理日志输出和记录的功能要求;在GO语言里也内置了log包实现了简单的日志服务;来处理简单的日志处理,GO语言里也有logrus,zap这样功能较全面一些的日志处理库, 来处理复杂场景下的日志业务, log功能过于简单,logrus,zap使用起来又过于复杂;今天这个文章咱们介绍一个GO语言里用来处理日志的一个工具包log4go。原创 2022-09-03 11:32:36 · 672 阅读 · 0 评论 -
从IDEA开始,迈进GO语言之门
笔者在学习GO语言编程的时候,GO语言在国内还没有像JAVA/Php/Python那样普及,绕了不少的弯路,要开始入门学习一门编程语言,最好就先从选择一个好的编程语言的开发环境开始,有了这个开发环境,我们就是使用开发环境,来非常高效的去学习这门语言的语法;原创 2022-09-02 10:50:08 · 2634 阅读 · 0 评论 -
GO语言的错误处理
在GO语言里,没有类似Java那么强的面向对象的特性, 可以通过结构体实现Error方法,来自定义一个错误对象类型;例如。原创 2022-09-01 11:38:08 · 846 阅读 · 0 评论