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

阅读全文 »

分布式链路追踪选型-skywalking

分布式链路追踪选型-skywalking

为什么需要分布式链路追踪? 服务从单体应用升级到微服务的时候,整个请求的链路会变多,当发生异常、或遇到接口性能瓶颈时。很难将具体的异常日志和具体的请求关联起来,也很难直接定位是哪个调用环节存在性能瓶颈。这个时候就需要一个分布式链路追踪系统来串联调用链,快速定位问题。 更多详情及应用场景,参见 Google 分布式链路追踪论文 : 《Dapper,大规模分布式系统...

阅读全文 »

kkFileView-v3.3.0 年终版本发布,文件在线预览方案

kkFileView 是以 spring boot 构建的文件在线预览的项目,是博主的心血之作。已评码云 GVP 项目。以最宽松的 Apache 协议开源。此次 v3.3.0 版本发布,是 2020 最后一个重大迭代版本发布,从 v2 到 v3 版本,是架构模式和代码精进的全面提升。Kkfileview从开源至今三年,力争做开源文件在线预览解决方案的标杆项目。感谢新老用户的支持,Kkfileview在gitee平台收获了7000+的star。从v3版本开始,告别20...

阅读全文 »

解决apollo的configService服务启动异常

解决apollo的configService服务启动异常

前言 apollo是一个非常流行的开源的配置中心项目,这里就不多介绍了。接触过apollo和运行过apollo的人肯定都遇到过启动configService时抛异常了,而且100%会抛一个异常。原因是,在apollo的架构中configService既作为config服务,同时也承载了metaService的功能,所以这个模块,既作为eureka的服务端也是eureka的客户端,这就造成了应用启动时,eurekaServer未完全启动,eurekaClient拉取注册表信息时就抛...

阅读全文 »