基于golang rocksdb实现的高性能队列

Golang 108 views
前言:        高性能队列?  golang channel 可以理解为一个高性能的队列。但他毕竟是基于内存的,如果因各种情况堆积任务,可能会被oom,怎么办?  除去业务上的优化,看看是否有别的选择?  什么redis ?  redis3.x...
阅读全文 0

基于golang rocksdb实现的高性能队列

12-08 108 views

前言:        高性能队列?  golang channel 可以理解为一个高性能的队列。但他毕竟是基于内存的,如果因各种情况堆积任务...
阅读全文 0

Golang使用redis protocol实现pubsub通信

Golang,redis 783 views
前言:        闲来无事,加工作不饱和,饱思淫欲的状态下,用golang实现了一个基于redis通信协议的pubsub通信服务端.  这个轮子实现的还很粗暴,内部实现主要用的是golang channel ,不仅可以高效的控制并发读写,而且可以跟tcp连接关...
阅读全文 0

Golang使用redis protocol实现pubsub通信

11-15 783 views

前言:        闲来无事,加工作不饱和,饱思淫欲的状态下,用golang实现了一个基于redis通信协议的pubsub通信服务端.  这个轮...
阅读全文 0

golang基于redis lua封装的优先级去重队列

Golang,redis 667 views
前言:      前两天由于某几个厂商的api出问题,导致后台任务大量堆积,又因为我这边任务流系统会重试超时任务,所以导致队列中有大量的重复任务。这时候我们要临时解决两个事情,一件事情,让一些高质量的任务优先执行; 另一件事情, 要有去重。 ...
阅读全文 0

golang基于redis lua封装的优先级去重队列

10-22 667 views

前言:      前两天由于某几个厂商的api出问题,导致后台任务大量堆积,又因为我这边任务流系统会重试超时任务,所以导致队列中有大量的...
阅读全文 0

Golang基于redis实现的分布式信号量(semaphore)

Golang,redis 723 views
前言:     Semaphore是信号量,作用? 我想大家都知道。semaphore跟mutex的区别我想大家也知道了,我这里就不老生常谈,重复讲解了,有兴趣的朋友可以自行google相关的同步锁文章。 该文章后续会有更新, 原文地址, http://xiaorui.cc/?p=482...
阅读全文 0

Golang基于redis实现的分布式信号量(semaphore)

10-17 723 views

前言:     Semaphore是信号量,作用? 我想大家都知道。semaphore跟mutex的区别我想大家也知道了,我这里就不老生常谈,重复讲解了,有兴趣的...
阅读全文 0

golang双端链表list remove nil问题

Golang 688 views
我这个场景是做优先级的任务派发的,因为有几十个厂商,每个厂商还有不同的业务,每个业务也有10个优先级,这样算来整个任务缓冲池里最少又要几百个队列。 这里没用channel,因为channel通道太多,没法很好的做输出。  优先级肯定是有调度器主动去pop数据,这...
阅读全文 0

golang双端链表list remove nil问题

09-27 688 views

我这个场景是做优先级的任务派发的,因为有几十个厂商,每个厂商还有不同的业务,每个业务也有10个优先级,这样算来整个任务缓冲池里最少又要几百个队列。 ...
阅读全文 0

golang redigo lua解决性能问题

Golang,redis 1,280 views
前言:     我们知道使用redis计数可以使用incrby, hincrby 等计数指令,因为redis的工作线程只有一个,所以保证了并发原子的控制。  由于我们的业务的特殊性,有增有减,有各类状态值的判断,尤其在异常情况下,计数会减到0以下,负数是不能忍的...
阅读全文 0

golang redigo lua解决性能问题

08-16 1,280 views

前言:     我们知道使用redis计数可以使用incrby, hincrby 等计数指令,因为redis的工作线程只有一个,所以保证了并发原子的控制。  由...
阅读全文 0

探讨可持久化高并发队列的实现

Golang,架构设计 1,288 views
探讨可持久化高并发队列的实现 … …  为什么会有这样的想法 ? 主流的持久化方案分两类: 实时持久化… 异步持久化…  Redis 的队列持久化是怎么实现的? Gola...
阅读全文 0

探讨可持久化高并发队列的实现

07-14 1,288 views

探讨可持久化高并发队列的实现 … …  为什么会有这样的想法 ? 主流的持久化方案分两类: 实时持久化… ...
阅读全文 0

golang实现封装trycatch异常处理

