上篇文章《Nacos 配置中心原理分析》我和大家分析了 Nacos 的配置中心原理,主要分析了 Nacos 客户端是如何感知到服务端的配置变更的,但是只是从客户端的角度进行了...
定义: 重复利用前面已经存在的线程执行当前提交的任务,解决了线程周期开销和过多的资源消耗。 类图: 关键参数含义: corePoolSize:线程池核心线程数量,核心线程默认...
Redis为啥快: 纯内存操作: 数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1); 单线程操作: 避免了不必要的上下文切换和...
介绍: 跨境支付和国内支付,本质上差别是不大的,不同的地方主要体现在信息流、资金流的不同。比如使用微信购买一个国外网站的商品流程,其实客户需要操作的就是选中商品、然后微信支付...
Java对象如何与Monitor关联 如图所示,依次对图中进行解释。 我们知道JVM堆中存放的是对象实例。对象实例包括几个部分。分别是与对象实例无关的对象头,实例数据,填充数...
介绍: 对于netty这种高性能的网络通信框架来说,支持的连接数还是很可观的;当同时存在数百万连接的时候,对于这些连接进行一定监控,适当的去关闭一些超时的连接,还是可以节省很...
介绍: HashMap(非线程安全)也算是一个数据容器,用来存储数据的,只不过存储的是<key,value>对;底层数据结构是一个实现了Map.Entry<K,V>接口的No...
介绍: 责任链模式为请求创建一个接收者对象链,每个接收者都包含对另一个接收者的引用,如果一个对象不能处理该请求,那么它会把请求传给下一个接收者。 UML: 角色: Handl...
介绍: Buffer可以理解成一个容器,容器里面放指定的原始类型的数据,在java.nio包下面。是一个抽象类,有很多个子类实现,例如:ByteBuffer、CharBuff...
介绍: Tomcat中绑定、监听端口、注册到Poller、事件触发都在EndPoint组件里面处理。 结构图: 主要可以分析下NioEndpoint的代码,另外Nio2End...
背景: 用Jmeter做了一次简单的压测,通过JDK自带的Jconsole工具和对应的进程建立连接,可以通过很形象的观察到Tomcat内存大小、活动线程的个数、加载类的个数、...
Servlet接口 Servlet规范的核心接口即是Servlet接口,它是所有Servlet类必须实现的接口,在Java Servelt API中已经提供了两个抽象类方便开...
介绍: 在某些场景下,会莫名其妙的碰到一些陌生的请求访问我们的服务,对我们造成一定的困扰,我们需要想办法去定位这些请求的原始信息。 解决方案: 利用IpUtil工具类获取源I...
背景: 跨境支付行业下游需要对接很多个下发渠道,每个渠道的对接方式和接口、参数、逻辑都有所不同。各自需要一个独立的对接渠道的服务。 简单流程图: 知识点: WebClient...
介绍: Apache ShardingSphere 是一套开源的分布式数据库中间件解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款相互...
需求背景: 有的下游渠道不提供回执单,但是商户却又需要,就只能通过程序自动生成了;这些回执单的数据其实都是交易流程中的一些关键数据,交易流水、金额、币种等等。 解决方案: 新...
介绍: 同步IO、异步IO、阻塞IO、非阻塞IO的简单理解笔记。对于一个network IO (这里我们以read举例),它会涉及到两个系统对象,一个是调用这个IO的proc...
介绍: SkyWalking 创建于2015年,提供分布式追踪功能;他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容器技术。 功能: 分布式追踪和上下文传...
介绍: 在交易系统中,一个完整的业务流程,会涉及到各种状态的变化,有些状态还不是实时产生的;对接这个交易系统的商户们需要实时的知道每一笔交易的实时状态流转到哪里啦。这就需要做...