0%

为了开发公司的一些效率工具 UI,我选择了 Vuetify,它是一个基于 Vue 的 UI 框架,它提供了一个简单的组件库,可以让我们快速开发出一些简单并且好看的 material design 的 UI。

但是通过官方脚手架生成的项目,默认是通过引入外网 cdn 的方式导入图标以及字体文件,然而国内的网络访问这些资源比较慢,所以就想把这些资源放到本地,提高访问速度。

阅读全文 »

前言

最近在给公司新架构做技术选型,刚好 Java 17 也正式发布一段日子了,而且是LTS长期支持版本,就想着直接用起来吧,里面有些特性还是非常好用的,比如:

阅读全文 »

背景

由于公司内部所有服务都是跑在阿里云 k8s 上的,然后 dubbo 提供者默认向注册中心上报的 IP 都是Pod IP,这意味着在 k8s 集群外的网络环境是调用不了 dubbo 服务的,如果本地开发需要访问 k8s 内的 dubbo 提供者服务的话,需要手动把服务暴露到外网,我们的做法是针对每一个提供者服务暴露一个SLB IP+自定义端口,并且通过 dubbo 提供的DUBBO_IP_TO_REGISTRYDUBBO_PORT_TO_REGISTRY环境变量来把对应的SLB IP+自定义端口注册到注册中心里,这样就实现了本地网络和 k8s dubbo 服务的打通,但是这种方式管理起来非常麻烦,每个服务都得自定义一个端口,而且每个服务之间端口还不能冲突,当服务多起来之后非常难以管理。

于是我就在想能不能像nginx ingress一样实现一个七层代理+虚拟域名来复用一个端口,通过目标 dubbo 提供者的application.name来做对应的转发,这样的话所有的服务只需要注册同一个SLB IP+端口就可以了,大大的提升便利性,一方调研之后发现可行就开撸了!

项目已开源:https://github.com/monkeyWie/dubbo-ingress-controller

阅读全文 »

前言

最近由于某些需求,需要在linux环境下做 java 开发,刚好可以试试wsl2 gui,一通折腾下来总算符合自己的预期了,这里就记录下踩坑历程。

阅读全文 »

前言

最近公司项目要接入配置中心,后来调研下来决定使用apollo,但是在使用的时候发现有
个小细节特别难受,apollo不支持通过项目代码配置默认的environment,官网文档如下:

阅读全文 »

前言

最近碰到一个问题,我们的Spring Cloud Gateway网关有个接口一直报错,错误堆栈如下:

1
2
3
4
5
6
org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144
at org.springframework.core.io.buffer.LimitedDataBufferList.raiseLimitException(LimitedDataBufferList.java:98) ~[spring-core-5.2.12.RELEASE.jar!/:5.2.12.RELEASE]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
|_ checkpoint ⇢ Body from UNKNOWN [DefaultClientResponse]
|_ checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
阅读全文 »

前言

cgo 是个好东西,可以很方便的和 c、c++交互,这篇文章主要是记录下 cgo 声明回调函数入参,然后在 c 中进行实现并传递。

阅读全文 »

介绍

JSR-380是 J2EE 的一个规范,用于校验实体属性,它是JSR-303的升级版,在 Spring Boot 中可以基于它优雅实现参数校验。

阅读全文 »