摘要:
1.pink 介绍:qihoo出版的高性能网络服务处理框架 地址:https://github.com/PikaLabs/pink 其他:两种模式,1种各个worker线程竞争accept新连接 1种一个dispatch专门处理accept新连接,然后通过queue传递给各个worker线程 2.p 阅读全文
摘要:
目标是实现redis集群的无感知弹性扩容 关键点 1.是无感知,即对redis集群的用户来说服务ip和port保持不变 2.弹性扩容,指的是在需要时刻可以按照业务扩大redis存储容量。 1.业务场景 1.redis集群某个业务容量不足,需要扩容 2.redis集群需要一个为一个新业务分配存储容量 阅读全文
摘要:
公司的底层检索引擎已经用了10年,很稳定也没有很大的重构需求,直到最近PM报了很多数据更新不及时的问题,
加上最近我也有个想法实现一个轻量级的检索引擎,于是用了不到2个月算是完成第1版(github地址:https://github.com/dodng/comse)
一是尝试解决现有公司的检索系统中更新时效性的问题,二是把自己对检索服务的理解动手实践一下。 阅读全文
摘要:
1.map reduce 计算模型 介绍:https://blog.csdn.net/v_july_v/article/details/6637014 关键流程图示意: 2.shuffle过程 介绍:https://www.zhihu.com/question/27593027 简单流程图: 2.s 阅读全文
摘要:
1.比赛结果 2.比赛整体感觉 初赛的题目是写一个代理实现高性能的协议解析和转发,复赛是是实现一个单机的100g的mq存储。 题目都和io有关,自己实际在比赛过程中,实现了一套能跑的方案后,后续优化的效果不明显,例如 初赛第一版6140qps,后续只优化到6470qps。 复赛第一版67w,后续只优 阅读全文
摘要:
1.原始架构,要有id,group 2. 数据分片方案假设是id%2==0 的group0和id%2==1的group1,把group1的数据迁移到新的存储中,过程中应该不在有数据的更新操作。 3.前端把id%2的计算加到实现中,即id%2==0的打上group0的标示,id%2==1的打上grou 阅读全文
摘要:
1.介绍 hiredis: 一个c/c++的访问redis的api库 地址:https://github.com/redis/hiredis pipeline方式: redis中的pipeline方式,指的是把多次请求交互封装到一次完成,只交互一次,类似于多个请求“批处理”成一次交互 好处: 同样是 阅读全文
摘要:
目标是实现redis集群的无感知弹性扩容 关键点 1.是无感知,即对redis集群的用户来说服务ip和port保持不变 2.弹性扩容,指的是在需要时刻可以按照业务扩大redis存储容量。 1.业务场景 1.redis集群某个业务容量不足,需要扩容 2.redis集群需要一个为一个新业务分配存储容量 阅读全文
摘要:
其中调用函数的实现是 阅读全文
摘要:
1.map和set中内存释放用swap,但是进程并没有释放内存 是不是STL容器自己的内存管理机制没有释放内存给操作系统? 做实验,代码如下: 实验1 使用map自己定义的内存适配器test_map函数和 直接用new的test_new函数做对比 发现2个程序在test_map和test_new执行 阅读全文
摘要:
公司的底层检索引擎已经用了10年,很稳定也没有很大的重构需求,直到最近PM报了很多数据更新不及时的问题,
加上最近我也有个想法实现一个轻量级的检索引擎,于是用了不到2个月算是完成第1版(github地址:https://github.com/dodng/comse)
一是尝试解决现有公司的检索系统中更新时效性的问题,二是把自己对检索服务的理解动手实践一下。 阅读全文
摘要:
12.5 美国种族简史 11.17 程序员的数学3 11.10 丰子恺谈音乐 10.31 程序员的数学1 9.13 人类的荣耀 7.5 静观日本 5.23 深入浅出dpdk 4.4 android4高级编程 3.31 鬼谷子 程序员的数学2 2015年 信息检索 明朝那些事 阅读全文
摘要:
1.参考文档 https://github.com/littleosbook/ 2.宿主机环境 :~/lab/myOS# cat /etc/issueUbuntu 14.10 \n \l 3.编译&链接OS内核 apt-get install build-essential nasm genisoi 阅读全文