后端

Java-212 RabbitMQ 消息可靠性进阶:Publisher Confirms、mandatory Return、持久化与幂等落地

TL;DR 场景:支付/充值等需要最终一致性的链路,用 RabbitMQ 做异步解耦但必须可追责不丢单。 结论:Confirm 解决“Broker 收到”,mandatory+Return 解决“路由失败可见”,持久化+幂等兜底“宕机/重投/重复”。 产出:同步 Confirm、批量 Confir

Go语言K8S开发-01-链接k8s集群、node节点操作

1. 准备 1.1 需求 需要 go 1.19以上 1.2 获取配置文件 将k8s集群master的 ~/.kube/config文件拷贝到代码适合位置 本文将~/.kube/config文件内容拷贝至代码:conf/kube.conf文件中。 2. 几个包的说明 k8s.io/api/apps/v1 :对应K8S apiVersion: apps/v1接口操作的对象 如Deploy

这个Spring Security登录插件牛啊,验证码、小程序、OAuth2都能快速接入

上次我们把验证码登录、小程序登录优雅地集成到了Spring Security,很多同学大呼过瘾,相比较一些传统玩法高级了很多。胖哥就赶紧抓住机会举一反三,把几个非标准的OAuth2也接入了进来,主要是微信、企业微信,做到应接尽接。 只需要通过下面几行简单的代码就可以完成集成: @Bean DelegateClientRegistrationRepository delegateCl

Android 轻量级存储方案(SharedPreferences、MMKV、Jetpack DataStore)

1.SharePreferences SharedPreferences:一个轻量级的存储类,特别适合用于保存应用配置参数。(是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下) image.png SharedPreferences使用: 1.保存数据: 保存数据一般分为以下步骤: 使用Activit

JMM内存模型

什么是JMM内存模型 内存模型可以理解为在特定的操作协议下,对特定的内存或高速缓存进行读写访问的过程抽象描述,不同架构下的物理机拥有不一样的内存模型。 JMM(Java内存模型)源于CPU架构的内存模型(用于解决多处理器架构系统中的缓存一致性问题)。JVM为了屏蔽各个硬件平台和操作系统对内存访问机制的差异化,提出了JMM概念。因此它不是对物理内存的规范,而是在虚拟机基础上进行的规范从而实现平台一致

看完这篇异地多活的改造,我决定和架构师battle一下|得物技术

文|尹吉欢 得物技术 1. 简述 异地多活的概念以及为什么要做异地多活这里就不进行概述了。概念性的很多,像什么同城双活、两地三中心、三地五中心等等概念。如果有对这些容灾架构模式感兴趣的可以阅读下这篇文章进行了解:《浅谈业务级灾备的架构模式》。 阅读本篇文章之前,我们先明确一下背景,这样大家后续在看的时候就不会产生困惑。 1.1 机房划分 得物多活改造一期目前有两个机房,分别是机房A和机房B。文章中

二阶魔方复原玩法

等到可以录视频的时候,进行视频录制哈 二阶魔方的玩法分为三个步骤,分别是:1)还原底层角块;2)还原顶面颜色;3)调整顶层角块,每步结束后分别要达到下图中的各个状态。为了更好的说明,灰色部分代表了该步骤中不相关的颜色,只用看标彩色的方块就行了。 第一步:还原底层角块 这一步我们要将底层的4个角块都复原,非常简单,只需要记一个算法就好了,假设以白色为底,白色块只会有5个位置,这些位置要么是对称的,要

11. 类的关系——依赖关系

1、特点 指一个类A使用到了另一个类B 这种关系具有偶然性的,临时性,非常弱的,但类B的变化影响类A 表现:类B作为参数被类A在某个方法中使用(形参) 2、代码实现 2.1 形式参数 //依赖关系 //公交车类 public class Bus { private int num; private String name; public Bus() {

【存储中间件】Redis核心技术与实战(五):Redis缓存使用问题(BigKey、数据倾斜、Redis脑裂、多级缓存)、互联网大厂中的Redis

文章目录 Redis缓存使用问题 BigKey 什么是bigkey bigkey的危害 发现bigkey scan 解决bigkey 数据倾斜 Redis脑裂 哨兵主从集群脑裂 集群脑裂 多级缓存实例 互联网大厂中的Redis 整体方案 数据准确性 并发控制 基于updateTime的更新顺序控制