netty 是用 Recycler 实现对象池。 每个线程有一个 ThreadLocalMap 变量,ThreadLocalMap 本质是一个哈希表,用 index + 1 来避免槽冲突,键是 ThreadLocal 变量,值是尖括号里的对象。netty 里面大量使用 ThreadLocal,目的是 ...
分类:
Web程序 时间:
2020-01-22 22:02:32
阅读次数:
113
Reactor线程模型 Reactor是反应堆的意思,Reactor模式即Dispatcher模式,服务器程序处理传入的多路请求,将他们同步分派给各请求对应的处理线程。 Reactor有两个关键角色: Reactor Reactor在一个单独线程中运行,负责监听和分发事件,将请求事件分发给处理线程来 ...
分类:
编程语言 时间:
2020-01-22 16:15:08
阅读次数:
80
学而时习之,不亦悦乎! netty源码 public final class DefaultEventExecutorChooserFactory implements EventExecutorChooserFactory { public static final DefaultEventExe ...
分类:
其他好文 时间:
2020-01-19 12:35:39
阅读次数:
66
一、EventLoop和EventLoopGroup EventLoop如同它的名字,它是一个无限循环(Loop),在循环中不断处理接收到的事件(Event)。 Netty线程模型的基石是建立在EventLoop上的,从设计上来看,EventLoop采用了一种协同设计,它建立在两个基本的API之上: ...
分类:
编程语言 时间:
2020-01-19 11:03:58
阅读次数:
90
ServerBootStrap是Netty服务端启动配置类,BootStrap是Netty客户端启动配置类。 一、ServerBootStrap 二、BootStrap ...
分类:
其他好文 时间:
2020-01-19 11:03:40
阅读次数:
121
前提 前置文章: "《基于Netty和SpringBoot实现一个轻量级RPC框架 协议篇》" "《基于Netty和SpringBoot实现一个轻量级RPC框架 Server篇》" "《基于Netty和SpringBoot实现一个轻量级RPC框架 Client篇》" 前一篇文章简单介绍了通过动态代理 ...
分类:
编程语言 时间:
2020-01-18 16:22:58
阅读次数:
99
一、准备环境 1、下载solr最新版本,我的是8.4.0 https://lucene.apache.org/solr/downloads.html 2、下载安装tomcat,我的是9.0版本,用来做启动运行solr服务,因为solr内嵌的是netty,不稳定 3、下载安装jdk1.8以上版本 二、 ...
分类:
系统相关 时间:
2020-01-17 09:18:53
阅读次数:
331
引言 问题 现在我们使用通用的应用程序或库来相互通信。例如,我们经常使用HTTP客户机从web服务器检索信息,并通过web服务调用远程过程调用。然而,通用协议或其实现有时不能很好地进行扩展。这就像我们不使用通用HTTP服务器来交换巨大的文件、电子邮件消息和近乎实时的消息(如财务信息和多人游戏数据)一 ...
分类:
Web程序 时间:
2020-01-17 00:14:24
阅读次数:
167
前提 前置文章: "《基于Netty和SpringBoot实现一个轻量级RPC框架 协议篇》" "《基于Netty和SpringBoot实现一个轻量级RPC框架 Server篇》" 前一篇文章相对简略地介绍了 服务端的编写,而这篇博文最要介绍服务端( )的实现。 调用一般是面向契约编程的,而 的核心 ...
分类:
编程语言 时间:
2020-01-16 23:48:40
阅读次数:
81
Netty架构原理,不怕你看不懂! https://mp.weixin.qq.com/s/UIZL78m105btP2HWFmQmlw 原创: 崔皓 51CTO技术栈 2019-12-06 “ 在分布式系统被广泛应用的今天,服务有可能分布在网络中的各个节点中。因此,服务之间的调用对分布式系统来说,就 ...
分类:
Web程序 时间:
2020-01-15 13:42:38
阅读次数:
75