阿里巴巴分布式搜索引擎isearch3核心技术栈以及开发、调试工具一览

平台:redhat linux + apache2.x 。
支持linux2.6内核,32/64 bit。
支持apache2.x的work/prefork MPM。

一 单机

1 进程间通信技术
采用内存映射
2 XML解析
采用mxml-2.2.2
3 大部分API 都是标准unix c++, 线程安全。部分采用STL 模板库
4 索引采用自定义的数据结构文件存储。
5 自主研发memory pool管理内存分配、释放。对于内存泄露检测起到很便利的作用
6 排序、查找算法优化标准的算法

二 分布式

1 UDP 多播技术管理集群数据传输、查询请求、查询结果响应。
2 查询cache 采用berkely db4.5.18 存储缓存数据。cache同样有dispatch与提供cache服务的master机


3 apache module接收、处理http请求
4 最前端采用F5负载均衡,内部查询机器也检索机器load做负载均衡
5 socket i/o多路复用采用epoll。内部也实现了select
6 外部接口有:web前端展现界面;贸易通状态查询 
7 集群机器管理脚本:perl

三 开发工具、调试工具

由于和设备相关部分API用win32/linux wrap过了,故程序也可以在windows上运行。

(1) unix上:

  gdb调试
  valgrind查找内存泄露
  也用intel vtune尝试性能调优
  gprof性能优化 
  增加apache module记录每个http请求时间,以便调优
  Makefile组织gcc编译

  samba便于win32调试

(2) win32

  visual studio 2003

转自:http://www.51testing.com/?uid-13997-action-viewspace-itemid-85569

你可能感兴趣的:(阿里巴巴分布式搜索引擎isearch3核心技术栈以及开发、调试工具一览)