自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vnjohn 博主 > 主线分享后端领域业务设计知识、源码思想、架构设计

昨日-珍重,今日-坚持,明日-努力,学习至上,最稳定的投资

  • 博客(104)
  • 收藏
  • 关注

原创 优快云 四周年创作纪念日(PS:vnjohn)

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任后端开发,优快云 优质创作者📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代🌲文章所在专栏:职业成长🤔 我当前正在学习微服务领域、云原生领域、消息中间件等架构、原理知识💬 向我询问任何您想要的东西,ID:vnjohn😄 代词: vnjohn⚡ 有趣的事实:音乐、跑步、电影、游戏。

2024-08-10 22:41:16 761 2

原创 RocketMQ NettyRemotingServer、NettyRemotingClient 实例化、初始化、启动源码解析

该篇文章主要介绍在 RocketMQ remoting 底层通信模块中的 NettyRemotingServer、NettyRemotingClient 实例化、初始化、启动时源码的分析,在 BrokerController 实例化会优先构建好 Netty 客户端实例,在其初始化阶段会构建好 Netty 服务端实例,而在生产者、消费者侧,是在实例化 MQClientInstance 实例时会将 Netty 客户端实例也构建好,同时在 Broker、生产者、消费者启动时,会将对应的 Netty 服务端、客户端

2024-07-08 00:29:27 997 2

原创 RocketMQ 通信机制底层数据结构及源码解析

该篇文章主要介绍在 RocketMQ remoting 底层通信模块中的数据结构以及相关的一些源码的分析,对其客户端、服务端之间相互调用的协议、编解码进行了阐述,也说明了一下在 RocketMQ 中对于 TCP 流传输时会产生的粘包、拆包问题进行了描述以及 Netty 相关的解决 Case,最后对于 NettyRemotingServer Reactor 多线程模型设计进行了源码追踪以及模型图优化,希望对您有帮助,能够喜欢

2024-07-01 00:05:03 1005 2

原创 RocketMQ DefaultMQProducer#send 方法源码解析:生产者投递消息(二)

该篇博文主要分析几种不同方式的投递消息方式采用的核心方法,SYNC 采用的是 MQClientAPIImpl#sendMessageSync 方法处理、ASYNC 采用的是 MQClientAPIImpl#sendMessageAsync、ONEWAY 采用的是 NettyRemotingClient#invokeOneway 方法处理,而 ONEWAY、ASYNC 采用了信号量的方式去获取令牌凭证去向 Broker 发起请求,同时,由于是异步必须是要有回调存在的,所以会有一个异步调度线程去阻塞等待消息的投

2024-01-25 22:48:11 1506 12

原创 RocketMQ DefaultMQProducer#send 方法源码解析:生产者投递消息(一)

该篇博文主要先简单分析几种不同方式的投递消息方式:SYNC、ASYNC、ONEWAY,以及支持通过指定的 MessageQueue、MessageQueueSelector 方式来对消息进行投递,同步模式投递情况下是通过 DefaultMQProducerImpl#sendDefaultImpl 方法进行重试的,而在异步模式是通过 MQClientAPIImpl#onExceptionImpl 方法重试的,这在后面一篇文章展开介绍,在消息发送之前,会对消息进行压缩,确保客户端与服务端之间交互的数据包大小是最

2024-01-18 16:46:27 1394 16

原创 迟到的总结:回望 2023 年,期盼 2024 新机会、新挑战

将在 2023 完善好的 Kafka 源码、Seata 源码、Sentinel 源码笔记内容,回顾好笔记📒上的知识内容,以博文的方式将其整理输出,风正济时,自当扬帆破浪;任重道远,还需策马扬鞭,对一切事物保持不卑不亢的态度

2024-01-07 21:44:40 4648 119

原创 RocketMQ 投递消息方式以及消息体结构分析:Message、MessageQueueSelector

