V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
MarkZuckerberg
V2EX  ›  问与答

“百万条内容”等级的网站架构如何实现?

  •  
  •   MarkZuckerberg · 2019-12-29 16:41:49 +08:00 · 2389 次点击
    这是一个创建于 1826 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近接触到一个外包,正在跟甲方沟通,双方还没签合同。
    甲方是做出版行业的,在国内外、尤其是国外有一些行业资源。
    想做一个文献检索查询网站。可以比喻作,国外版的知网、万方,垂直行业的 Google Scholar。
    他们自己有些数据库,然后合作方也提供一些数据。内容无非就是:题目、作者、刊名、摘要等。原文( pdf )等文件不会存储在自己的服务器,都存在第三方的合作方网站上。本地服务器只留一个链接过去就行。
    目前他们自己有 300-400 万条数据。平均每年要增加约几十万(不到 100 万)条数据。合作方(第三方)有 api 的话,直接用就行;没有 api 就只能合法爬过来。
    因为行业不算大众化,所以前期预计每天约 5k-10k 访客。甲方并不靠这个网站盈利,只希望在行业内布局。
    参考:Google Scholar 和百度学术。
    考虑到未来扩展的可能性,请问这个网站的前后端应该如何架构才能更高效运转?
    有没有愿意合作这个项目的?我做总包签下这个项目,然后大家一起来做、一起分钱。
    18 条回复    2019-12-30 10:54:57 +08:00
    airyland
        1
    airyland  
       2019-12-29 16:50:44 +08:00 via iPhone
    百万条和每年增加几十万条,1 万多的访问量,这个量级其实不需要怎么考虑架构,几千万内做好索引数据库都能轻松扛。
    yixiang
        2
    yixiang  
       2019-12-29 16:52:44 +08:00
    这个数据量不需要啥特别优化吧,正常做应该就能支撑。
    wysnylc
        3
    wysnylc  
       2019-12-29 16:57:16 +08:00
    应届生都能做,还总包分钱........一人一块?
    jugelizi
        4
    jugelizi  
       2019-12-29 16:57:28 +08:00
    想多了 百万条而已
    破机器都能扛住
    用不着优化
    akira
        5
    akira  
       2019-12-29 17:00:38 +08:00   ❤️ 1
    百万条内容随便啥数据库都可以的,不需要啥特别的架构设计什么的
    MarkZuckerberg
        6
    MarkZuckerberg  
    OP
       2019-12-29 17:10:32 +08:00
    @wysnylc [捂脸]总包不是“一人一块”的概念…

    是类似我以 100 块,跟甲方签下这个项目合同,然后雇你开发,跟你单独签合同。可能你拿 1 块,我拿 99...
    murmur
        7
    murmur  
       2019-12-29 17:19:02 +08:00
    百万条内容有索引都不需要特殊优化,要是百万访问还可以聊聊
    akira
        8
    akira  
       2019-12-29 18:16:08 +08:00
    @wysnylc 应届生还真做不了。。别看东西少,坑还是蛮多的
    MarkZuckerberg
        9
    MarkZuckerberg  
    OP
       2019-12-29 19:12:22 +08:00
    @airyland
    @yixiang
    @jugelizi
    @akira
    @murmur
    谢谢大家。听起来似乎难度不大。我找人试一下 :-)
    vanillaxxx
        10
    vanillaxxx  
       2019-12-29 21:57:24 +08:00 via iPhone
    @MarkZuckerberg 找我啊缺钱啦
    cijianzy
        11
    cijianzy  
       2019-12-29 22:23:46 +08:00
    看作者 id 就觉得作者应该挺有前途的。
    areless
        12
    areless  
       2019-12-29 22:47:04 +08:00 via Android
    我 x,楼上的一个个都在搞笑啊。这个项目不使用 sphinx,lucene 这种外部索引必挂。而且 100 万本书全部建立索引,文件很大很大很大很大很大~~~你先建把 100 万本书的索引建出来试试吧。最关键点是--设计出让甲方满意的搜索结果~~~现在通用的分词系统不能达到甲方要求怎么办?你自己去搞分词系统吗?
    find
        13
    find  
       2019-12-29 22:51:32 +08:00 via iPhone
    可以找我啊,专搞搜索 好多年了
    agdhole
        14
    agdhole  
       2019-12-29 23:09:49 +08:00
    需要索引文档内容吗?如果不要确实不复杂
    yufeng0681
        15
    yufeng0681  
       2019-12-29 23:22:11 +08:00
    Redis 缓存可以不急着上,ES 搜索引擎要上;
    用户发起的都是模糊搜索,可能是多个关键字搜索,数据库十万级别以上的模糊搜索,响应无法满足要求;
    只能把你支持的几个字段的值,存到 ES 里面, 列表展现搜索结果,并显示部分摘要信息;
    详情页则是唯一索引条到具体某个文档,唯一索引能保证性能;
    b7cn
        16
    b7cn  
       2019-12-30 02:23:43 +08:00
    自己建立索引 跑的话 并发大 可能会搜索速度比较慢,
    我之前解决网站问题的时候 找到了以下几个 API 比较方便的解决这个问题 你可以看看。
    https://cloud.tencent.com/product/tcs
    https://www.aliyun.com/product/opensearch?spm=5176.8006371
    https://data.aliyun.com/product/elasticsearch?spm=5176.8006371
    MarkZuckerberg
        17
    MarkZuckerberg  
    OP
       2019-12-30 10:53:48 +08:00
    @parorisim
    @cijianzy
    @areless
    @find
    @yufeng0681
    @b7cn
    谢谢大家!目前还在跟甲方接触,争取接下这个活。V2 上卧虎藏龙,都是高手!
    MarkZuckerberg
        18
    MarkZuckerberg  
    OP
       2019-12-30 10:54:57 +08:00
    @agdhole 不需要搜索索引文档内容。只需要搜索对应 id 的题目、作者、期刊、等信息。
    可以参考:Google Scholar 和百度学术的功能。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   917 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 21:30 · PVG 05:30 · LAX 13:30 · JFK 16:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.