Kubernetes Nginx Ingress Controller从0.x到1.x升级指南

最近把一套K8S集群的Nginx Ingress Controller从v0.33升级到了v1.0.5,属于主版本升级,在这里整理一下升级的过程和遇到的问题。 这套k8s集群的信息如下: k8s版本为v1.21.5 使用Ingress将集群外部http流量接入到……

阅读全文

Go源码学习: 切片slice的内部数据结构

Go语言中的切片slice的底层数据结构是数组,这是即使是Go的初学者都了解的。 前面我们学习了string类型在运行时由reflect.StringHeader表示,StringHeader可以理解为string在运行时的"描述符……

阅读全文

Go源码学习: string的内部数据结构

前面在学习Go程序进程的内存布局时,分析了一个Go程序在Linux下ELF文件格式经过简化后大致如下图所示: Go二进制文件ELF主要有这几个section组成: .text, .rodata, .data, .noptrdata, .bss, .noptrbss。 .rodata中存放的是常量数据,程序中的字面量在……

阅读全文

基于repmgr实现PostgreSQL的主备高可用

前面已经在两台CentOS 7服务器上从源码编译安装了PostgreSQL,当前这两台服务器的PostgreSQL数据库是相互独立,它们之间没有任何关系。 本文将介绍基于repmgr的postgresql主备高可用方案,使用repmgr将这两个……

阅读全文

从源码编译安装PostgreSQL 13.x

PostgreSQL是一个开源的对象-关系数据库系统,经过十多年的开发和改进,PostgreSQL已在可靠性、稳定性上已经十分强大,并且被应用的十分广泛。 很多云原生方向的产品例如开源镜像仓库Harbor、API网关Kong都使用了Postg……

阅读全文

Apache Pulsar学习笔记13: 授权和权限管理

上一节学习了如何为Pulsar开启基于JWT的身份认证。 Pulsar使用身份认证提供者(Authentication Provider)识别客户端,但如果只启用身份认证,那么只要客户端通过认证就可以访问集群中的所有资源,因此在启用身份认证的基……

阅读全文

Apache Pulsar学习笔记12: 开启基于JWT的身份认证

Pulsar支持可插拔的身份认证和授权机制,Pulsar Proxy或者Pulsar Broker都支持该机制。认证和授权机制一起保证了客户端对Pulsar Topic、命名空间、租户的访问权限。 默认情况下,Pulsar并不会启用加密、身份认证和……

阅读全文

Apache Pulsar学习笔记11: 使用分区Topic

分区Topic的概念 前面在学习Topic的时候,已经了解了分区Topic的基本概念。在Pulsar中一个Topic只能由一个Broker提供服务,而单个Topic的吞吐量受限于为其提供服务的Broker的计算能力,这限制了Topic的最大吞……

阅读全文