摘要: 1. 前言 分布式文件存储系统其作用主要有两个:其一存储海量的文档、图片、视频等blob类数据,其二作为分布式表格系统的持久化层,如 HDFS于HBase。流行的分布式文件存储系统有很多,如google的GFS、及其开源的实现版本HDFS和Facebook的Haystack等等。既然是分布式,肯定有 阅读全文
posted @ 2015-10-23 19:15 gisorange 阅读(6640) 评论(1) 推荐(0) 编辑
摘要: 1. 前言 网络通讯框架是业务服务平台高效、稳定运行的基础。而在今天盛行的分布式存储与计算集群里,高效、可靠的网络通讯框架更是保证各个集群节点间进行数据同步与消息沟通的重要基石。不同的语言均有许多开源网络框架,而流行的开源网络框架有libevent、netty等,下文通过简单分析taobao-tfs 阅读全文
posted @ 2015-10-19 10:42 gisorange 阅读(782) 评论(0) 推荐(0) 编辑
摘要: 1 前言 一个后台实时处理的业务平台,通常我们会根据数据的输入与输出,依据时间轴进行分解成不同阶段或不同粒度的逻辑任务,而每一个待处理的数据我们称为任务或者消息。任务之间的关系可以分为两类:a 上下游父子关系,b 可以并行运行的兄弟关系。具有上下游关系的任务集合具有逻辑或数据依赖关系,即上游任务... 阅读全文
posted @ 2015-10-19 10:31 gisorange 阅读(1208) 评论(0) 推荐(0) 编辑
摘要: 0 前言 阻塞队列在生产业务的很多场景里,都有使用的需要。例如:在数据流式处理服务中,我们需要异步的执行上游逻辑a与下游逻辑b;在rpc网络通讯框架场景中,我们需要解耦网络读写线程与消息处理线程。总之, 阻塞队列是在不同职责的线程之间进行数据沟通的桥梁。在jdk里面有现成的BlockingQue... 阅读全文
posted @ 2015-10-19 10:13 gisorange 阅读(392) 评论(0) 推荐(0) 编辑
摘要: 0 前言 在rpc或分布式节点间的通讯框架里面,我们经常会有“业务数据与二进制流数据之间进行编码或解码转换”的场景要求,在jdk的nio框架里面有既有的ByteBuffer类满足此需求,那么在c++里面,同样我们简单看看,一个具有类似功能的类DataBuffer。1 实现机制 其实现机制:通过指... 阅读全文
posted @ 2015-10-19 09:59 gisorange 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: 前段时间,关于路网最优路径算法的专题我做了一次内部分享,感兴趣的朋友可以进行查看与下载, 链接如下: http://files.cnblogs.com/files/gisorange/%E8%B7%AF%E7%BD%91%E6%9C%80%E4%BC%98%E8%B7%AF%E5%BE%84... 阅读全文
posted @ 2015-09-27 19:12 gisorange 阅读(859) 评论(1) 推荐(0) 编辑
摘要: 今天运维在线上部署一套较成熟的服务于车载终端导航的http服务后,测试验证时,服务每次接收请求时进程居然闪退,着实惊讶了一把。记录感叹一下,线上问题无大小,但是往往由于一些细微的细节造成的。 1. 现象 fastcgi load的http服务,在每次有请求打过来时,都会出现segment fault 阅读全文
posted @ 2015-06-10 21:33 gisorange 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 1 背景 前面介绍了关于双向及启发式的搜索,它们均可以实现了效率的倍增。但是应用到长距离(例如武汉——杭州大于500公里)的搜索时,平均效率存在100ms级甚至s级的耗时,显然这样一个面对广大用户群的互联网服务引擎效率是不可接受的,那么有没有优化的方向可以实现数量级的提升? 但人类对效率与正... 阅读全文
posted @ 2015-03-29 16:54 gisorange 阅读(2593) 评论(1) 推荐(0) 编辑
摘要: 1 zookeeper部署a. 下载程序包 wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gzb. 程序结构zookeeper |---conf |--zoo... 阅读全文
posted @ 2015-03-22 22:50 gisorange 阅读(1973) 评论(0) 推荐(0) 编辑
摘要: 1 Dijkstra描述与分析 1.1 算法描述 Dijkstra最短路径算法,具体地说,应该是一种单点到多点(one to many)的最短路径搜索算法,因为它从起点开始搜索时,总是优先搜索和展开当前离起点路径最短的节点,直至搜索到目标点时结束搜索。 有人说,Dijkstra算法是一种贪心的算法, 阅读全文
posted @ 2015-03-22 22:12 gisorange 阅读(4419) 评论(1) 推荐(0) 编辑