V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CMGS
V2EX  ›  分享发现

发布一个查询服务

  •  
  •   CMGS · 2011-12-22 19:08:19 +08:00 · 6034 次点击
    这是一个创建于 4747 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前看了有人做的查询服务和朋友讨论后觉得应该不是grep模式的,而是X到数据库做name和email的索引,所以行为上可能导致搜索出来的账号不全,做了一个新的,特别简陋
    http://one.xiaom.co/csdn/cmgs

    最后的那个就是id,跑在自己写的AE上,晚上回去把文本丢到node1做个balance,所以现在只有单北京节点可以访问,速度上虽然是全文grep,丢内存用grep,欢迎查询。
    18 条回复    1970-01-01 08:00:00 +08:00
    Air_Mu
        1
    Air_Mu  
       2011-12-22 19:20:25 +08:00
    楼主写个表单嘛。。。
    CMGS
        2
    CMGS  
    OP
       2011-12-22 19:48:19 +08:00 via iPhone
    好嘞…晚上回去做个界面…
    avatasia
        3
    avatasia  
       2011-12-22 19:58:15 +08:00
    @CMGS 速度好快,目前并发多少啊?
    Eyon
        4
    Eyon  
       2011-12-22 20:02:35 +08:00
    lz,我要基于密码查询的...................
    alsotang
        5
    alsotang  
       2011-12-22 20:27:38 +08:00
    不懂这是在干吗。。。一进去就只有一个表单而已。。
    CMGS
        6
    CMGS  
    OP
       2011-12-22 20:39:49 +08:00
    @avatasia 内存grep,没测试并发,512M的VPS,不会太弱
    @Eyon 可以基于密码查询,正则都支持╮(╯_╰)╭
    @alsotang 因为。。还没时间做页面
    prtitrz
        7
    prtitrz  
       2011-12-22 20:45:41 +08:00
    @alsotang http://one.xiaom.co/csdn/**** ****是你要查询的字符串
    prtitrz
        8
    prtitrz  
       2011-12-22 20:51:21 +08:00
    @Eyon lz用的是全文grep,csdn是明文存放密码。。so。。。
    CMGS
        9
    CMGS  
    OP
       2011-12-22 20:53:06 +08:00
    @prtitrz 正解,虽然用了mask,但grep的时候可不mask。。
    我先解决坑爹的Gevent和Subprocess问题。。得换subprocess。。
    Eyon
        10
    Eyon  
       2011-12-22 21:00:05 +08:00
    @prtitrz 在我用密码查询的时候,可以把用户名给我省略几位

    因为我密码基本固定,但用户名不固定.......
    yuhuofeihe
        11
    yuhuofeihe  
       2011-12-22 21:04:33 +08:00
    @prtitrz 额不小心点到了你这个地址……
    然后……
    网页就不断的刷出来~
    CMGS
        12
    CMGS  
    OP
       2011-12-22 21:23:39 +08:00
    @yuhuofeihe
    因为是正则。。。so。。。把匹配的600多w全render出来了= =
    richiefans
        13
    richiefans  
       2011-12-22 22:00:08 +08:00
    速度不错啊 具体实现机制的代码能share么,对这种大数据查询还真的不知道有什么好方法
    CMGS
        14
    CMGS  
    OP
       2011-12-22 22:10:17 +08:00
    代码不是问题……这货的关键在于1.系统grep,2.内存mount到一个路径,文件丢这里面……完全以空间换时间,其实这份代码是有问题的。在于Gevent-subprocess比较脑残没readline,用迭代器会比较疼……
    CMGS
        15
    CMGS  
    OP
       2011-12-23 00:19:44 +08:00
    @richiefans
    搞定了,http://one.xiaom.co/csdn/
    基于gunicorn+gevent
    subprocess是用的gevent-subprocess,没有readline……让人很忧桑……
    这种类型文件做索引存数据库没啥必要,因为就算这样你要索引的是用户名和Email,反查密码而已……
    而且,那样就无法正则grep了,SQL的正则也是全扫描,so~

    我的做法是丢内存,mount一个内存分区丢进去……popen启动系统grep(不可能写得比这个imba的- -)然后……就是现在看到的啦,Copy了之前@colorday的皮肤……叫一个写App Engine的货写前端……还是杀了我吧T.T

    所以这个服务就这样了,懒得管,现在双节点应该都上线了东京/北京……欢迎测试……特点就是,咱们不入数据库,同样高效……但是是正则哟~
    feilaoda
        16
    feilaoda  
       2011-12-23 11:47:24 +08:00
    这个强,忘记用户名,忘记密码,只记得密码可能的关键字,不过还是被找回来了。
    不错,密码就这样被泄漏了。
    arzon
        17
    arzon  
       2011-12-23 12:04:37 +08:00
    HTTP/1.1 500 Internal Server Error
    CMGS
        18
    CMGS  
    OP
       2011-12-23 14:03:44 +08:00
    唉?我看看- -重启服务了……擦的这个……是2号节点内存不够用了嗯……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2702 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:32 · PVG 22:32 · LAX 06:32 · JFK 09:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.