该篇博文主要介绍 Message 结构体有哪些以及它里面属性的作用,同步与异步发送之间的区别参数:SendCallback 回调接口,指定 Queue 投递消息:MessageQueue,生产者侧确保消息能够有序地投递:MessageQueueSelector,以及在 RocketMQ 如何保证全局有序、局部有序:生产者确保单 Queue 全局有序、生产者确保多 Queue 局部有序

2024-01-07 03:00:10 2708 52

原创 RocketMQ MQClientInstance、生产者实例启动源码分析

该篇博文主要介绍 MQClientInstance 客户端实例以及 TopicRouteData 主题元数据信息,结合 Dashboard 看会更加的清晰,后续介绍了生产者实例启动的一个过程,其中介绍了几个核心的地方:NettyRemotingClient Netty 客户端、MQClientInstance#startScheduledTask 涉及到的定时调度任务、PullMessageService 推送模式作用的类、RebalanceService 重平衡服务

2024-01-06 01:14:58 1818 60

原创 RocketMQ 生产者源码分析:DefaultMQProducer、DefaultMQProducerImpl

该篇博文主要介绍生产者侧相关的类:MQProducer 能力定义者、DefaultMQProducer 能力抽象者、DefaultMQProducerImpl 能力实现者、ClientConfig RocketMQ 客户端公共的配置类,主要围绕它们内部的参数配置以及属性先初步开展介绍了一下,后续主要在启动 Producer 以及通过 Producer 发送消息时,在生产者这一侧处理的工作

2024-01-02 06:49:51 2636 73

原创 深入理解网络 I/O:mmap、sendfile、Direct I/O

该篇博文围绕 mmap、sendfile、Direct I/O 进行了技术点的展开讲解,mmap 由 FileChannel#map 映射出一个 MappedByteBuffer(应用空间与内核空间共享一块内存区域,不会触发系统调用)它适用于文件操作 I/O;sendfile 通过一次系统调用以后,它会在内核态完成数据的拷贝过程,无须用户态的参与,它适用于网络传输;Direct I/O 是由用户空间直接与磁盘设备之间交互,无须内核态的参与,它交由用户程序自身来维护缓存以及数据一致性、Dirty 等问题

2023-12-22 01:20:19 4254 110

原创 深入理解网络 I/O:FileOutputStream、BufferFileOutputStream、ByteBuffer

该篇博文主要介绍了 FileOutputStream、BufferFileOutputStream、ByteBuffer 类的特征,简要介绍了如何使用它们进行文件与内存之间的操作,FileOutStream 每次写都会触发系统调用,BufferFileOutStream 以一个批次的方式触发系统调用,而 ByteBuffer 下有很多种实现,HeapByteBuffer 是属于 JVM 堆内的一块内存区域,DirectByteBuffer 是属于 Java 进程堆内也就是 JVM 堆外的一块内存区域

2023-12-21 00:40:43 1627 22

原创 深入理解网络 I/O:单 Group 混杂模式|多 Group 主从模式

该篇博文主要介绍多路复用模型 Epoll 下「单 Group 混杂模式与多 Group 主从模式」之间的区别,先是说明了在单 Group 混杂模式中由于 Event 未划分清晰造成资源倾斜问题,后者介绍了多 Group 主从模式,解决资源倾斜存在的问题,结合 BossGroup + WorkerGroup + 链接阻塞队列的方式来完成,Netty Reactor 它的工作架构图类比于此模式,只是它在此基础上做了很多的优化工作,也就是为什么大多数中间价会使用 Netty 原因,最重要的就是为了充分发挥我们硬件

2023-12-16 21:51:07 3458 122

原创 深入理解网络 I/O:单 Selector 多线程|单线程模型

该篇博文主要介绍多路复用模型 Epoll 下单 Selector 多线程与单线程之间的区别,先是说明了在单 Selector 非线性模型下-多线程会造成读、写事件重复触发的问题, 通过图解和 strace 追踪日志的方式说明了它的缺点,解决事件重复触发问题通过 SelectionKey#cannel 来进行解决,莫须有这种方式不可取会造成假死线程|资源停滞不释放问题,后者介绍了单个 Selector 单 Group 解决这种假死资源的存在问题,结合 Selector#wakeup + 链接阻塞队列的方式来完

