
Go
文章平均质量分 79
zhangj1125
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Loki分布式存储及过期策略实现
在项目启动初期,考虑到 ELK 的资源消耗较重,我们选用了更为轻量的 Loki 作为分布式日志存储方案。Loki 支持使用 filesystem 本地文件系统进行存储,也可对接第三方对象存储服务,如亚马逊 S3、谷歌 GCS 以及阿里云 OSS 等。Loki Memberlist - Ring 采用类似 Gossip 协议的去中心化集群状态管理机制,用以替代 Consul 或 etcd 这类传统的 KV 存储,实现服务发现与组件状态同步。现在配置任意一个节点,另外一个节点都可以访问到数据。原创 2025-03-18 20:48:21 · 335 阅读 · 0 评论 -
Go语言sync包使用指南
本文围绕 Go 语言中 sync 包展开,对其各类同步原语的使用方法进行介绍。 sync.Mutex Mutex用于实现互斥锁,用于保护多个 goroutine 并发访问的共享资源。它可以防止数据竞争原创 2025-02-11 20:38:53 · 933 阅读 · 0 评论 -
Go语言扩展包x/sync使用指南
singleflight 是一个用于防止重复函数调用的机制,确保对于同一个键(key),在同一时间内只有一个函数执行,其他请求会等待该函数执行完成并共享结果。这可以大量减少对比如访问数据库操作次数,减轻数据库压力提高性能。原创 2025-02-14 21:00:48 · 887 阅读 · 0 评论 -
Kubernetes 使用自定义资源(CRD)扩展API
K8s CRD 即 Kubernetes CustomResourceDefinition,是 Kubernetes 提供的一种扩展机制,允许用户在 Kubernetes 集群中定义和使用自定义的资源类型。通过定义 CRD,用户可以在 Kubernetes 集群中创建、读取、更新和删除自定义资源对象,就像使用原生的 Pod、Service 等资源一样。本文主要介绍如何使用kubebuilder快速创建自定义资源类型。原创 2025-01-09 20:59:17 · 544 阅读 · 0 评论 -
K8S Ingress 服务配置步骤说明
K8s Ingress 服务配置步骤说明原创 2024-12-23 20:46:02 · 787 阅读 · 0 评论 -
基于 kubeadm 安装 Kubernetes 集群的完整步骤
执行完kubeadmin init后,配置kubectl执行环境,根据提示执行命令,将/etc/kubernetes/admin.conf复制到$HOME/.kube/config下。要使k8s 容器间能够相互通信,还需要安装网络插件,Flannel 是 Kubernetes(K8s)中常用的网络插件之一,主要用于提供容器间的网络连接。使用以下内容在指定的config_path路径下创建docker.io/hosts.toml文件,创建后的文件路径为。如果不存在,您可以在默认配置文件中添加以下配置。原创 2024-12-23 10:11:21 · 871 阅读 · 0 评论 -
Go基础知识:切片
切片类型是基于Go数组类型之上的抽象,提供了更强大的功能和便利性。原创 2024-10-12 20:47:38 · 1124 阅读 · 2 评论 -
go channel的使用
channel是goroutine之间通信的管道,可以将值从一个goroutine发送到channel,另一个goroutine从channel接收到这些值。原创 2024-09-29 20:56:50 · 823 阅读 · 0 评论 -
etcd入门指南:分布式事务、分布式锁及核心API详解
etcd client v3使用gRPC进行远程过程调用,定义了交互过程中protobuf数据结构。原创 2024-09-14 20:59:36 · 1550 阅读 · 0 评论 -
Go Context使用及源码解析
context包提供了一种在Go程序中不同组件之间传递请求范围的值、取消信号和截止时间的方式。context包的设计目的是为了解决在Go的并发模型中,尤其是在goroutines之间,如何安全、高效地传递控制信息的问题。当 Context 被取消时,从其派生的所有 Context 也将被取消。原创 2024-08-30 19:04:55 · 1253 阅读 · 0 评论