首页
学习
活动
专区
工具
TVP
发布

瓜农老梁

专栏作者
188
文章
243186
阅读量
42
订阅数
FA8# 流量录制回放功能设计点归纳
测试用例不足或者遗漏难以覆盖所有场景,导致回归测试费时费力,线上稳定存在隐患,通过真实流量录制在回归测试时进行覆盖。
瓜农老梁
2022-01-24
8480
MQ46# 实战|RocketMQ分区阻塞应急处理
同事发现一个主题的某个分区卡主不再消费,如下图所示,通常这种情况是客户端消费线程阻塞造成的。而这次确不是,而且该现象还是头一次遇到,邪乎。
瓜农老梁
2021-11-25
1K0
Netty17# 实战|Young GC时间过长导致RPC超时
报错的集中在RPC设置超时时间比较短的上游服务,比如设置300ms,发布完就好了。
瓜农老梁
2021-08-06
9741
Netty12# 池化内存框架流程
本文简要梳理为什么使用池化内存?Netty使用池化内存从哪些方面提升了效率?梳理了池化内存的核心组件大体含义以及内存分配流程,勾勒池化内存的整体框架。后面文章会详细拆解每个点是如何实现的。
瓜农老梁
2021-03-16
7880
Netty11# 非池化内存分配
非池化内存的分配由UnpooledByteBufAllocator负责,本文梳理下由其负责分配的堆内存和堆外内存如何实现的 。
瓜农老梁
2021-03-16
6390
Netty14# 池化内存之线程缓存
在前面文章『Netty12# 池化内存框架流程』Netty会将不同的内存尺寸缓存起来,每个线程绑定了专属逻辑内存区域(PoolArena),减少资源竞争。每个线程绑定了缓存PoolThreadCache,内存分配时,先从当前线程绑定的PoolThreadCache缓存分配。
瓜农老梁
2021-03-16
5610
Netty15# 池化内存Normal类型内存分配
Netty所谓的池化就是先申请了一块大内存,后面需要分配的时候就来我这里分就完了。以堆外直接内存分配为例,Netty以Chunk为单位16M申请了一块连续内存,这么一大块内存是以平衡二叉树的形式组织起来的。分配的时候就从这颗树上找合适的节点。池化内存的分配是Netty的最为核心部分,这块的代码很多位运算,不太容易看懂,读的时候需要边调试边分析。
瓜农老梁
2021-03-16
6570
Netty10# 堆外内存底盘PlatformDependent
非池化/池化内存如何分配的?该撸这块了,奈何到处都在调用PlatformDependent类的方法,要不各种判断,要不分配堆外内存。反正到处都能看到它,得,索性先把这个撸一把。PlatformDependent又依赖了PlatformDependent0,那就一层一层剥好了。
瓜农老梁
2021-02-24
6490
Netty8# Netty之ByteBuf初探
字节的流动形成了流,Netty作为优秀的通信框架他的字节是如何流动的,本文就理一下这个事。梳理完Netty的字节流动与JDK提供的ByteBuffer一对比看下Netty方便在哪里。本分从官方文档概念原理入手梳理,然后看下源码解读下这些原理如何实现的,体验一把Netty写入数据自动扩容,探究下这个过程如何实现的。
瓜农老梁
2021-01-12
3390
Netty7# Netty之事件传递
前面的文章中写了Channel实例化、Channel初始化、Channel注册、异步通知机制、客户端发起连接、事件的轮询和处理机制。Netty作为client/server高效通信框架,事件在ChannelPipeline是如何传递的,本文就聊聊这事。
瓜农老梁
2020-12-29
6890
Netty之事件轮询与处理
在前面的文章第三篇《Netty组件之Channel注册》分析了channel是如何注册到Selector上的。第五篇《Netty之客户端连接调用》,分析了建立连接的过程。本文将梳理如下内容:
瓜农老梁
2020-12-29
6880
Sentinel集群流控参数说明
当流控规则FlowRule#clusterMode设置为true时,开启集群流控。集群流控ClusterFlowConfig属性如下。
瓜农老梁
2020-11-03
1.4K0
Sentinle集群流控【源码笔记】
本文从集群流控概览入手,按照概览的步骤逐步分析各个步骤的源码实现过程。由于集群流控中token server可以是独立部署也可以是使用内嵌模式(即集群应用中的其中一个作为token server)。本文主要以内嵌模式为主。
瓜农老梁
2020-10-26
1.2K0
Netty之客户端连接调用
本文主要梳理Netty客户端如何发起连接请求的以及最终通过SocketChannel与服务端建立连接,顺便分析了在此过程中涉及到的地址解析过程。
瓜农老梁
2020-08-11
1.7K0
Netty组件之Channel实例化
Channel建立连接通道,封装了I/O的基本操作。那Channel在Netty中的实例化流程是怎么样的呢?
瓜农老梁
2020-07-06
6260
Google Protocol Buffers三两事【知识笔记】
小结:根据上图测评,序列化后的空间开销与解析性能上,Avro与Protobuf不相上下独占鳌头;另外根据“Protobuf协议介绍及性能实测”文中测评来看,报文在几千个字节以内,Protobuf与JSON/XML并没有太大优势,而hessian2表现更优秀;当报文大小超过10万字节,Protobuf性能是XML的3倍,是JSON的2倍,Hessian2的2倍;当报文大小超过10万字节,序列化后的字节大小约XML的1/4,约JOSN的1/2,约Hessian2的1/3;高性能原因Protobuf优化的二进制消息格式,JSON/XML是文本描述的;适用于性能要求高的RPC调用。
瓜农老梁
2020-04-07
1K0
Java NIO选择器【源码笔记】
备注:I/O复用可以调用select/poll阻塞在这两个系统调用中的某一个上,而不是阻塞在真正的I/O系统调用上。图示中应用进程阻塞于select调用,等待数据报套接字变为可读,当select返回套接字可读这一条件时,调用recvfrom把所读数据复制到应用进程缓冲区。特点:select等待多个描述符就绪;即图示中第1步可以等待多个文件描述符。
瓜农老梁
2020-03-12
6500
Java NIO套接字【源码笔记】
本文以代码示例跟踪调用Native函数,看下原型函数的具体释义。例子中“客户端”从文件test02.tmp读取内容后,通过socket发送到“服务端”后写入test01.tmp文件中。
瓜农老梁
2020-02-26
8510
gRPC服务端启动流程走查
小结: @1 构建监听地址SocketAddress @2 将service注册到缓存 @3 Server构建 @4 服务端启动
瓜农老梁
2019-11-28
1.7K0
gRPC示例初探【实战笔记】
备注:Will try to greet world ...这条日志在Client端访问Server前打印;Greeting: Hello world 这条日志在Server返回给Client后打印。
瓜农老梁
2019-11-12
7560
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档