硬链接与软连接
2016-10-31 16:24:45 0 举报
软连接与硬链接
作者其他创作
大纲/内容
Twemproxy192.168.0.229
ssdb3
ssdb C
2:调用select()函数,等待事件发生
用户
rdbSave()
ssdb B
ssdb2
3:得到事件列表的epoll库,就可以进行事件处理了
接收方
1:通过相关调用创建一个有N个描述符的事件列表,并把这些描述符设置所关注的事件,并添加到内核的事件列表中
发送方
192.168.0.224
客户端
inode
域名与IP对应:www.lile.com 192.168.0.224www.realy.com 192.168.0.37
返回响应
ssdb A
twemproxy
代理与缓存服务器
192.168.0.222
没有缓存就在后端读数据,并缓存到本地
后端真实数据机器
select()函数
磁盘中的RDB文件
server
若有缓存直接读缓存,然后返回
三类事件的描述符集合
代理服务器
3:轮循所有事件描述符集合中的每一个事件描述符,检查是否有相应的事件发生,如果有就进行处理
客户端访问www.lile.com,到达192.168.0.224后,他会先看自己有没有缓存,如果有,则直接把数据返回给客户端,如果没有,192.168.0.224把请求转发给192.168.0.37,然后真实存放数据的服务器再把数据返回给代理服务器,代理服务器再把数据返回给客户端。192.168.0.224这台服务器只起一个代理和缓存的作用。
异常事件的描述符集合
192.168.0.103
内核
IO调用
1:创建三类事件的描述符,读(read)、写(write)、异常(Exception),收集这三类事件的描述符
nginx反向代理
soft link
rdbLoad()
工作进程
epoll库
client
事件C洗菜
进程A
请求1
站点2
Client
事件A洗衣服
192.168.0.37
192.168.0.249:8890
ssdb1
内存中的数据对象
ssdb D
写操作
需要解决的问题:当有更新操作时,若文件名还是不变,如果有缓存文件在,读取的还是缓存,如何解决当有更新操作时,对应的缓存文件进行同步更新
select、poll、epoll系统调用等管理
站点3
192.168.0.249:8889
读操作
hard link
发送请求
data
当IO调用完成后,会自己告诉工作进程
192.168.0.249:8888
事件A煮饭
A与B是竞争对手,然后A可以通过nginx的域名跳转请求serverB的图片信息资源等,那我是不是可以不断的请求不断的请求增加他的流量,或者网络阻塞....... 盗链
写事件的描述符集合
file
图片之类的静态资源
2:epoll库等待内核通知事件发生,内核将发生事件的描述符上报给epoll库
站点1
读事件的描述符集合
server B
真实存放数据的服务器
server A
事件B烧水
收藏
0 条评论
下一页