- 博客(8)
- 收藏
- 关注
原创 为何无法通过ip直接访问网站
这两周要做一个relay dns server,主要功能就是接受客户端的DNS请求,自己维护一个ip和域名的映射,如果自己server已经有请求的domian-name信息,则构造DNS应答报文,直接返回给客户端,如果没有信息,则server向真正的DNS服务器去请求,在将结果返回给client。这样我就可以做dns欺骗或者网页过滤,例如,如果你询问 www.baidu.com 的ip是多少,我可以返回一个假的ip地址,这样client就会访问我想让他访问的网站。但是过程中,发现一个问题,就是我将百度的
2020-09-19 21:11:18
2660
原创 memcached缓存系统
memcached作为缓存系统基本模型如图,FE表示front server(如web server)Read:前端server向memcache请求数据如果命中则直接返回数据如果数据在memcache中miss,则前段server会自己向后端db请求数据,然后再将返回的数据set到memcache中Write:前段server向db发送写请求,然后从memcache中delete(k),将更新的数据删除掉问题这边有个问题就是为什么在读数据miss的时候,不由memcache来向db请
2020-09-02 19:11:09
222
原创 Raft算法
Raft介绍谈到一致性算法,最出名的莫过于大名鼎鼎的Lamport于1980s提出的Paxos,但是这篇论文实在是很难读懂,因此也有很多论文是来简单描述Paxos算法的。Raft的初衷就是以一种简单易于理解的算法实现Paxos想同的功能,但是伴随着的是某些方面性能的损失。Raft 和另一种一致性算法Viewstamped Replication很相似,Viewstamp是于1990s提出来的,而Raft是于2014年提出的。几个基本概念majority vote (“quorum” systems)
2020-08-12 16:28:15
352
原创 Frangipani的CacheConsistency
简介Fangipani 是一个分布式文件系统,构建在虚拟磁盘上Petal上。这里我们只关注于Fangipani的Cache一致性是怎么做的架构可以简单理解为不同的client通过Petal而拥有对文件系统的统一view。每个client拥有自己的cache,将Petal的文件读到cache中修改,同过lockserver来同步获取锁和释放锁。cache一致性每个客户端有一个表来保存自己持有的所有lock的状态 busy/idle,busy表示正在对文件读写操作,idle表示已经读写完毕。
2020-08-12 16:26:03
223
原创 CRAQ
简介Chain ReplicationChain Replication 即,所有的写请求全部发送到head,然后成链式复制下去,直到复制到Tail,这是一个wriet请求即为提交。所有的读请求发送到Tail,直接返回,因此返回的数据都是已经提交的数据CRAQ是在CR基础上的改进,write请求仍然发送到Head,但是Read请求不只是发送到Tail,每个节点都是可读的。处理write请求:从Head开始,将对象的dirty位置1,然后传到下一个node,以此类推。最后Tail收到write请求,
2020-08-12 16:25:25
231
原创 Zookeeper
简介Zookeeper(2010)Zookeeper 提供分布式协调服务,利用他提供的API我们可以实现一些应用,比如,分布式锁,Leader 选举,分布式队列,配置管理,数据发布/等,著名的dubbo也用到了Zookeeper。数据模型节点类型Regular:Client 通过正常的创建和删除来操作节点Ephemeral: Clientc创建一个节点,这个节点可以被clietn显示的删除或者当Session(用户连接到Zook时初始化一个session,类似于http session)终止时
2020-08-12 16:22:55
102
原创 GFS文件系统
简介GFS 是Google提出的分布式文件系统,主要是针对面向数据密集型的应用程序,其中包括MapReduce,BigTable。Google开发的GFS主要是针对于google对于写文件多为一次写多次读,且经常是对文件追加记录特点开发的文件系统,因此它针对的业务场景有局限的,针对小文件和随机读写性能一般。架构single master:保存metadata,metadata主要包括1文件到chunk的映射filename->array of chunk handles2各个chunk的
2020-08-12 16:19:08
1814
原创 NS2网络仿真环境的搭建和使用
一实验概述:1学会安装和使用NS2;熟悉NS2的文档结构;掌握NS2的仿真环境、使用界面和操作方法。2学会安装NS2仿真环境和配置。3了解NS2的工作原理和程序组成。4熟悉NS2中的脚本语言Tcl和Otcl5学习分裂对象模型和TclCL6NS的时间调度机制学习。7学习节点,链路,定时器,代理和应用层等在NS2中的使用。8学习nam的使用。9案例分析,学习应用之前
2015-08-29 12:50:45
6137
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人