2023-12-16 02:12:26 2539 36

原创 深入理解网络 I/O 多路复用:Epoll

该篇博文主要介绍的就是比较重要比较核心的多路复用模型 Epoll,先简略说明 Epoll 重要的三大函数:epoll_create、epoll_ctl、epoll_wait,在其中说到了 Epoll 事件接口:边沿触发(ET:edge-triggered)、水平触发(LT:level-triggered),提及到了 Epoll 内核中关键的源码部分,使用三大函数巧妙结合起来实现 epoll 高效的多路复用,在底层采用红黑树结构存储所有的 socket fd 信息,采用链表结构存储所有有事件状态的 socke

2023-12-13 11:05:29 4480 96

原创 深入理解网络中断:原理与应用

该篇博文作为引入 Epoll 多路复用函数前的钩子,先简略得了解中断机制是怎样的「内核主动变为硬件主动」在其中说到了中断的种类:中断、异常,两者的本质都是让 CPU 收到一个中断号,再到中断描述符表找出具体的执行处理的程序入口即可响应事件要处理的事情,再者就是,给 CPU 一个中断号有三种方式:1、通过中断控制器给 CPU INTR 引脚发送信号,也就是硬件中断的方式,2、CPU 执行某条指令时发生了异常,自身会触发一个中断号,3、执行 INT n 指令,会直接给 CPU 一个中断号 n,这就是在软件中断场

2023-12-11 06:56:21 5361 96

原创 深入理解网络 I/O 多路复用:SELECT、POLL

该篇博文主要介绍的是 I/O 模型中的多路复用:SELECT、POLL,简要分析了 I/O 多路复用的模型,通过图解分析的方式告知多路复用所带来的好处「介绍了 SELECT、POLL 函数以及它们的区别」,通过实践代码的方式来分析 I/O 多路复用在系统调用中所涉及到的内核流程代码,同时也当代码编写不当时会给 TCP 挥手带来的问题,最后介绍了上篇 NIO 博文与 I/O 多路复用之间的区别,希望能够得到你的支持

2023-12-08 01:57:57 5294 68

原创 深入理解网络非阻塞 I/O:NIO

该篇博文主要介绍的是 I/O 模型中的非阻塞 I/O -> NIO,简要分析了 NIO 非阻塞式 I/O 简要的模型,通过图解分析的方式告知它与 BIO 之间的区别,通过实践代码的方式来分析非阻塞 I/O 在系统调用中所涉及到的流程,同时也介绍了 C10K 问题给非阻塞式 I/O 带来的不利之处,最后介绍了上篇 BIO 博文与 NIO 之间的相关的区别以及 NIO 为什么速度会慢的原因,希望能够得到你的支持

2023-12-03 15:05:47 9963 132

原创 深入理解网络阻塞 I/O:BIO

该篇博文主要介绍的是 I/O 模型中的阻塞 I/O -> BIO,简要分析了 BIO 流程图及相关系统函数调用,通过实践代码的方式来分析阻塞 I/O 在系统调用中所涉及到的流程,最后,介绍了相关联的系统函数:strace、socket、bind、listen、accept,希望能够得到你的支持,感谢三连

2023-11-30 01:13:16 8271 104

原创 RocketMQ 分布式事务消息实战指南:确保数据一致性的关键设计

该篇博文主要是通过实际的业务代码来进行 RocketMQ 事务消息实战,上一篇博文从 RocketMQ 事务消息的整体设计以及相关的源码的讲解,这篇通过订单生成、库存预扣减的简单例子来对事务消息的这块流程进行细粒化的业务设计,事务消息生产者的本地事务消息与补偿事务消息结合起来保证订单创建成功以后,库存才进行预扣减,希望这篇简单的 RocketMQ 事务消息实战博文能够帮助到您理解事务消息的实际应用

