为了开发公司的一些效率工具 UI,我选择了 Vuetify,它是一个基于 Vue 的 UI 框架,它提供了一个简单的组件库,可以让我们快速开发出一些简单并且好看的 material design 的 UI。
但是通过官方脚手架生成的项目,默认是通过引入外网 cdn 的方式导入图标以及字体文件,然而国内的网络访问这些资源比较慢,所以就想把这些资源放到本地,提高访问速度。
为了开发公司的一些效率工具 UI,我选择了 Vuetify,它是一个基于 Vue 的 UI 框架,它提供了一个简单的组件库,可以让我们快速开发出一些简单并且好看的 material design 的 UI。
但是通过官方脚手架生成的项目,默认是通过引入外网 cdn 的方式导入图标以及字体文件,然而国内的网络访问这些资源比较慢,所以就想把这些资源放到本地,提高访问速度。
由于公司内部所有服务都是跑在阿里云 k8s 上的,然后 dubbo 提供者默认向注册中心上报的 IP 都是Pod IP
,这意味着在 k8s 集群外的网络环境是调用不了 dubbo 服务的,如果本地开发需要访问 k8s 内的 dubbo 提供者服务的话,需要手动把服务暴露到外网,我们的做法是针对每一个提供者服务暴露一个SLB IP+自定义端口
,并且通过 dubbo 提供的DUBBO_IP_TO_REGISTRY
和DUBBO_PORT_TO_REGISTRY
环境变量来把对应的SLB IP+自定义端口
注册到注册中心里,这样就实现了本地网络和 k8s dubbo 服务的打通,但是这种方式管理起来非常麻烦,每个服务都得自定义一个端口,而且每个服务之间端口还不能冲突,当服务多起来之后非常难以管理。
于是我就在想能不能像nginx ingress
一样实现一个七层代理+虚拟域名
来复用一个端口,通过目标 dubbo 提供者的application.name
来做对应的转发,这样的话所有的服务只需要注册同一个SLB IP+端口
就可以了,大大的提升便利性,一方调研之后发现可行就开撸了!
项目使用的`springfox-swagger2@2.9.2`版本
在 Spring 中集成 swagger 文档功能,需要通过@ApiModel
注解修饰出入参的类,但是如果有两个不同包下的相同名称的类都使用了@ApiModel
注解时,会导致文档被覆盖,例如:
使用VitrualBox
安装 ubuntu20 之后,需要启用VitrualBox
增强功能,发现一直装不上,这里记录下解决方案:
最近碰到一个问题,我们的Spring Cloud Gateway
网关有个接口一直报错,错误堆栈如下:
1 | org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144 |