最近把一套K8S集群的Nginx Ingress Controller从v0.33升级到了v1.0.5,属于主版本升级,在这里整理一下升级的过程和遇到的问题。 这套k8s集群的信息如下: k8s版本为v1.21.5 使用Ingress将集群外部http流量接入到……
阅读全文
Go语言中的切片slice的底层数据结构是数组,这是即使是Go的初学者都了解的。 前面我们学习了string类型在运行时由reflect.StringHeader表示,StringHeader可以理解为string在运行时的"描述符……
阅读全文
前面在学习Go程序进程的内存布局时,分析了一个Go程序在Linux下ELF文件格式经过简化后大致如下图所示: Go二进制文件ELF主要有这几个section组成: .text, .rodata, .data, .noptrdata, .bss, .noptrbss。 .rodata中存放的是常量数据,程序中的字面量在……
阅读全文
前面已经在两台CentOS 7服务器上从源码编译安装了PostgreSQL,当前这两台服务器的PostgreSQL数据库是相互独立,它们之间没有任何关系。 本文将介绍基于repmgr的postgresql主备高可用方案,使用repmgr将这两个……
阅读全文
PostgreSQL是一个开源的对象-关系数据库系统,经过十多年的开发和改进,PostgreSQL已在可靠性、稳定性上已经十分强大,并且被应用的十分广泛。 很多云原生方向的产品例如开源镜像仓库Harbor、API网关Kong都使用了Postg……
阅读全文
上一节学习了如何为Pulsar开启基于JWT的身份认证。 Pulsar使用身份认证提供者(Authentication Provider)识别客户端,但如果只启用身份认证,那么只要客户端通过认证就可以访问集群中的所有资源,因此在启用身份认证的基……
阅读全文
作为一个Gopher在刚开始学习channel的时候,一定见过以下关于关闭channel会发生什么情况的总结: 关闭一个值为nil的channel将会panic 关闭一个已经关闭的channel将会panic 向一个已经关闭的channel发送数……
阅读全文
Pulsar支持可插拔的身份认证和授权机制,Pulsar Proxy或者Pulsar Broker都支持该机制。认证和授权机制一起保证了客户端对Pulsar Topic、命名空间、租户的访问权限。 默认情况下,Pulsar并不会启用加密、身份认证和……
阅读全文
分区Topic的概念 前面在学习Topic的时候,已经了解了分区Topic的基本概念。在Pulsar中一个Topic只能由一个Broker提供服务,而单个Topic的吞吐量受限于为其提供服务的Broker的计算能力,这限制了Topic的最大吞……
阅读全文
本节将学习从channel中接收数据的内部实现。 在Go中从channel中接收数据有两种方式: 1v <- ch 2v, ok <- ch 使用v <- ch从channel中接收数据时,会调用runtime.chanrecv1,chanrecv1调用了runtime.chan……
阅读全文