2023-11-16 17:46:08 6552 99

原创 保护数据完整性:探索 RocketMQ 分布式事务消息的力量

该篇博文主要分析了 RocketMQ 事务消息流程中的事务 Half 消息发送以及本地事务消息的补偿流程,重点的是结合 GitHub 部分对 RocketMQ 这块的设计部分进行整体了阐述,博主通过时序图+源码具体实现的部分对其进行了更深层次的描述,RocketMQ 源码部分在接收到事务消息时的处理过程以及在对事务消息这一块的补偿处理部分,希望能够加深你对事务消息这块的理解

2023-11-16 14:42:43 6189 73

原创 超越终端:Java语言在命令行环境中的无限潜力

该篇博文作为一个简单的实践操作,通过 Java 代码操作 Linux 命令行,首先是要依赖一个对应的依赖,然后建立与 Linux 客户端的会话连接,通过该会话来执行命令—查询目录文件,运用的场景:通过 PC 后台管理安卓、IOS 打包好文件,统一规范版本管理,希望这篇博文能够让你借鉴起来运用到其他的场景中

2023-11-01 12:15:34 5442 30

原创 用户优先:确保微信小程序手机号授权在新旧版本中无缝衔接

该篇博文介绍了微信从 8.28 起进行了微信获取手机号的变更,介绍了在微信官方的组件 API 调用示例以及在后台的付费管理收费方式概述,最重要是在源码章节中,采用了 Github 微信组件库的封装代码进行微信授权、新版|旧版微信手机号获取 API 调用,对微信接口返回的一些核心参数进行了详细的阐述以及在业务系统中需要注意的地方,避免在工作中偷一时的懒而影响后续的系统整改(使用微信 sessionKey 作为小程序用户缓存唯一标识)

2023-10-30 22:56:07 6439 80

原创 Nginx 实战指南:暴露出请求的真实 IP

该篇博文主要介绍的是如何在服务端中获取用户请求的真实 IP 地址,通过几种用途/场景介绍其所在的必要性:获取经纬度、支付接口、白名单配置,当然,为了让你能够快速的运用起来,提供了请求工具类的源码以及告知你如何在 Nginx 进行代理配置,希望这篇短文能够帮助到您,解决您实际工作中的一些问题,期待三连支持🌹

2023-10-30 15:13:18 8530 54

原创 引领位置服务驱动:腾讯地图 WebService 服务端 API 实用指南

该篇博文简单了介绍地理位置解析在我们实际开发中的应用,在配置管理中告知了如何一步步进行注册以及配置相关的产品信息,在地理位置解析中将博主自身运用地理位置服务时,所实现的部分相关源码告知大家如何运用封装及抽象的特性将你的代码构建的更好更优,最后,通过实际工作中经常会运用到四种接口来作了一层层的剥离及代码实战,希望能够得到你的支持+喜欢,再次感谢您能支持此文章!

2023-10-24 23:47:56 9986 81

原创 华为云云耀云服务器L实例评测开展一站式服务部署

该篇通过华为云云耀服务器 L 实例结合宝塔面板,将整个服务部署流程跑通,安装基础环境 Java 搭建,核心软件:MySQL、Redis、Nginx 部署的搭建以及配置,相信这个会对大部分的后端程序猿提供很大的帮助,一般在工作中很难接触到这部分的工作,个人作为课外学习以及自身的总结,借助这个机会来完成整体一站式服务部署的教程,希望能够帮助到大家!!

2023-10-05 21:25:31 5238 51

原创 Redis GEO 类型与 API 结合,地理位置优化的绝佳实践