Golang 1,070 views
社区不少人在谈论 golang 为毛不用trycatch模式,而采用苛刻的recovery、panic、defer组合….    从老外那整了一个trycatch包,感觉不错,拿出来分享下…  Python package main import ( "...
阅读全文 0

golang实现封装trycatch异常处理

07-06 1,070 views

社区不少人在谈论 golang 为毛不用trycatch模式,而采用苛刻的recovery、panic、defer组合….    从老外那整了一个trycatch包,感觉不错,...
阅读全文 0

技术分享 《分布式一致性raft算法实现原理》

Golang,技术分享 5,863 views
       这段时间跟同事聊了不少分布式系统中的常用算法协议,中间有聊到分布式一致性的话题,当然我们对一致性理解都是那种介绍的层次。  哈哈 , 后来用了心思去学习分布式一致性协议 raft,  现在有些心得,就拿出来给同事分享下。...
阅读全文 7

技术分享 《分布式一致性raft算法实现原理》

07-08 5,863 views

       这段时间跟同事聊了不少分布式系统中的常用算法协议,中间有聊到分布式一致性的话题,当然我们对一致性理解都是那种介绍的层次...
阅读全文 7

Golang使用zlib压缩和解压缩字符串

Golang 5,585 views
在python的时候就习惯使用zlib进行网页压缩。 golang下同样使用zlib进行压缩解压缩。  zlib官方给出的方法很简单,这里权当一个补充.  文章时常有修改,更新.  标注下golang zlib原文地址, http://xiaorui.cc/?p=3084 zlib.NewWriter()...
阅读全文 0

Golang使用zlib压缩和解压缩字符串

03-30 5,585 views

在python的时候就习惯使用zlib进行网页压缩。 golang下同样使用zlib进行压缩解压缩。  zlib官方给出的方法很简单,这里权当一个补充.  文章...
阅读全文 0

golang随机time.sleep的Duration问题

Golang 8,556 views
碰到一个Golang time.Sleep()的问题,这golang的time.sleep的功能貌似要比python ruby都要精细些,python的等待只是time.sleep()而已,而golang可以time.Sleep(10 * time.Second) 毫秒、秒分时等不同日期来搞… 大事不干,净整些没用的…   ...
阅读全文 0

golang随机time.sleep的Duration问题

03-23 8,556 views

碰到一个Golang time.Sleep()的问题,这golang的time.sleep的功能貌似要比python ruby都要精细些,python的等待只是time.sleep()而已,而golang可以time.Sl...
阅读全文 0

Golang使用redigo实现redis的分布式锁

Golang 7,029 views
有些分布式场景会有分布式锁的需求,可以为了原子操作,也可能为了性能的原因,不管是分布式锁市面是有不少解决方法的,比如etcd、consul、zookeeper… 初次之外redis这样的nosql也是可以实现分布式锁的。  python党喜欢用redis、etcd、consul来搞。 &nb...
阅读全文 0

Golang使用redigo实现redis的分布式锁

7,029 views

有些分布式场景会有分布式锁的需求,可以为了原子操作,也可能为了性能的原因,不管是分布式锁市面是有不少解决方法的,比如etcd、consul、zookeeper…...
阅读全文 0

golang使用yaml格式解析构建配置文件

Golang 8,353 views
还是那个golang监控agent那些事情,现在功能差不多了,唯独缺少信号处理及daemon服务化。 程序写的差不多了,但是这配置文件咋整? 难道把这些常亮要写在.go文件里面? 我对golang还没能理解到无缝reload的模式…  如果是写在配置文件就很简单了...
阅读全文 0

golang使用yaml格式解析构建配置文件

03-20 8,353 views

还是那个golang监控agent那些事情,现在功能差不多了,唯独缺少信号处理及daemon服务化。 程序写的差不多了,但是这配置文件咋整? 难道把这些常亮要写在.g...
阅读全文 0

Golang使用pprof监控性能及GC调优

Golang 10,382 views
这两天用golang在写一个监控的agent,发现长时间运行后会有内存泄露的情况,着实让人郁闷半天… 要解决golang泄露的问题,要理解goalng gc那是事情,再就是利用pprof监视golang的运行环境。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,...
阅读全文 3

Golang使用pprof监控性能及GC调优

10,382 views

这两天用golang在写一个监控的agent,发现长时间运行后会有内存泄露的情况,着实让人郁闷半天… 要解决golang泄露的问题,要理解goalng gc那是事情,...
阅读全文 3

Golang利用select实现goroutine的超时控制

Golang 6,815 views
简单的说下select是干什么的? select用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的处理机制。当你发起一些阻塞的请求后,你可以使用select机制轮训扫描fd,直到被监视的文件句柄有某一个或多个发生了状态改变。  该文章写的有...
阅读全文 1

Golang利用select实现goroutine的超时控制

03-19 6,815 views

简单的说下select是干什么的? select用来让我们的程序监视多个文件句柄(file descriptor)的状态变化的处理机制。当你发起一些阻塞的请求后,你可以使...
阅读全文 1

关于golang regexp正则的使用方法

Golang 5,927 views
今天正好看到golang的正则模式,就针对常用的几个正则模式写个分享。 正则的基础我就不多说了,用法和原理都那么一回事。 Regexp也是兼容贪婪、非贪婪模式的匹配。  该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新 http:...
阅读全文 0

关于golang regexp正则的使用方法

03-16 5,927 views

今天正好看到golang的正则模式,就针对常用的几个正则模式写个分享。 正则的基础我就不多说了,用法和原理都那么一回事。 Regexp也是兼容贪婪、非贪婪模式...
阅读全文 0

使用golang log库包实现日志文件输出

Golang 9,617 views
这次聊聊golang日志模块的详细用法。golang的日志输出一般用的是标准库log库包。 话说Golang的log实现的功能跟别语言的日志没啥区别。 该文章写的有些乱,欢迎来喷 ! 另外文章后续不断更新中,请到原文地址查看更新。 http://xiaorui.cc/?p=2972 ...
阅读全文 0

使用golang log库包实现日志文件输出

03-15 9,617 views

这次聊聊golang日志模块的详细用法。golang的日志输出一般用的是标准库log库包。 话说Golang的log实现的功能跟别语言的日志没啥区别。 该文章写的有些...
阅读全文 0

使用golang errors包自定义错误异常

Golang 5,929 views
发现Golang很多开源的package都是使用Error来定义错误异常,其实我自己更加的习惯利用返回的值进行判断。 虽然这么说,但Golang的error定义还是有意思的,合理就返回nil,不合理就返回Error的草错误。   该文章写的有些乱,欢迎来喷 ! 另外文章后续不...
阅读全文 0

使用golang errors包自定义错误异常

5,929 views

发现Golang很多开源的package都是使用Error来定义错误异常,其实我自己更加的习惯利用返回的值进行判断。 虽然这么说,但Golang的error定义还是有意思的,...
阅读全文 0

浅谈golang reflect反射调用函数

Golang 6,372 views
Golang也是有反射概念的,其实大多数语言,尤其那种动态语言都有反射的概念和用法。 在python里getattr,globals()可以通过反射自省的模式来还原对象半身的属性和方法。 废话一句,反射是干嘛的?  通过反射我们可以还原一个对像的属性,方法。 通俗的讲,在分布...
阅读全文 0

浅谈golang reflect反射调用函数

03-14 6,372 views

Golang也是有反射概念的,其实大多数语言,尤其那种动态语言都有反射的概念和用法。 在python里getattr,globals()可以通过反射自省的模式来还原对象半身的属...
阅读全文 0

关于golang package自定义包结构

Golang 6,698 views
我想说的是,好家伙Golang的项目构建稍有些繁琐呀,用户体验来说没有python、java那么简单方便。 在Google搜索golang package自定义包方面的资料,发现搜索的结果不是很令人满意。不是说的很浅,就是说的很深,都伸到编译器层面了,蒙圈… 该文章写的有...
阅读全文 0

关于golang package自定义包结构

03-13 6,698 views

我想说的是,好家伙Golang的项目构建稍有些繁琐呀,用户体验来说没有python、java那么简单方便。 在Google搜索golang package自定义包方面的资料,发现搜索的...
阅读全文 0

golang set集合实现去重及交叉并集计算

Golang 7,602 views
     还是需要吐槽下golang默认的标准库不是很全面,虽然可以通过map来实现简易的set集合,但这毕竟费工夫呀。不知道golang啥时候才能有个较完美的库包服务,类似python的pypi,node.js的npm… 该文章写的有些乱,欢迎来喷 ! 另外文章...
阅读全文 0

golang set集合实现去重及交叉并集计算

03-11 7,602 views

     还是需要吐槽下golang默认的标准库不是很全面,虽然可以通过map来实现简易的set集合,但这毕竟费工夫呀。不知道golang啥时候才能有个...
阅读全文 0