江哥架构师笔记

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

按时间排序目录 第2页

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

前言 在分布式系统中,缓存和数据库同时存在时,如果有写操作,先操作数据库还是先操作缓存呢?本文将分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 * * *...

k8s学习:根据 PID 获取容器所在的 Pod 名称

– 在管理 Kubernetes 集群的过程中,我们经常会遇到这样一种情况:在某台节点上发现某个进程资源占用量很高,却又不知道是哪个容器里的进程。有没有办法可以根据 PID 快速找到 Pod 名称呢? 假设现在有一个 java ...

算法学习:bfs+dfs

– 概念 深度优先搜索算法(Depth-First-Search),是搜索算法的一种。它沿着树的深度遍历树的节点,尽可能深的搜索树的分 支。堆栈实现,递归实现 广度优先搜索算法(Breadth-First-Search),是一种...

算法学习:快排

目录 快速排序的介绍 快速排序的Python实现 快速排序的介绍 快速排序(quick sort)的采用了分治的策略。 分治策略指的是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原...

mysql学习:锁

– 共享锁与排它锁 共享锁【S锁】 又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做...