该篇博文,主要先是进行「地理位置」生产性能问题的全流程演化,从 MySQL -> +索引 -> 不 + 索引,使用了案例 SQL 进行执行计划的分析,从而得出了 MySQL 在特殊场景下不适用于做地理位置的筛选工作「因为它本身基于磁盘的,在大数据量情况下,不能肆意打压瓶颈」;随即采用了 Redis GEO 类型来优化了地理位置的筛选工作,结合 RedisTemplate、Redisson 客户端 API 实战函数进行讲解,从零到一教你如何运用程序结合 Redis GEO 数据类型完成地理位置的优化工程

2023-09-22 09:46:33 5896 61

原创 标记垃圾,有三种色彩:四千长文带你深入了解三色标记算法

该篇博文主要介绍了 CMS、G1 在「并发标记」阶段共同使用到的一种算法:三色标记算法,简要说明了它的多标问题,重点介绍了在使用其算法时会发生的漏标问题,有两种方式可以用来解决这种问题:增量更新、原始快照,CMS 使用的是前者,G1 使用的后者,最后对这两种不同解决方案方式作了一下对比,希望此博文你能够喜欢!

2023-08-13 16:24:21 5627 76

原创 从零开始:手把手搭建 RocketMQ 单节点、集群节点实例

该篇博文初介绍了 RocketMQ 「一个开源的、高吞吐量、低延迟的消息队列系统」它的一些基础的概念信息「消息模型、消息生产者、消息消费者、主题、代理服务器、名字服务器、消费模式:拉取、推送、消息、标签等」简要概述了 Kafka vs RocketMQ 之间的区别以及它们之间的巧妙结合,最后,作为开篇,环境是演示所有操作的前提,故总结了搭建 RocketMQ 单节点、集群节点的详细步骤,在 Linux 环境上可以直接服用此过程

2023-08-05 19:04:36 5895 99

原创 优快云 一周年创作纪念日(PS:vnjohn)

🔭 嗨,您好 👋 我是 vnjohn,在互联网企业担任 Java 开发,优快云 优质创作者📖 推荐专栏:Spring、MySQL、Nacos、Java,后续其他专栏会持续优化更新迭代🌲文章所在专栏:职业成长🤔 我当前正在学习微服务领域、云原生领域、消息中间件等架构、原理知识💬 向我询问任何您想要的东西,ID:vnjohn😄 代词: vnjohn⚡ 有趣的事实:音乐、跑步、电影、游戏。

2023-07-31 22:33:31 4551 39

原创 优化内存利用:深入了解垃圾回收算法与回收器

该篇博文是从周志明教授编写的《深入理解 Java 虚拟机》巨著里面的内容结合自身的一些理解,整理出来的一些内容,垃圾收集算法是内存回收的方法论:分代收集理论(弱分代学说、强分代学说、跨代引用学说)标记-清除算法、标记-复制算法、标记-整理算法这三种算法之间的优劣势;垃圾收集器就是内存回收的实践者,从 Serial 系列收集器到 Parallel 系列收集器,为 CMS 老年代收集器搭配而生的 ParNew 新生代收集器,最重要莫过于 CMS、G1 这两种并发收集器了,里程碑式意义的存在

2023-07-05 01:36:41 4318 57

原创 引用计数 vs 根可达算法:深入比较对象存活判定

该篇博文讲解判定对象是否存活的条件通过什么方式去做的,引用计数器算法、根可达算法,在引用计数器算法中,通过简单的案例来演示在 Java 程序中并未通过该算法来判定对象是否存活,而是通过根可达算法去作判别的,罗列了 Java GC Roots 不同的种类,简要阐述了为下文作铺垫的垃圾回收算法、垃圾收集器,希望能先带你一起了解这方面的前置知识!

2023-06-29 16:32:20 4164 46

原创 深入理解 Java 引用类型:强壮、柔软、脆弱、虚无的力量

