2、网络知识杂记
1、协议
语法:通信双方“如何讲”
语义:确定通信双方“讲什么”
时序:通信双方“讲话”的次序
2、TCP与UDP
3、套接字使用地址结构为:
sockaddr
IP v4地址为:
sockaddr_in
4、阻塞与非阻塞
阻塞:
函数不返回,直到发送或接收数据等成功
套接字输出队列满,函数send会阻塞等待
没有数据可用时,函数recv会阻塞等待
非阻塞:函数直接返回,无论是否成功
如果函数调用失败,返回EWOULDBLOCK或EAGAIN
用poll或select/epoll判断何时可以发送或接收数据
The macro EWOULDBLOCK is another name for EAGAIN; they are always the same in the GNU C library.
5、负载均衡技术
两层含义
大量的并发访问或数据流量分散到多台设备处理
单个重负载的运算分担到多台节点设备上做并行处理,再汇总结果,例如Map Reduce
负载均衡在不同层次的实现
① 域名解析实现:DNS轮转
② 协议实现:如HTTP重定向
③ IP层实现:如LVS,Linux Virtual Server。
6、LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。【1】
在已有的IP负载均衡技术中,主要有通过网络地址转换(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,我们称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,我们提出了通过IP隧道实现虚拟服务器的方法VS/TUN(Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术。
参考