使用gin这个web框架开发http服务,少不了使用中间件。

在调用gin.Default()方法的时候就会自动使用LoggerRecovery()两个中间件。

仔细查看两个中间件的实现,你会发现,两个中间件都有c.Next()这个方法的调用。

很多人把Next放在中间的最后一行,然后发现加不加next似乎并没有什么区别。所以,它到底是怎么用的?

继续阅读

理解单例:

在程序运行的周期内,只初始化一次,称为单例

在go中,我们可以使用两种方法来实现单例。

  1. init 方法
  2. sync.Once

init非常地简单,在程序运行的时候,提前把我们需要的资源初始化好,就可以实现一个简单单例了。

但是在程序的其他地方,如何控制只实现一次?

这里就需要使用到sync.Once.

继续阅读

  • 设置一下每一台的主机名
    hostnamectl set-hostname k8s-master
    hostnamectl set-hostname k8s-node1
    hostnamectl set-hostname k8s-node2
    hostnamectl set-hostname k8s-node3
    hostnamectl set-hostname k8s-node4
    hostnamectl set-hostname k8s-node5

继续阅读