该篇博文介绍了经典四大引用门将:强软弱虚,以及如何在对象被 GC 回收前重新完成一次自我救赎代码演示,强引用:当引用无关联其他引用时,根不可达时,该引用会被回收;软引用:内存不足时触发 GC 才会回收,适合于作缓存;弱引用:无论内存是否足够,只要触发 GC 都会被回收,ThreadLocal、WeakHashMap 经典案例;虚引用:在内存不足产生 GC 时,会将虚引用进行回收,回收的结果会放入到 ReferenceQueue 引用队列中,希望这块的知识能够对你有许些帮助,感谢支持三连!

2023-06-29 00:06:50 4232 47

原创 创造与布局:剖析 Java 对象创建过程以及内存布局

该篇博文讲解了创建对象过程的几个核心步骤,剖析了对象内部是如何布局 > 普通对象、数组对象,通过了一个简单的案例来如何统计一个 Object 所占的字节大小,对象头组成部分:Mark Word、Class Pointer,介绍了对象定位的两种方式:句柄池、直接指针,最后,简要说明了对象如何分配的过程;希望你能喜欢,帮助到你是莫过于最开心的事了!

2023-06-27 12:06:34 3480 40

原创 从类加载到双亲委派:深入解析类加载机制与 ClassLoader

该篇博文介绍了类加载时 Class 文件的简要结构及如何通过自带的一些工具、插件观察编译生成的字节码信息,核心在于详细说明了 Class 加载的过程:Loading、Linking、Initializing 阶段,在 Loading 阶段时介绍了很多有意思、有深意的知识点,如加载类时的双亲委派机制、探知 Tomcat 如何打破双亲委派机制的伪代码、如何自定义类加载器以简单|加密的方式去实现加载我们特殊的类,还有意思的分析了 Launcher 核心类中三大类加载器所加载的 jar 包、目录等文件

2023-06-25 00:53:12 3770 42

原创 Redis 实战:逐步指南,让你轻松在 Linux 上安装与部署

该篇博文是 Redis 专栏的开篇,不作过多的实践以及应用场景的描述,主要是介绍了 Redis 前生今世,为什么要出现 Redis?Redis6 比 Redis5 扩充了多线程模型好处在哪里,在生产环境中我们如何自己去安装 Redis5、Redis6;最后,简单介绍了一些连接 Redis 客户端时使用的命令以及在操作 Redis 客户端命令时如何使用帮助文档让我们快速掌握 Redis 命令操作!

2023-06-24 02:01:19 4190 36

原创 深入源码解析 ReentrantLock、AQS:掌握 Java 并发编程关键技术

该篇博文介绍了 JUC 组件下 ReentrantLock 核心概念、使用、源码以及 AQS 基础组件的核心方法,阐述了 AQS 内部实现、数据结构以及节点变更过程,在后面,看 ReentrantLock 是如何基于 AQS 核心方法去完成其内部锁竞争工作的、锁释放后如何其他释放其他节点线程,全文上下以画图+文字加以说明,不限于时序图、结构图、流程图,最后说明了在 ReentrantLock 公平锁、非公平锁之间的区别,希望能够帮助你快速理解 AQS 内部如何巧妙处理高并发场景问题的

2023-06-21 11:37:16 3883 56

原创 解析 HashMap 源码:深入探究核心方法的实现与原理

该篇博文,主要分析 HashMap 类所使用的数据结构,基于数组、链表、红黑树,说到了 initial capacity、load factor 等核心属性,重点分析了该类的一些核心方法:tableSizeFor-阈值如何计算、putVal-插入元素如何懒加载扩容以及数组转换为链表,链表又是如何转换为红黑树结构的、resize-在底层是如何基于 2 次幂实现数组扩容的以及链表结构的形成、红黑树的转换操作,最后,简要分析了获取元素、删除元素、遍历元素时移除元素的 fast-fail 快速失败机制

2023-06-15 19:29:28 2393 25

原创 解析 MySQL 锁机制:共享锁、排它锁、间隙锁、意向锁等,保障数据安全与高并发的秘密武器

