API网关的核心功能是统一流量入口,实现路由转发,SpringCloudGateway是API网关开发的技术之一,此外比较流行的还有Kong和ApiSix,这2个都是基于OpenResty技术栈。…
在做运维的时候遇到了这样一种场景,有多个站点,每个站点都有自己独立的数据库,但是每个站点之间又要共享用户数据。思来想去,决定使用中台,通过调用api接口来采集每个站点的数据;在中台中对数据处理之后,然后再同步到各个站点。大致流程如下: 中台调用Api接口采集各站点数据 1.每个站点都开放api数据采集接口供中台调用,以便进行数据的采集,代码实现略过。…
1 什么是Quartz Quartz是一个作业调度框架,它可以与J2EE和J2SE应用相结合,也可以单独使用。它能够创建多个甚至数万个jobs这样复杂的程序,jobs可以做成标准的java组件或EJBS。Quartz很容易上手,创建一个任务仅需实现Job接口,该接口只有一个方法void execute(JobExecutionContext…
GraalVM Native Images是一个利用AOT(Ahead-of-Time)技术把java程序直接编译成可执行程序的编译工具,编译出来的程序在运行时不再依赖JRE,同时启动速度快,资源消耗低,这对传统java程序来说都是极大的优势。同时云原生应用来说,GraalVM Native…
系统中经常需要调用第三方接口实现业务功能,为了方便调试和定位问题,我们通常需要将接口调用参数和返回结果打印到日志文件中。在Spring项目中一般会用RestTemplate来调用第三方接口。 通过在RestTemplate调用过程中统一打印日志,可以保持代码的整洁,也可以统一日志格式,比在业务逻辑中到处打印接口调用日志要方便的多。 具体的代码参照 示例项目…
在Java 21中,除了推出很多新特性之外,一些Bug修复,也需要注意一下。因为这些改变可能在升级的时候,造成影响。 # Double.toString() 和 Float.toString() 的精度问题修复 比如:对于 Double.String(1e23) : 在Java 19后,输出内容为: 1.0E23 在Java 18中,输出内容为:…
一、基本认识 1. borg系统 Borg系统是google公司研发的一套服务管理软件(战略武器),borg系统是kubernetes的前身,kubernetes也是google公司开发的,架构设计思想是参考borg系统来件架构设计的。 Google在十几年前已经开发应用:borg系统,容器化管理方式。 google的秘密武器 Borg.…
一、Pod核心原理 1. Pod是什么? Pod的特点:封装 docker 容器的容器 1、有自己的IP地址 2、有自己的hostname Pod实际上也相当于是一个独立的容器(虚拟机器),而这个pod容器内部封装的是由docker引擎所创建的容器,可以理解为pod就是一个 虚拟化 分组,pod内部可以存储一个或者多个容器。 2. Pod作用…
一、Pod网络 1. Pod结构 Pod的特点:容器 1、有自己的IP地址 2、有自己的hostname 3、有自己的端口 Pod实际上可以理解为就是k8s云平台中的虚拟机,而这个pod内部封装的是由 docker 引擎所创建的容器,也可以理解为pod就是一个虚拟化分组,pod内部可以存储一个或者多个容器。…
Spring中的BeanFactoryPostProcessor是在Spring容器实例化Bean之后,初始化之前执行的一个扩展机制。它允许开发者在Bean的实例化和初始化之前对BeanDefinition进行修改和处理,从而对Bean的创建过程进行干预和定制化。…