java,架构相关技术专家
ChannelPipeline的职责与工作原理。 ChannelHandler的作用。 常用ChannelHandler的源码解读。
Channel的主要方法介绍。 Channel的继承结构,以及核心类核心代码分析。 Unsafe的继承结构,以及核心类核心代码分析。
NIO ByteBuffer的概述。 Netty ByteBuf的详细讲述,包括读、写、扩容、mark、reset、duplicate等操作。 核心类的源码分析。 堆内存缓冲区、直接内存缓冲区。 实际上7种基本类型boolean除外都有自己的缓冲区实现不过因为功能、方法、原理基本一致所以仅讨论ByteBuffer。
本文主要介绍Netty的使用,以及程序执行的流程。
介绍AIO使用,以及AIO使用的执行过程
介绍同步、异步、阻塞、非阻塞的区别。 介绍五中IO模型。 介绍IO多路复用使用的Ractor设计模式;介绍异步IO的Proactor设计模式,以及Proactor的流程。 IO模型的对比。
根据dubbo的源代码,讲述跨服务器场景下,多线程如何通信
本文是dubbo源码解读,从源码层面了解一个完整的RPC的过程。
本文主要讲述netty使用的简单示例,以及流转的时序
本文主要讲述通过zookeeper实现分布式锁、分布式队列、leader选举的实现,以及详细代码
一、 说明 关于IO模型,请参考《IO模型》 说明:文中Java IO或传统IO简称IO。 二、 NIO简介 NIO主要有三大核心部分:Channel(通道),Buffer(缓冲区), Selector。
本文比较声明式事务与事务模板的优缺点。
RocketMQ集群结构 基于RocketMQ的一致性方案 大事务=多个[小事务+DB] 事务
本文不算是原创,而是RocketMQ原理的学习文档。 本文类容基本上和RocketMQ design类似,并无过多的改动。主要内容包括: RocketMQ概述,主要是概念上的一些内容 RocketMQ的特点以及消息发送、消费模型 RocketMQ原理:mmap+write,文件系统,数据存储...
- - kafka RocketMQ RabbitMQ 数据来源 相关文章 定位 设计定位 系统间的数据流管道,实时数据处理。 例如:常规的消息系统、网站活性跟踪,监控数据,日志收集、处理等 非日志的可靠消息传输。
任务扫描的架构设计 一、 闲言 做业务系统的时候,遇到过太多次从db中扫描任务处理的需求,数据量,从每天几百上千条到上百万条不等,所以这次聊聊在不同场景中,应该如何设计次系统才能尽可能的降低开发工作量,提升系统稳定性、实时性,同时能够在中长期支持起业务的发展。
一、 闲言 每个系统都有服务的上线,所以当流量超过服务极限能力时,系统可能会出现卡死、崩溃的情况,所以就有了降级和限流。限流其实就是:当高并发或者瞬时高并发时,为了保证系统的稳定性、可用性,系统以牺牲部分请求为代价或者延迟处理请求为代价,保证系统整体服务可用。
一、 闲言 使用spring已经多年,却从来没有仔细研究过spring bean的初始化过程以及原理。知其然而不知其所以然,当面遇到比较深度的问题的时候,就无法解决或者需要花费大量问题方可解决。