该篇博文讲解了 MySQL 中各种会发生的锁,包括显式、隐式的锁,共享锁、排它锁、意向锁、自增锁、间隙锁,说明了解决并发事务的问题的两种方案,以及通过间隙锁如何解决可重复读隔离级别下出现幻读的问题,阐述了 InnoDB 存储引擎行锁模式及加锁方法,最后,通过实际的小案例演示了死锁的发生以及如何通过 MySQL 自带的命令查看死锁解决的一个过程。

2023-06-14 13:29:59 4728 4

原创 MySQL 日志体系解析:保障数据一致性与恢复的三位英雄:Redo Log、Undo Log、Bin Log

该篇博文从浅入深的讲解了 MySQL 中三大日志 > Redo Log、Undo Log、Bin Log 三大日志体系,Redo Log、Undo Log 是 InnoDB 存储引擎内的日志,Bin Log 是 MySQL Server 层面的日志,接着仔细说明了它们各自的作用,包括了写入的执行过程、写入的方式,实战方面,演示了如何使用 Bin Log 恢复误删的数据,最后,分析了为什么要采用两阶段提交方式来完成 Redo Log、Bin Log 记录以及数据更新!

2023-06-13 23:54:33 3381 5

原创 探索 Java ServiceLoader、Dubbo ExtensionLoader:构建灵活可扩展的应用程序的利器

该篇博文介绍 Java SPI 服务提供接口,是如何基于 ServiceLoader 核心类实现的,以经典的 SQL 驱动扩展类作为案例,揭开底层源码的加载逻辑,从这方面我们可以来做一些自己的扩展工作;同时,还仔细阐述了在 Dubbo 是如何基于原有的 SPI,作一些自己的扩展和优化的,它还支持我们自定义扩展实现其他的加载策略,只要你需要!以过滤器链为序幕,揭开 Dubbo 底层是如何基于 ExtensionLoader 作扩展实现的;最后,以 Dubbo Rpc 服务之间传递 Token 的实战案例

2023-06-13 03:49:27 2338 2

Spring RestTemplate Http 工具类,支持 HTTP、HTTPS

工作中常用的远程调用请求工具类,支持请求方法:GET、POST、PUT、DELETE,支持媒体格式:text/plain、text/xml、application/json、application/x-www-form-urlencoded,支持请求协议:HTTP、HTTPS,该工具类直接可直接拿过去用,无须任何的调整

2023-10-30

一份简约高级的Java后端程序猿简历

简历不在于多么好看,只要够简洁、内容丰富,简历上有亮点的部分足以了

2023-02-27

基于 VirtualBox 虚拟机管理器安装 Docker 容器及相关镜像

该资源在 Windows 环境下基于 VirtualBox 软件来管理虚拟机,如何基于 Vagrant 快速创建多台虚拟机节点,以及在安装过程中一些错误信息的解决方案,安装完虚拟机以后,在上面部署了 Docker 容器,在容器中安装 MySQL、Redis、Nginx 等常用镜像,以及阿里云镜像加速配置

2023-02-27

微服务基于 Alibaba 整理出来的组件笔记

这是以前在学习谷粒商城项目自己一手整理出来的笔记,记录了微服务组件构建时会出现的问题以及对组件的应用输出了使用文档,输出的内容包含了 Nacos、OSS、Feign、Gateway。项目介绍:谷粒商城是一个类似京东的自营商城平台,由业务集群系统+后台管理系统构成,谷粒商城打通了分布式开发的全栈技能,包含前后分离全栈开发、Restful 接口、数据校验、网关、注册发现、配置中心、熔断、限流、降级、链路追踪、性能监控、压力测试、系统预警、集群部署、持续集成、持续部署

2023-02-27

CentOS-7-aarch64 镜像

用于在虚拟机上搭载节点的所需要的 CentOS 镜像

2023-02-19

EasyExcel百万数据量导入/导出源码

博主编写的博客,EasyExcel 百万级别数据高效率导入/导出,介于实际业务上应用到的案例,编写一个简单的 demo 进行呈现

2023-02-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除