Submit Search
Upload
Async programming-2014-08-22-pub
•
Download as PPT, PDF
•
0 likes
•
414 views
persia cai
Follow
java async programming
Read less
Read more
Software
Report
Share
Report
Share
1 of 45
Download now
Recommended
探讨Web优化
探讨Web优化
dynamiclu
real-time Web的運用
real-time Web的運用
Robin Su
Config RouterOS openVPN.pdf
Config RouterOS openVPN.pdf
AkashaC1
How to Prevent DNS Attacks on MikroTik.pdf
How to Prevent DNS Attacks on MikroTik.pdf
AkashaC1
Linux bonding
Linux bonding
hubugui
并发编程实践
并发编程实践
longhao
基于Spring batch的大数据量并行处理
基于Spring batch的大数据量并行处理
Jacky Chi
Showinnodbstatus公开
Showinnodbstatus公开
longxibendi
Recommended
探讨Web优化
探讨Web优化
dynamiclu
real-time Web的運用
real-time Web的運用
Robin Su
Config RouterOS openVPN.pdf
Config RouterOS openVPN.pdf
AkashaC1
How to Prevent DNS Attacks on MikroTik.pdf
How to Prevent DNS Attacks on MikroTik.pdf
AkashaC1
Linux bonding
Linux bonding
hubugui
并发编程实践
并发编程实践
longhao
基于Spring batch的大数据量并行处理
基于Spring batch的大数据量并行处理
Jacky Chi
Showinnodbstatus公开
Showinnodbstatus公开
longxibendi
Big Data Analytics Infrastructure
Big Data Analytics Infrastructure
Min Zhou
常见编程问题及对策
常见编程问题及对策
hoopchina
前端静态文件部署
前端静态文件部署
Charles Wu
淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践
Min Zhou
ZeroMQ简介
ZeroMQ简介
Xu Wang
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
Fantix King 王川
并发需求下Scala和Erlang的比较-QConBeijing2010
并发需求下Scala和Erlang的比较-QConBeijing2010
Caoyuan Deng
Java trouble shooting
Java trouble shooting
Min Zhou
Java程序员也需要了解CPU
Java程序员也需要了解CPU
Min Zhou
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
Renaun Erickson
Java Concurrent Optimization: Concurrent Queue
Java Concurrent Optimization: Concurrent Queue
Min Zhou
Java并发编程实践
Java并发编程实践
sharewind
Hbase简介与实践分享
Hbase简介与实践分享
bluedavy lin
Hive
Hive
Min Zhou
Redpoll
Redpoll
Min Zhou
realtime-twitter-search
realtime-twitter-search
亚军 汪
Anthill: A Distributed DBMS Based On MapReduce
Anthill: A Distributed DBMS Based On MapReduce
Min Zhou
并发编程交流
并发编程交流
bluedavy lin
Chrome插件开发
Chrome插件开发
wangeguo
准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究
Min Zhou
A brief introduction to SPDY - 邁向 HTTP/2.0
A brief introduction to SPDY - 邁向 HTTP/2.0
Wen-Tien Chang
network2
network2
overcomerwang
More Related Content
Viewers also liked
Big Data Analytics Infrastructure
Big Data Analytics Infrastructure
Min Zhou
常见编程问题及对策
常见编程问题及对策
hoopchina
前端静态文件部署
前端静态文件部署
Charles Wu
淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践
Min Zhou
ZeroMQ简介
ZeroMQ简介
Xu Wang
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
Fantix King 王川
并发需求下Scala和Erlang的比较-QConBeijing2010
并发需求下Scala和Erlang的比较-QConBeijing2010
Caoyuan Deng
Java trouble shooting
Java trouble shooting
Min Zhou
Java程序员也需要了解CPU
Java程序员也需要了解CPU
Min Zhou
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
Renaun Erickson
Java Concurrent Optimization: Concurrent Queue
Java Concurrent Optimization: Concurrent Queue
Min Zhou
Java并发编程实践
Java并发编程实践
sharewind
Hbase简介与实践分享
Hbase简介与实践分享
bluedavy lin
Hive
Hive
Min Zhou
Redpoll
Redpoll
Min Zhou
realtime-twitter-search
realtime-twitter-search
亚军 汪
Anthill: A Distributed DBMS Based On MapReduce
Anthill: A Distributed DBMS Based On MapReduce
Min Zhou
并发编程交流
并发编程交流
bluedavy lin
Chrome插件开发
Chrome插件开发
wangeguo
准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究
Min Zhou
Viewers also liked
(20)
Big Data Analytics Infrastructure
Big Data Analytics Infrastructure
常见编程问题及对策
常见编程问题及对策
前端静态文件部署
前端静态文件部署
淘宝Hadoop数据分析实践
淘宝Hadoop数据分析实践
ZeroMQ简介
ZeroMQ简介
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
About Those Python Async Concurrent Frameworks - Fantix @ OSTC 2014
并发需求下Scala和Erlang的比较-QConBeijing2010
并发需求下Scala和Erlang的比较-QConBeijing2010
Java trouble shooting
Java trouble shooting
Java程序员也需要了解CPU
Java程序员也需要了解CPU
构建ActionScript游戏服务器,支持超过15000并发连接
构建ActionScript游戏服务器,支持超过15000并发连接
Java Concurrent Optimization: Concurrent Queue
Java Concurrent Optimization: Concurrent Queue
Java并发编程实践
Java并发编程实践
Hbase简介与实践分享
Hbase简介与实践分享
Hive
Hive
Redpoll
Redpoll
realtime-twitter-search
realtime-twitter-search
Anthill: A Distributed DBMS Based On MapReduce
Anthill: A Distributed DBMS Based On MapReduce
并发编程交流
并发编程交流
Chrome插件开发
Chrome插件开发
准实时海量数据分析系统架构探究
准实时海量数据分析系统架构探究
Similar to Async programming-2014-08-22-pub
A brief introduction to SPDY - 邁向 HTTP/2.0
A brief introduction to SPDY - 邁向 HTTP/2.0
Wen-Tien Chang
network2
network2
overcomerwang
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
ideawu
实时Web的前世今生未来
实时Web的前世今生未来
RolfZhang
Real time web实时信息流推送
Real time web实时信息流推送
yongboy
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
yongboy
WEB 安全基础
WEB 安全基础
xki
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
My own sweet home!
Jetty服务器架构及调优.v2 2011-5
Jetty服务器架构及调优.v2 2011-5
lovingprince58
Web开发与运维安全浅见
Web开发与运维安全浅见
CFC4N CHEN
Web开发与运维安全浅见
Web开发与运维安全浅见
mysqlops
TA Lesson Web-109
TA Lesson Web-109
Redhung @ Nationtal Chung Cheng University, Chiayi, Taiwan.
[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack
pnig0s pnig0s
Intro to REST
Intro to REST
Leon Gao(高磊)
Intro to rest
Intro to rest
Leon Gao(高磊)
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
志賢 黃
Session1.pdf
Session1.pdf
ssuser9026c8
Http协议介绍
Http协议介绍
Sanji Zhang
高性能网站建设
高性能网站建设
feifeipan
Http in development
Http in development
仲伟 李
Similar to Async programming-2014-08-22-pub
(20)
A brief introduction to SPDY - 邁向 HTTP/2.0
A brief introduction to SPDY - 邁向 HTTP/2.0
network2
network2
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
实时Web的前世今生未来
实时Web的前世今生未来
Real time web实时信息流推送
Real time web实时信息流推送
Real-Time Web实时信息流推送
Real-Time Web实时信息流推送
WEB 安全基础
WEB 安全基础
Java API for WebSocket 實作介紹
Java API for WebSocket 實作介紹
Jetty服务器架构及调优.v2 2011-5
Jetty服务器架构及调优.v2 2011-5
Web开发与运维安全浅见
Web开发与运维安全浅见
Web开发与运维安全浅见
Web开发与运维安全浅见
TA Lesson Web-109
TA Lesson Web-109
[xKungFoo2012]Web Service Hack
[xKungFoo2012]Web Service Hack
Intro to REST
Intro to REST
Intro to rest
Intro to rest
PHP 應用之一 socket funion : 偽 WEB Server
PHP 應用之一 socket funion : 偽 WEB Server
Session1.pdf
Session1.pdf
Http协议介绍
Http协议介绍
高性能网站建设
高性能网站建设
Http in development
Http in development
Async programming-2014-08-22-pub
1.
在现在大规模高并发的 WEB 应用中,由于硬件及网络的限 制, I/O
处理速度相当较慢, 往往成为 WEB 系统的性能瓶 颈。
2.
步异 程编 模型 PersiaCai 2014-08-22
3.
初衷:避免阻塞 -> 提升吞吐量
4.
TCP HTTP Servelt OS/IO JAVA IO Http Server 范及规
实现
5.
6.
Client-Server HTTP1.0 -> HTTP1.1
7.
Web 技术的发展 1 、
http 短连接 2 、 http 长连接 轮询 ->Comet 3 、 http1.1 持久连接 ->WebSocket Connection: keep-alive
8.
轮询 ->Comet->WebSocket 1 、轮询:客户端定时发请求,询问数据准备 好了没有 2
、 Comet :像彗星滑落天空一样 ( 1 ) Long Polling ,等待服务端响应后继续 发起下一个请求 ( 2 ) Streaming ,客户端在 timeout 后发起 下一次请求 3 、 WebSocket : http1.1 , persistent connection
9.
轮询: polling
10.
11.
Comet 实现 1
: long polling ( 1 )由客户端发起 http 请求,服务器收到 这个请求后,进入一个 while(ture) 的循环 ,当有数据需要告知客户端时,将数据响 应给客户端,并断开连接。 ( 2 )客户端收到信息后进行处理,处理完 成后再次发起新的请求,这就是长轮询的 长连接实现。当然,客户端一般都采用 ajax 方式发起请求。
12.
13.
14.
Comet 实现 2:
streaming 在流方式中,服务器推数据返回客户端,但 不关闭连接,连接始终保持, 直到超时,超时后通知客户端重新建立连接 ,并关闭原来的连接。
15.
16.
17.
Comet-> 长连接 基于 Http
长连接的服务端推送技术 WebSocket-> 持久连接 http1.1 persistent connection
18.
持久连接
19.
20.
21.
22.
23.
The Http Server
Side
24.
目录 1 、 底
求的 步对 层请 异 java nio/ nio2 2 、 上 求的 步对 层请 异 Servlet3 Async Context 3 、中 的 步间层 异 Future/Promise, AKKA
25.
底层 IO 请求 与处理的异步
26.
Old IO
27.
Classic Service Designs
28.
BIO 通信模型 同步阻塞 IO
服务模型(一客户端一线程) Non-scalable 当客户端并发访问量增加后,服务端的线程个数和客户端并发访问数呈现 1:1 的关系; 线程数膨胀,系统性能急剧下降,线程堆栈溢出,创建新线程失败,进程 僵死 / 系统宕机 / 对外服务不可用
29.
30.
伪异步 IO 通过线程池来处理多个客户端的请求接入,形成客户端数
M :线程池最大线 程数 N 的比例关系,通过线程池缓冲,避免海量并发导致线程耗尽 避免了为每个请求都创建一个独立线程,但是底层通信仍然采用的是 BIO 模 型,这种称为伪异步 IO 当队列积满之后,后续入列操作被阻塞,新的客户端请求被被拒绝,客户端 发生大量的连接超时
31.
NIO
32.
33.
经典 NIO 异步模型—多线程版
34.
传统: CPU 等待
IO 完成
35.
零拷贝技术 CPU 只是发出写操作这样的指令, DMA
具体执行,从内存中读取数据,然后写到磁盘, 当完成写后发出一个中断事件给 CPU ,这段时间 CPU 是空闲的
36.
接收请求 与处理请求的异步
37.
Servlet3 AsyncContext Spring MVC
3.2 Callable,DefferedResult,WebAsyncT ask
38.
39.
Async in app Future-Promise
40.
1 、 Guava
41.
Like js?
42.
43.
44.
Q A
Download now