- 博客(6)
- 收藏
- 关注
原创 [置顶]Memcached网络模型
之前用libevent开发了一个流媒体服务器。用线程池实现的。之后又看了memcached的网络相关实现,今天来整理一下memcached的实现流程。memcached不同于Redis的单进程单线程,是采用多线程的工作方式。有一个主线程,同时维护了一个线程池(工作线程)。worker thread工作线程和main thread主线程之间主要通过pipe来进行通信。因为用了libevent,所
2016-08-07 18:02:04
351
4
原创 [置顶]Ceph源码解析:读写流程
一、OSD模块简介1.1 消息封装:在OSD上发送和接收信息。cluster_messenger -与其它OSDs和monitors沟通 client_messenger -与客户端沟通1.2 消息调度:Dispatcher类,主要负责消息分类1.3 工作队列:1.3.1 OpWQ: 处理ops(从客户端)和sub ops(从其他的OSD)。运行在op_tp线程池。1.
2016-08-07 18:02:01
2614
6
原创 [置顶]Ceph源码解析:CRUSH算法
1、简介 随着大规模分布式存储系统(PB级的数据和成百上千台存储设备)的出现。这些系统必须平衡的分布数据和负载(提高资源利用率),最大化系统的性能,并要处理系统的扩展和硬件失效。ceph设计了CRUSH(一个可扩展的伪随机数据分布算法),用在分布式对象存储系统上,可以有效映射数据对象到存储设备上(不需要中心设备)。因为大型系统的结构式动态变化的,CRUSH能够处理存储设备的添加和移除,
2016-08-07 18:01:59
3350
3
原创 [置顶]Ceph源码解析:PG peering
集群中的设备异常(异常OSD的添加删除操作),会导致PG的各个副本间出现数据的不一致现象,这时就需要进行数据的恢复,让所有的副本都达到一致的状态。一、OSD的故障和处理办法:1. OSD的故障种类:故障A:一个正常的OSD 因为所在的设备发生异常,导致OSD不能正常工作,这样OSD超过设定的时间 就会被 out出集群。故障B: 一个正常的OSD因为所在的设备发生异常,导致OSD不能
2016-08-07 18:01:56
2191
4
原创 scrapy安装使用教程
1. 安装Python,我用的是Python2.7.11,你喜欢用什么版本,你开心就好,只是后面的软件有些可能需要配套。2. 安装pip,下载pip-8.1.2.tar.gz (md5, pgp)。解压后执行python setup.py install pip安装在python目录的子目录script下,添加一个环境变量
2016-08-07 18:01:53
361
3
原创 (转)CEPH命令
一、集群相关命令1、启动一个ceph 进程启动mon进程service ceph start mon.0启动msd进程service ceph start mds.0启动osd进程service ceph start osd.02、查看机器的监控状态[root@client ~]# ceph health3、查看ceph的实时运行状态[root@client ~]# ceph -w
2016-08-07 18:01:51
1485
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人