Redis 流量复制、流量回放、流量镜像

背景 对 Redis 场景降本增效,涉及到将部分 Redis 实例迁移到类似社区 pika 这种支持 Redis 协议的基于 SSD 磁盘存储的项目(阿里云 Tair),降低存储成本。迁移过程需要进行性能验证,除了基本的选型压测之外,还必须对每个业务场景做全指令的性能覆盖,才能确保业务迁移的性能以及指令兼容稳定性。常规的做法是需要业务开发配合在工程里进行流量双发,或者小范围流量灰度。 以上...

阅读全文 »

Redis 的数据清理策略详解

背景 摸清 Redis 的数据清理策略,给内存使用高的被动缓存场景,在遇到内存不足时 怎么做是最优解提供决策依据。 本文整理 Redis 的数据清理策略所有代码来自 Redis version : 5.x, 不同版本的 Redis 策略可能有调整 清理策略 Redis 的清理策略,总结概括为三点,被动清理、定时清理、驱逐清理 被动清理 访问 Key 时,每次都会检查该 Key 是否已过期,如果过期则删除该 Key ,get 、scan 等指...

阅读全文 »

Sentry Snuba Clickhoue 数据源分析

Clickhouse 库表介绍 Sentry 和数据分析相关的表,只有四张,如下: errors_local : 存储所有的 issue 数据 transactions_local :存储所有的 trace 、span 数据,以及自定义的 measurements sessions_raw_local :存储 session 的原始数据信息,崩溃率的原始数据 sessions_hourly_local :存储 session 的小时粒度的统计聚合信息 分析案例 需求1:以下 SQL 用于实时的分析【启动开屏广告 p95 耗时】 SELECT extract ( ` release ` , \'[...

阅读全文 »

SonarQube 的 IdentityProvider 账户互斥原因分析

SonarQube 的 IdentityProvider 账户互斥原因分析

前言 soanr 是一个代码质量管理系统,代码是开源的。在公司统一认证平台还没出来时,sonar 已接入 ldap 提供系统登录认证功能,现在使用 sonar-auth-oidc 插件以 OIDC 协议接入集中认证平台时,发现用户的账户是互斥的(如果现有用户之前采用 ldap 登录,使用 oidc 登录后会创建一个新的用户,没法关联之前的账户),即使用户的所有信息一致也是如此。本文旨在分析具体原因以及寻求一种...

阅读全文 »

xxl-job 登入功能集成 OIDC 统一认证

xxl-job 登入功能集成 OIDC 统一认证

前言 xxl-job 是一款 java 开发的、开源的分布式任务调度系统,自带了登录认证功能,不支持对接、扩展 LDAP 、OIDC 等标准认证系统,考虑到单独维护 xxl-job 自有的用户系统不方便,以及存在人员离职、调岗、权限变动等需要及时调整用户权限的情况,需要接入公司统一的 OIDC 认证系统 相关链接 xxl-job : https://github.com/xuxueli/xxl-job oidc : https://openid.net/connect/ xxl-job 自身认证功能分析 xxl-job ...

阅读全文 »

给 xxljob 加一个 k8s 执行器

给 xxljob 加一个 k8s 执行器

前言 xxljob 是采用 java 开发的开源的任务调度系统,架构上分为调度管理器、执行器,目前除了官方提供的 java 执行器外,也有 go 开发者提供了 go 语言的执行器(看了 go 执行器的代码,除了任务日志没有实现,其他功能实现都比较完整)。 xxljob 在设计上,抽象出了执行器的接口,所以实现一个语言的执行器并不复杂,这里主要探索下,如何利用 k8s 的 pod 的能力,使用 xxljob 调度 pod ...

阅读全文 »

SonarQube 私有项目徽章显示方案

SonarQube 私有项目徽章显示方案

背景 sonarQube 目前不支持私有项目的徽章图片获取,这个问题早在 2018 年就在 sonar 社区里有过激烈的讨论。后面 sonar 官方也关注到了这个需求的必要性,也着手排期在做了。但是从 2020年2月份创建好了项目计划后,到现在一年过去了,还没有任何的动静,所以不等官方的版本计划了,只能自己寻求一种可以快速实施的方案 社区讨论: https://community.sonarsource.com/t/badges-on-private-projects/4894...

阅读全文 »