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...

阅读全文 »

ratelimiter-spring-boot-starter 开箱即用的限流器

ratelimiter-spring-boot-starter 基于 redis 的偏业务应用的分布式限流组件,使得项目拥有分布式限流能力变得很简单。限流的场景有很多,常说的限流一般指网关限流,控制好洪峰流量,以免打垮后方应用。这里突出偏业务应用的分布式限流的原因,是因为区别于网关限流,业务侧限流可以轻松根据业务性质做到细粒度的流量控制。比如如下场景, 案例一: 有一个公开的 openApi 接口, openApi...

阅读全文 »

grpc-java k8s下的负载均衡

grpc-java k8s下的负载均衡

前言 grpc 因为是长连接的,所以负载均衡处理起来没有 rest 接口那么容易。常见的 grpc 负载均衡方法分为两类,一类是客户端侧实现负载逻辑,一类是代理侧实现负载逻辑,对客户端侧是透明的。在容器化的网络环境里, grpc-java 客户端侧的负载均衡有两种常见的实现路径。1、基于 dns 实现,2、基于外部的服务注册中心实现( ZooKeeper/Etcd/Consul/Eureka )。本文旨在,在容器化的网络环境下...

阅读全文 »

汉字转拼音项目pinyin-plus开源

pinyin-plus 汉字转拼音的库,有如下特点 拼音数据基于 cc-cedict 、 kaifangcidian 开源词库 基于拼音词库的数据初始化分词引擎进行分词,准确度高,解决多音字的问题 支持繁体字 支持自定义词库,词库格式同 cc-cedict 字典格式 api 简单,分为普通模式、索引模式 项目地址: https://github.com/TapTap/pinyin-plus 使用场景 汉字转拼音,常用于索引引擎场景创建拼音的索引,这个场景的问题一般由两...

阅读全文 »