Blog

Grafana Loki笔记03: 安全认证

2023-05-25
Loki

Loki没有包含任何内置的身份验证层。运维人员需要在您的服务前面运行一个认证反向代理,例如使用基本身份验证的NGINX或OAuth2代理。

请注意,在使用多租户模式的Loki时,Loki要求将HTTP头X-Scope-OrgID设置为标识租户的字符串;负责填充该值的责任应由认证反向代理处理。有关更多信息,请阅读有关多租户的文档

...

Grafana Loki笔记01: Loki基础知识

2023-05-23
Loki

Grafana Loki是一组组件,可以组成一个功能齐全的日志聚合系统。

Loki与其他日志系统不同是,它只会索引日志的元数据即labels(类似Prometheus的labels),日志数据本身会被压缩并分块(chunck)存储在对象存储中,也可以存储在本地文件系统中。小的索引和高度压缩的分块简化了操作,大大降低了Loki的成本。

...

使用kubeadm部署Kubernetes 1.26

2023-01-04
Kubernetes

kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。

...

使用kubeadm部署Kubernetes 1.24

2022-05-25
Kubernetes

kubeadm是Kubernetes官方提供的用于快速安部署Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。

...

Apache Pulsar学习笔记16: 租户、命名空间创建,用户角色Token和权限配置

2022-03-20
Pulsar

前面我们使用Helm在Kubernetes中部署了生产可用的Pulsar集群,并将集群接入到Prometheus监控系统。

作为Pulsar集群的管理员,将这套生产可用的Pulsar集群交付给开发使用时,还需要做好租户和命名空间划分和创建,用户角色和权限配置。 本节将根据实践介绍一下Pulsar集群管理员如何做这些工作的。

...

Go 1.18新特性学习笔记04: Go泛型的基本语法

2022-03-19
Go

今天继续学习Go 1.18引入的泛型,每天利用几分钟的时间来学习,慢慢积累。

前两天学习了在Go中如何定义泛型函数,并学习了Go泛型中的类型约束(Type Constrant)的概念,今天通过参考Go官方的泛型技术提案文档,简单整理一下Go泛型的基本语法。

Go的泛型指的是在Go的类型声明和函数声明中增加可选的类型参数。类型参数要受到类型约束,Go使用嵌入额外元素的接口类型来定义类型约束,类型约束定义了一组满足约束的类型集(Type Set)。

...

Go 1.18新特性学习笔记03: 将类型约束声明为接口

2022-03-18
Go

今天继续学习Go 1.18引入的泛型,我们将以Go官方的泛型教程为资料,每天利用几分钟的时间来学习,慢慢积累。

昨天我们定义了一个泛型函数,代码如下:

1// SumIntsOrFloats sums the values of map m. It supports both int64 and float64
2// as types for map values.
3func SumIntsOrFloats[K comparable, V int64 | float64](m map[K]V) V {
4	var s V
5	for _, v := range m {
6		s += v
7	}
8	return s
9}

在定义泛型函数时,需要为泛型参数指定 类型约束(type constraint) 来限制泛型参数类型的范围。 SumIntsOrFloats函数名称后边中括号的内容[K comparable, V int64 | float64]就是类型约束。

...

Go 1.18新特性学习笔记02: 定义泛型函数

2022-03-17
Go

今天开始,来学习Go 1.18引入的泛型,我们将以Go官方的泛型教程为资料,每天利用几分钟的时间来学习,慢慢积累。

很多编程语言都支持泛型的特性,泛型是对具体类型或属性的抽象替代,可以实现在编写代码和编译代码时无需知道其在运行时具体类型的特性。

根据Go官方的泛型教程,我们将先实现两个简单的未使用泛型的函数,随后将定义一个泛型函数实现相同的逻辑。

...

Go 1.18新特性学习笔记01: 安装

2022-03-16
Go

Go 1.18这个大型版本终于发布了,包括新功能、性能改进以及对语言的最大改变。 官方博客称Go 1.18的部分设计甚至开始于10年前首次发布Go的时候。具体来说,Go 1.18包含以下几大特性:

  • 泛型(Generics): Go 1.18开始引入了泛型的支持。现在我们可以从Go官方的泛型教程来学习这个新特性,另外在Go 1.18的发布说明中也有很多关于泛型的使用细节。
  • 模糊测试(Fuzzing): Go成为第一个将模糊测试完全集成到其标准工具链中的主要语言。可以从Go官方的Fuzzing教程中开始学习。
  • 工作空间(Workspaces): Go Module已经被广泛使用,目前Gopher在使用Go Module时最常见的挑战是如何应对在多个Module间工作。Go 1.18通过新的Go工作空间模式解决了这一问题。
  • 20%性能提升: AppleM1、ARM64和PowerPC64用户会很开心! 因为Go 1.17的寄存器ABI调用约定扩展到这些架构,Go 1.18提供了高达20%的性能改进。

安装Go 1.18 #

我在开发机上上的Go版本管理策略如下: 使用MacOS Homebrew安装的go作为主要版本, 因为Go的Homebrew Formula版本更新会延迟Go官方的发布。 所以为了体验Go新版本的特性或者同时在本地保留多个Go的版本,会使用Go Wrapper程序golang.org/dl下载对应版本的Go Wrapper,再使用Wrapper下载安装对应的Go。

...

© 2024 青蛙小白