服务端: 启动后,等待客户端发来信息,收到信息后进行处理,返回结果。 客户端: 主线程中发起一次RPC,那么就将信息封装成一个任务,提交到线程池,阻塞等待结果。 线程池中工作线程执行任务,发送信息,等待netty线程收到结果、唤醒自己。 工作线程完成任务,返回结果 所以,一条消息应该包括要调用的类, ...
分类:
其他好文 时间:
2020-02-12 13:04:44
阅读次数:
69
起因 以前对接过一个tcp协议的接口,实现对类似于手机的pdt设备发送文本文字的功能,对接协议其实是文本形式的,很简单的一种协议。当初一路坎坷的对接完成,那时候实现方式也比较复杂,没有支持断连重连功能,本想着能优化一下,但是直到我从那家公司离职,也没有优化:) 想在回想起来当初实现功能的过程,比较曲 ...
分类:
Web程序 时间:
2020-02-12 12:33:16
阅读次数:
80
高并发实战学习 参考书籍 "Netty,Redis,ZooKeeper高并发实战" 作者 尼恩 代码链接https://gitee.com/sfasdfasdfsdf/netty_redis_zookeeper_source_code.git Netty netty是JBOSS提供的一个JAVA开源 ...
分类:
其他好文 时间:
2020-02-09 11:39:21
阅读次数:
55
Netty 是一个高性能的网络框架,应用非常普遍,目前在Java 领域,Netty 基本上成为网络程序的标配了,Netty 框架功能丰富,也非常复杂。今天主要分析Netty 框架中的线程模型,而线程模型直接影响着网络程序的性能。
在介绍Netty 的线程模型之前,我们首先搞清楚网络编程性能的瓶颈在哪里,然后再看Netty 的线程模型是如何解决这个问题的。
分类:
Web程序 时间:
2020-02-04 00:19:51
阅读次数:
110
Netty 是由 JBOSS 提供的一个 java 开源框架。Netty 提供异步的、事件驱动的网络应用 程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基于 NIO 的客户、服务器端编程框架,使用 Netty 可以确保你 快速和简单的开发出一个网 ...
分类:
编程语言 时间:
2020-02-02 01:11:07
阅读次数:
94
.childOption(ChannelOption.RCVBUF_ALLOCATOR, new AdaptiveRecvByteBufAllocator(64, 1024, 65536)) 注意这行,中间那个数字是关键 有点像: 0 腾讯 centos 7 [root@VM_0_9_centos ...
分类:
Web程序 时间:
2020-02-02 01:04:25
阅读次数:
172
"netty内存管理思想" "PooledByteBufAllocate" "PoolChunk" "Chunk初始化" "PoolChunk分配内存" netty内存管理思想 java作为一门拥有GC机制的语言,长久以来它的使用者都不必手动管理内存,这比起c/c++是一个巨大的进步。但现在nett ...
分类:
其他好文 时间:
2020-01-31 21:15:28
阅读次数:
97
Unsafe 类是JDK底层类库提供的、基于Java内存模型访问底层的机制,通过该类可以实例化对象、直接操作堆外内存(直接内存)、CAS原子操作等。Java基于AQS实现的同步工具类、并发容器,Netty对堆外内存的操作都基于该类实现。 获取Unsafe实例 中提供了静态方法 可以直接获取到 对象, ...
分类:
其他好文 时间:
2020-01-29 19:51:07
阅读次数:
92
不管是DefaultMQProducer还是DefaultMQPushConsumer,本质都是封装类,发起请求的实际上是RemotingClient, 它的start方法调用之后,启动了一个netty的客户端bootstrap,每次需要与nameService或者broker进行连接的时候,调用 ...
分类:
其他好文 时间:
2020-01-28 19:20:32
阅读次数:
134
前提 最近一直在看 相关的内容,也在编写一个轻量级的 框架来练手,途中发现了 的源码有很多亮点,某些实现甚至可以用 苛刻 来形容。另外, 提供的工具类也是相当优秀,可以开箱即用。这里分析一下个人比较喜欢的领域,并发方面的一个 工具模块 。 环境版本: Promise简介 Promise,中文翻译为承 ...
分类:
Web程序 时间:
2020-01-24 10:54:28
阅读次数:
91