RPC:remote process call 远程过程调用。
web浏览器和web服务器之间的一次http的请求与响应过程:
1:浏览器根据所使用的http协议,解析出url对应的域名
2:通过DNS域名解析,查询出该域名的IP地址
3:通过url解析出对应的端口号
4:浏览器发起IP:PORT的连接
5:浏览器向服务器发送(get|post|..)类型的请求
6:服务器响应浏览器的请求,浏览器读取响应,渲染网页
7:浏览器关闭与服务器的连接
基于TCP和HTTP的RPC的对比优劣:
TCP:要注重底层细节
HTTP:传输的数据要比TCP多,占用时间多
负载均衡算法:
1:轮询法
2:随机法
3:源地址哈希法
4:加权随机法
5:加权轮询法
6:最小连接数法
分布式session:
session同步:可靠性要求高的情况:持久化存储到DB,缺点是系统的整体吞吐受到影响。另一种方案是保存到memcache集群中,读写性能高,利用缓存有效期并且比较安全,缺点是系统重启所有session丢失,需要重新建立会话。同步的时候我们可以将sessionid做hash存储到cache集群中,这个时候即使webserver宕机了也不会受到影响。
CAP原则
强一致性和最终一致性