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

教学目标

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

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

目录

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

1. 传统网络模型

PPC 和 prefork 示意

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

TPC 和 prethread 示意

【架构实战营】模块八 1.单机高性能网络模型_第2张图片

2. Reactor网络模型

Reactor 介绍

【架构实战营】模块八 1.单机高性能网络模型_第3张图片

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

【架构实战营】模块八 1.单机高性能网络模型_第4张图片

Reactor 模式2 - 单 Reactor 多线程

【架构实战营】模块八 1.单机高性能网络模型_第5张图片

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

【架构实战营】模块八 1.单机高性能网络模型_第6张图片

Netty 代码示例 - example/http/helloworld

【架构实战营】模块八 1.单机高性能网络模型_第7张图片

3. Proactor 网络模型

Proactor 模式

【架构实战营】模块八 1.单机高性能网络模型_第8张图片

4. 网络模型对比

三类网络模型对比

【架构实战营】模块八 1.单机高性能网络模型_第9张图片

三类网络模型实战技巧

【架构实战营】模块八 1.单机高性能网络模型_第10张图片

本节思维导图

【架构实战营】模块八 1.单机高性能网络模型_第11张图片

随堂测验

【判断题】

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

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

你可能感兴趣的:(#,架构实战训练营,架构)