本文由 简悦 SimpRead 转码, 原文地址 https://blog.cyeam.com/go/2019/03/12/go-version

用上 go mod 之后,依赖包都是通过版本打 tag 的形式确定版本号。比如 github.com/mnhkahn/gogogo v1.0.9。每次都改动都是在累加低位的版本号,一直这么用也挺安逸的。突然有一天,我的一个底层包需要大改,导致和之前的版本彻底不兼容,这种情况下如何设置版本号,如何能让调用方成功接入?

Continue reading

本文由 简悦 SimpRead 转码, 原文地址 https://hitzhangjie.github.io/jekyll/update/2018/05/19/golang-select-case%E5%AE%9E%E7%8E%B0%E6%9C%BA%E5%88%B6.html

在介绍 select-case 实现机制之前,最好先了解下 chan 操作规则,明白 goroutine 何时阻塞,又在什么时机被唤醒,这对后续理解 select-case 实现有帮助。所以接下来先介绍 chan 操作规则,然后再介绍 select-case 的实现。

Continue reading

了解Raft共识算法

这篇文章总结了迭戈·奥加罗(Diego Ongaro)和约翰·奥斯特豪特(John Ousterhout)在论文《寻找可理解的共识算法》中提出的Raft共识算法。所有拉引语均来自该论文。

在正常操作中,只有一个领导者,其他所有服务器都是跟随者。

追随者是被动的:他们自己不发出请求,而只是响应领导者和候选人的请求。

领导者处理所有客户请求(如果客户联系关注者,则关注者将其重定向到领导者)。

第三种状态,候选人,用于选举新领导人。

Continue reading

这篇文章在medium上很火,作者以实际案例来分析,讲得很好。

我们经常听说使用Go的goroutine和channel很容易实现高并发,那是不是全部代码都放在goroutine中运行就可以实现高并发程序了呢?很显然并不是。

这篇文章将教大家如何一步一步写出一个简单的, 高并发的Go程序。

Continue reading

在企业信息系统的建设过程中,认证是我们必须面临的问题,从用户的登录,PC端,移动端,智能设备的访问,到关键业务的强身份认证,多因子确认,从实现业务操作安全,到实现转账,系统间的通信,与外部系统的集成等等都少不聊认证的参与,而当今云计算容器化的崛起,认证方式也从最初的cookie,session等手段发展到了现在的多端登录,多因子强认证,多端扫码,api令牌,用户目录等多种方式,并且针对用户的认证方式和手段的创新从未停止过,也会一直不断发展.

本文将与大家一起从认证的角度看看系统建设中的那些事.

Continue reading

Author's picture

苏连云

酒剑仙,醉仙酒

小农民

chengdu