亲宝软件园·资讯

展开

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

梦想天空-程序 人气: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协议通信的过程进行了封装,提供高效且功能丰富的客户端编程工具包

加载全部内容

相关教程
猜你喜欢
用户评论