摘要:
Kahadb设计思想简介hakadb是activemq的持久化数据库,作为消息队列的存储,每个消息有一个消息ID,提供了对消息的快速的查找,更新,以及消息的事物支持,以及意外磬机之后的恢复。丰富的功能决定了他在存储结构上与redis中简单的双端队列不同。kahadb三大部分主要由索引(B-Tree ... 阅读全文
摘要:
1.下载源码https://github.com/composer/packagist2.修改配置文件cpapp/config/parameters.yml.distapp/config/parameters.yml数据库的信息填写以下,github的key填写一下(我是随意写的)3.安装compo... 阅读全文
摘要:
测试一$begin = time();for ($i=0; $itsts内容not pass9797...989810错误分析:php的fwrite是带buffer的,写入一行的内容大于buffer的长度,进程A和进程B是轮流调用write到同一行,就导致了这种结果测试三顺序写$begin = ti... 阅读全文
摘要:
memcache扩展版本 3.0.8一. retry_interval$retry_interval 某个rpc服务器端失败后故障转移的时间,retry_interval的时间内,该节点会被一直标记为不可用,隔离掉,为小于0的数一直隔离。int mmc_server_valid(mmc_t *mmc... 阅读全文
摘要:
一.安装mkdir cayleycd cayleymkdir srcexport GOPATH=$(pwd)go get github.com/google/cayleygo build src/github.com/google/cayley/cayley.go其中缺什么包下什么包,没有hg工具安... 阅读全文
摘要:
一.DICT主要有两个问题:1.散列冲突,解决办法是拉链法typedef struct dictEntry { void *key; union { void *val; uint64_t u64; int64_t s64; } v; ... 阅读全文
摘要:
一致性哈希的基本原理大家都知道,就是找一个最近的节点或者顺时针,逆时针找一个节点,而不是通过模一个N去找节点,这样做的好处就是当其中一台磬机的时候,一致性哈希还可以继续工作,而模N的方法,所有定位在磬机节点上都会失败。如下代码是一个简单的一致性哈希:id = $id; } public function set($key, $value) { echo 'redis '.$this->id.': set key '. $key.''; } public function ok() { return true; }}class Redis.. 阅读全文
摘要:
一.TCP头信息简单的至少应该知道,源端口,目的端口,序号,确认号,标志位,校验和二.TCP的建立1.客户端将SYN标志位置1,同时生成随机的序号,确认号是0。2.服务器接收到SYN,知道有人想和他建立连接,做出回应,将SYN和ACK标志位置1,确认号为刚刚接受客户端的序号加1,代表已经收到客户端的建立连接请求。然后自己再随即生成一个序号,用来确认从服务器到客户端的链路正常。3.客户端接收到服务器发送的确认号,检查是不是自己刚才发送的序号加一,代表从客户端到服务器的链路正确。客户端发送确认号为服务器端发送的序号加一,序号为客户端之前发送序号加一。辅助记忆:1.两次随机只有序号上才会随机,确认号 阅读全文
摘要:
1.nginx的IO是非阻塞的,apache的IO是阻塞的。nginx accept一个连接以后会把它放到EPOLL的消息循环中,APACHE需要启动一个线程,当系统线程达到瓶颈以后,会阻塞网络IO。2.nginx的并发比apache要高很多因为apache一个连接需要一个线程,而NGINX是先把socket句柄放到EPOLL中,然后循环的让处理线程处理,也可以理解为一个处理线程对应多个连接。关于EPOLLhttp://www.cnblogs.com/ggjucheng/archive/2012/01/17/2324974.htmlEPOLL SELECT区别http://www.cnblog 阅读全文
摘要:
此问题也是面试中的一大俗题,可以发散引申出很多。下面记录几点关键点。1.进程是操作系统资源分配的最小单位,线程是CPU调度的最小单位(后半句是因为多线程的OS中,进程不是一个可执行的实体)。2.线程是依附于进程,比进程的创建销毁切换都更省资源,所以多线程的程序有更好的并发。这里有可能被追着问到线程和进程都包括哪些信息2.1 进程的PCB(进程控制块)包括进程ID,内存指针,寄存器,状态,优先级,程序计数器,IO状态信息。 这里可能会被问到具体的进程状态,一共五种。新建,就绪,执行,阻塞,退出。2.1.1.进程的三种基本状态:就绪状态,执行状态,阻塞状态。2.1.2.进程三种状态间的转换 (1. 阅读全文