江哥架构师笔记

路漫漫其修远兮
吾将上下而求索

按时间排序目录 第2页

go学习:sync.Mutex 和 sync.RWMutex

介绍 golang 中的 sync 包实现了两种锁: Mutex:互斥锁 RWMutex:读写锁,RWMutex 基于 Mutex 实现 Mutex(互斥锁) Mutex 为互斥锁,Lock() 加锁,Unlock() 解锁 在一个 gor...

k8s学习:Kubelet 状态更新机制

当 Kubernetes 中 Node 节点出现状态异常的情况下,节点上的 Pod 会被重新调度到其他节点上去,但是有的时候我们会发现节点 Down 掉以后,Pod 并不会立即触发重新调度,这实际上就是和 Kubelet 的状态更新机制密切...

k8s学习:dumb-init的使用

一、前言 ● 容器中部署的时候往往都是直接运行二进制文件或命令,这样对于容器的作用更加直观,但是也会出现新的问题,比如子进程的资源回收、释放、托管等,处理不好,便会成为可怕的僵尸进程● 本文主要讨论一下docker容器中进程之间信号处理以及...

并发环境下,先操作数据库还是先操作缓存?

前言 在分布式系统中,缓存和数据库同时存在时,如果有写操作,先操作数据库还是先操作缓存呢?本文将分5种方案展开阐述对比,谢谢阅读~ github地址,衷心感谢每一颗star ❝ https://github.com/whx123/JavaH...

go学习:goroutine并发调度模型

– 并发,编程里面最核心的主题,一直以来都是被开发者谈及最多的话题;go语言是通过goroutine实现并发编程,goroutine具有消耗资源低、运行效率高等特点;官方宣称原生goroutine并发成千上万不成问题。那么,理解...

k8s学习:调度健康检查思路

– 需求来源 首先来看一下,整个需求的来源:当把应用迁移到 Kubernetes 之后,要如何去保障应用的健康与稳定呢?其实很简单,可以从两个方面来进行增强: 首先是提高应用的可观测性; 第二是提高应用的可恢复能力。 从可观测性...

go学习:分布式锁

– 分布式锁 在单机程序并发或并行修改全局变量时,需要对修改行为加锁以创造临界区。为什么需要加锁呢?我们看看在不加锁的情况下并发计数会发生什么情况: package main import (  &...

go学习:进度条实现

最近在做一个需求,功能很简单,就是开发一个轻量级客户端,将一个指定文件中的内容通过TCP发送到服务器。由于该文件特别大,有可能到达 100G 的数量级,因此处理起来会比较慢,为了给用户提供比较友好的展示界面,因此,在其中加入了进度条显示功能...

k8s学习:日志清理和归档

– 生产环境,并且在白名单中的项目,30天前的归档,其余清理 要注意find的时候要过滤当前目录  . , 不然会出问题 #!/bin/bash # 0 1 * * *...