【架构实战营】模块八 1.单机高性能网络模型


教学目标

  1. 掌握单机高性能计算的网络模型

知道哪个轮子好就够了,千万别自己造轮子!

目录

  1. 传统网络模型
  2. Reactor 网络模型
  3. Proactor 网络模型
  4. 网络模型对比

1. 传统网络模型

PPC 和 prefork 示意

图片[1] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

TPC 和 prethread 示意

图片[2] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

2. Reactor网络模型

Reactor 介绍

图片[3] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

Reactor 模式1 – 单 Reactor 单进程/线程

图片[4] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

Reactor 模式2 – 单 Reactor 多线程

图片[5] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

Reactor 模式3 – 多 Reactor 多进程/线程

图片[6] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

Netty 代码示例 – example/http/helloworld

图片[7] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

3. Proactor 网络模型

Proactor 模式

图片[8] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

4. 网络模型对比

三类网络模型对比

图片[9] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

三类网络模型实战技巧

图片[10] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

本节思维导图

图片[11] - 【架构实战营】模块八 1.单机高性能网络模型 - MaxSSL

随堂测验

【判断题】

  1. PPC/prefork 等传统网络模型不支持海量连接。
  2. 单 Reactor 单进程模式因为没有上下文切换,性能会很高。
  3. 单 Reactor 多进程模式一样可行。
  4. 多 Reactor 多线程是接近完美的网络模型,而 Proactor 是性能最高的网络模型。
  5. 如果技术实力足够,可以自己开发网络模型,这样会更可控一些。

【思考题】
如果开发消息队列,可以选用哪些网络模型?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享