SonarQube 私有项目徽章显示方案

SonarQube 私有项目徽章显示方案

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

阅读全文 »

java管道流 PipedInputStream & PipedOutputStream 的应用

前言 PipedInputStream 和 PipedOutputStream 设计用来解决跨线程的字节数据传输。它们总是成对出现的,而在使用上,也只能 工作在两个不同的线程上,在一个线程里使用管道输入和输出流可能会造成死锁。网上有很多介绍这两个存在于 io 包下的 api。却几乎 找不到一个写 PipedInputStream 的使用场景的,所以本文结合实际业务,来聊一聊 PipedInputStream 的应用。 原理简介 我们知道,输出流写数...

阅读全文 »

apollo 在 spring-boot 中的加载过程解析

apollo 在 spring-boot 中的加载过程解析

前言 apollo 是一个开源的配置中心项目,功能很强大,apollo 本身的配置项并不复杂,但是因为配置的路径特别多,非常容易搞混了, 所以本文试图聚焦 spring-boot 的场景,在 spring-boot 微服务场景下,搞清楚 apollo-client 的加载过程 集成使用 1、添加 gradle 依赖 implementation \"com.ctrip.framework.apollo:apollo-client:1.6.0\" 2、配置 application.properties apollo 自身的配置共包含 9 项,必要配置只有 3 项,其...

阅读全文 »

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 使用场景 汉字转拼音,常用于索引引擎场景创建拼音的索引,这个场景的问题一般由两...

阅读全文 »

2020 KL的年终总结

时光飞逝,年初从家里出门的情形恍若昨日。2020是不平凡的一年,疫情从年初笼罩到年尾,上海的冬天也是打破了历史同期最冷的记录。眼看春节将至,是时候回顾总结下2020了。 回顾年初立下的flag 19年的规划里,2020需要完成三件事儿: 1、平滑升级自维护dubbo版本和官方最新版本同步 2、区块链落地,实现业务轻松上链 3、中台探索建设 第一件事儿,平滑升级dubbo版本这件事,实施...

阅读全文 »