文件名称:
scalable-io-in-java-中文.pdf
开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2019-07-04
详细说明:网上都是不带书签,并且有些地方翻译有歧义。
所以我整理了一个。
特点:带书签
Scalable io in java 中文版,并且对有歧义的语义进行了修改。网络服务
Meb服务,分布式对象等
·大部分都有相同的基本结构:
读取请求, Read request
解析请求, Decode request
业务处理, Process service
编码响应, Encode rep1y
发送响应, Send reply
但每一步的本质和开销不同
解析XML,传输文件,生成eb页面,计算服务,
典型的服务端设计
client
read)(decode Compute(encode( send
handler
read)(decode Compute(encode( send
client
Server
handler
client
read)( decode Compute(encode( send
handler
每个hand1er可能在各自的线程中
经典 Serversocket循环
class Server implements Runnable i
public void run(
try
ServerSocket ss new ServerSocket(POrt),
while(! Thread interrupted)
new Thread (new Handler(ss. accept
pto). start
//or, single-threaded, or a thread pool
catch (IOException ex)/x
水
static class Handler implements runnable i
final socket socket
Handler(socket s)i socket =s,]
public void run(
try
bytel] input
new byteLMAX INPUt
socket. getInputstream. read(input;
byte[ output process(input)i
socket getoutputstream(
write(output),
3 catch (IOException exi/*
水
private byte[l process(byte[] cmd)i/*
Note: most exception handling elided from code examples
可扩展点
·在负载不断增加的情况下,如何优雅的缓解压力
(更多的客户端)
随着系统资源的增加,如何持续改进(CPU,内
存,硬盘,带宽)
并且满足可用性和性能目标
低延迟
满足高峰需求
可调节的服务质量
·分而治之通常是实现任何可伸缩性的目标最佳方
法
分而治之
将处理分为多个小任务
每个任务执行一个非阻塞操作
·当任务被激活时就执行它
这里,通常由一个工0事件触发
read(decode) compute (encode(send
handler
java.nio支持这种机制
非阻塞的读和写
调度IO事件觉察到的相关任务
·无限可能的变化
一系列事件驱动的设计
事件驱动设计
通常比其他模型更高效
更少的资源:不需要一客户端一线程
较少的开销:更少的上下文切换,更少的锁定
但分派可能较慢:必须手动将操作绑定到事件
通常编程比较困难
必须分解成简单的非阻塞操作
类似于GU事件驱动的操作
a不能消除所有阻塞:GC, page faults等
必须跟踪服务的逻辑状态
背景:AWT中的事件
AWT Event Queue
Event
Button
Event
AWT thread
click
ActionListener
public void actionPerformed(.)t
doSomething ()i
事件驱动Io使用类似的想法,但在设计上有所不同
Reactor模式
Reactor通过分派合适的 Handler来响应IO事件
类似于AWT线程
· Handlers执行非阻塞操作
类似于AWT的 Action listeners
·通过绑定 Handlers来管理事件
类似于AWT的 addActionlistener
See schmidt et al, Pattern-Oriented
Software Architecture, Volume 2(POSA2)
Also Richard stevens 's networking books
Matt Welsh s seda framework etc
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.