首页 > Web开发 > 详细

大型分布式网站架构设计与实践1

时间:2020-02-22 16:27:38      阅读:72      评论:0      收藏:0      [点我收藏+]

第1章 面向服务的体系架构(SOA)

分布式应用架构的演变:单一应用架构--->垂直应用架构----->分布式应用架构

1.1 基于TCP协议的RPC

1.1.1 RPC名词解释

1、RPC:remote process call,远程过程调用,有RMI、WebService等诸多成熟的方案
2、如果服务提供煮 一个集群而非单台机器,则需要根据相应的负载均衡策略,选取其中一台进行调用。

1.1.2 对象的序列化

1、无论是何种类型的数据,最终都转换成二进制流在网络上进行传输,数据的发送方需要将对象转换成为二进制流,才能在网络上进行传输,而数据的接收方则需要把二进制流再恢复为对象
2、序列化与反序列化
对象------>二进制流=====对象的序列化
二进制流---------->对象======对象的反序列化
3、Java的序列化与反序列化

1.1.3 基于TCP协议实现RPC

java的socketAPI使用

1.2 基于Http协议的RPC

1.2.1 HTTP协议栈

1、HTTP协议属于应用层协议,它是构建在TCP和IP协议之上,处于TCP/IP体系架构中的顶端。
2、HTTP网络协议栈:网络接口层---->IP(网络层)---->TCP(传输层)---->HTTP(应用层)
3、协议请求和响应的格式
Request:
encode:0(0表示GBK,1表示UTF8)
commandlength:5
command:HELLO

Response:
encode:0(0表示GBK,1表示UTF8)
responselength:5
response:HELLO

1.2.2 http请求与响应

1、Web浏览器与Web服务器之间的一次HTTP请求与响应过程,需要以下几个步骤
<1>浏览器端根据所使用的http协议,解析出url对应的域名
<2>通过DNS域名解析,查询出应该域名对应的IP地址
<3>通过url解析出对应的端口号(如果是80端口,默认可以省略)
<4>浏览器发起并建立到IP所对应的80端口连接
<5>浏览器向服务器发送Get请求
<6>服务器响应浏览器的请求,浏览器读取响应,渲染网页
<7>浏览器关闭与服务器的连接

1.2.3 通过httpclient发送http请求

httpclient是Apache基金会下的一个子项目,它对http协议通信的过程进行了封装,提供高效且功能丰富的客户端编程工具包

大型分布式网站架构设计与实践1

原文:https://www.cnblogs.com/roylamsdreamsky/p/12345631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!