网络编程web
Nginx1.9以前使用 Lvs Haproxy 实现四层反向和负载均衡 数据库
Lvs能够i应用到全部负载均衡的功能 数据库 web服务等编程
四层负载均衡,根据链接进行保存。 断开,链接。进行轮训。TCP四层负载均衡使用长链接方式,只要客户端与服务器端保持链接,Nginx不会轮训到下一台服务器。跨域
Http当你发送一次新的数据,就会轮训到下一台服务器上。(发一条,就是一次请求)浏览器
区别:TCP保持长链接服务器
HTTP无法送一次新的报文,轮训到下一台。网络
Socket就是为网络服务提供的一种机制。负载均衡
通信的两端都有Sokcettcp
网络通信其实就是Sokcet间的通信大数据
数据在两个Sokcet间经过IO传输。
udp: a、是面向无链接, 将数据及源的封装成数据包中,不须要创建链接
b、每一个数据报的大小在限制64k内
c、因无链接,是不可靠协议
d、不须要创建链接,速度快
tcp:
a、建议链接,造成传输数据的通道.
b、在链接中进行大数据量传输,以字节流方式
c 经过三次握手完成链接,是可靠协议
d 必须创建链接m效率会稍低
http协议基于TCP协议封装成超文本传输协议,http分为请求与响应,http协议分为请求参数和方法类型、请求头、请求体,响应分为 响应状态、响应头、响应体等。
四层负载均衡,在网络模型中的传输层中,基于主要是基于tcp协议报文实现负载均衡(好比LVS、haproxy就是四层负载均衡器),使用改写报文的源地址和目的地址。
七层负载均衡,在网络模型中应用层中,基于URL或者HTTP协议实现负载均衡,Web服务器。
传输层: ip地址和端口号 tcp udp协议
服务器与服务器之间通信。IP地址和端口号 IP分为局域网和外网
端口号: 区别不一样的应用程序
HTTP底层基于传输TCP协议封装,因此HTTP协议属于应用层
HTTP属于同步的(要不怎么会用MQ呢)
基于请求与响应
HTTP协议如何封装?
reques 请求URL 请求参数 请求方法
请求头:经过请求头得到浏览器信息
请求体: 响应 状态码
响应头 跨域解决方案
response
TCP也能够哦