idea使用远程调试

uedbet西甲赫塔菲官网

有时候我们需要进行远程的debug,本文研究如何使用IDEA远程debug的过程。

Springboot的AOP是如何使用动态代理

uedbet西甲赫塔菲官网

  Spring的AOP实现原理其实很简单,就是通过动态代理实现的。如果我们为Spring的某个bean配置了切面,那么Spring在创建这个bean的时候,实际上创建的是这个bean的一个代理对象,我们后续对bean中方法的调用,实际上调用的是代理类重写的代理方法。而Spring的AOP使用了两种动态代理,分别是JDK的动态代理,以及CGLib的动态代理。

Flink的故障恢复机制

uedbet西甲赫塔菲官网

  Apache Flink 是一个针对无界和有界数据流进行有状态计算的框架。由于许多流应用程序旨在以最短的停机时间连续运行,因此流处理器必须提供出色的故障恢复能力,以及在应用程序运行期间进行监控和维护的工具。Apache Flink 非常注重流数据处理的可运维性。下面将详细介绍 Flink 的故障恢复机制,并介绍其管理和监控应用的功能。

大数据引擎flink

uedbet西甲赫塔菲官网

Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。此外,Flink的运行时本身也支持迭代算法的执行。

自定义springboot的starter

uedbet西甲赫塔菲官网

因为工作需要,编写了一个三方库,该库用于获取相关的配置信息,对于公司已有的springboot项目而已,封装一个自定义的springboot的starter,为其他项目方便引入和使用带来一定的便利,所以记录下如何自定义一个starter。

springboot整合grpc-protobuf

uedbet西甲赫塔菲官网

  是谷歌开源的一个高性能的、通用的RPC框架。和其他RPC一样,客户端应用程序可以直接调用远程服务的方法,就好像调用本地方法一样。它隐藏了底层的实现细节,包括序列化(XML、JSON、二进制)、数据传输(TCP、HTTP、UDP)、反序列化等,开发人员只需要关自业务本身,而不需要关注RPC的技术细节。

  与其他RPC框架一样,gRPC也遵循定义服务(类似于定义接口的思想)。gRPC客户端通过定义方法名、方法参数和返回类型来声明一个可以被远程调用的接口方法。由服务端实现客户端定义的接口方法,并运行一个gRPC服务来处理gPRC 客户端调用。注意,gRPC客户端和服务端共用一个接口方法。

spring OrderComparator的使用

uedbet西甲赫塔菲官网

研究下spring如何保证后置处理器的执行顺序,使用到了OrderComparator相关的内容。

正文

JDK自带的比较器

Comparable

Comparable 是在集合内部定义的方法实现的排序。通过实现Comparable接口,然后具体实现compareTo方法的内容,给出比较的业务逻辑:

Spring中PropertiesSource和PropertiesSourceResolver的使用

uedbet西甲赫塔菲官网

  Spring中通过不同渠道获取到配置信息,最后封装在Environment对象中,在这个对象里,实际保存中各种类型的PropertiesSourceuedbet官网西甲赫,如系统环境信息,系统属性信息等。在spring对象uedbet官网西甲赫化的过程中,通过PropertiesSourceResolver解析器进行属性字段的解析和赋值,让配置信息运用到对象uedbet官网西甲赫中。

git初始化提交代码
1、创建一个仓库
2、本地新建一个目录 作为本地仓库 请确保是空目录
3、通过git bash 进入此目录执行如下命令 创建本地仓库

git init

4、将工程目录下所有文件添加到缓存目录(Index)

git add .

5、提交合入信息

git commit -m “提交信息”

6、将本地仓库连接到远端仓库

git remote add origin https://xxx.com/zzz.git

7、推送至远端仓库

git push origin master

spring-retry的原理和用法

uedbet西甲赫塔菲官网

  在日常开发中,我们很多时候都需要调用二方或者三方服务和接口,外部服务对于调用者来说一般都是不可靠的,尤其是在网络环境比较差的情况下,网络抖动很容易导致请求超时等异常情况,这时候就需要使用失败重试策略重新调用 API 接口来获取。这个时候我们就需要一个框架或者封装好的组件,来帮我们提供重试能力。