
4cdada3f53f99c3b826a1cae07058ef.png
express 中间件在没有异步的情况下,符合洋葱模型,一旦有了异步,就会打破洋葱模型。
koa 中使用异步函数写中间件,实现洋葱模型

72dc126d3083c2f546c5e2ea84f634f.png

433fbbb01ab7db79d76019530bf5bcf.png

d6819f1f25f798d2d743a1f337be85c.png

ada48b5a0d3a2b7e5994290177d7819.png

7ffa625e838075eb0efd830b7a66c79.png

[图片上传中...(74c740ba2369f6764aca7bfa8ed357d.png-64d930-1587030945861-0)]

74c740ba2369f6764aca7bfa8ed357d.png
ajax请求过程:浏览器把域名发给DNS服务器,DNS服务器把ip地址发给浏览器,浏览器根据ip地址向服务器发起请求,服务器返给浏览器数据

829c2d37314e0e60bff7690b38ffa2d.png
RPC请求过程:客户端服务器把虚拟ip发给寻址服务器,寻址服务器返回ip地址,客户端服务器根据ip地址向另外一个服务器发起请求,服务器返给客户端服务器数据!

6bd9b44f3343cce6bd6eb4dd4903bef.png
单工通信:客户端服务器(发起请求的端)与服务器之间,只有一方可以向另一方发送数据

907c57379772df1566bba0542587ef8.png
半双工通信:两端你来我往轮流发起通信!

7ab85de66af8cbd3722f2e3efa07478.png
全双工通信:难度大、成本高,根据自身需求,选择适合项目的通信方式
RPC调用是服务端与服务端之间的传递数据,采用的二进制的形式,便于计算机读取,ajax采用的是html或者json形式,更符合人类的阅读习惯

b878f8336b5c234e8d7403249332234.png

e180296cbe9862c063a571eb22aa418.png

9461fdbdcc6ded8edf3af6a7deace9c.png
网友评论