V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
dndx
V2EX  ›  分享创造

改进版密码泄漏全文查询系统架构和思路,欢迎大家拍砖

  •  
  •   dndx ·
    dndx · 2011-12-29 16:05:30 +08:00 · 3863 次点击
    这是一个创建于 4724 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先,这个系统从一开始就是冲着全文和正则搜索去的,如果不需要全文和正则也就不用这么折腾了。在现在的数据量下,单机做全文搜索的确很蛋疼,再牛逼的服务器也无法做到实时返回。

    新系统的大概原理是,在多个节点上部署查询守护程序,在一台机器上部署Web Server。

    当一个查询请求产生时,Web Server通过HTTP将这个请求分发到各个节点上(每个节点只负责特定的一部分文件,这个量可以根据节点的运算能力调整)。

    当所有节点返回时,Web Server返回结果。

    具体技术实现是这样,每个节点用的是Gevent + 一个简单的HTTP Server,直接spawn出grep查询文件。

    Web Server使用Tornado,异步调用所有节点。

    单机测试效果不错,但是我没有足够的节点,无法使其发挥出最大的威力。

    大家有什么看法?
    2 条回复    1970-01-01 08:00:00 +08:00
    cloudream
        1
    cloudream  
       2011-12-29 16:18:06 +08:00
    数据全放内存吧⋯⋯
    dndx
        2
    dndx  
    OP
       2011-12-29 16:20:21 +08:00
    @cloudream 这个我试过的,最初的是在一台16G的服务器上映射了8G做ramfs,查询文件全放进去。在有了一定并发以后真正的瓶颈在于CPU而不是内存。在8个超线程下同时进行8个任务就是极限了,再多就会爆掉。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1029 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 20:38 · PVG 04:38 · LAX 12:38 · JFK 15:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.