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

V2EX 从过去一年半中学到的几件事

  •  
  •   Livid · 2013-09-16 15:53:05 +08:00 · 11982 次点击
    这是一个创建于 4115 天前的主题,其中的信息可能已经有所发展或是发生改变。
    38 条回复    1970-01-01 08:00:00 +08:00
    sethverlo
        1
    sethverlo  
       2013-09-16 16:03:54 +08:00   ❤️ 3
    突然发现感谢楼层和感谢主题金币数还不一样……
    66450146
        2
    66450146  
       2013-09-16 16:09:08 +08:00
    @Livid 在可定制忽略节点的情况下,默认技术还那么有必要吗
    Livid
        3
    Livid  
    MOD
    OP
       2013-09-16 16:11:43 +08:00   ❤️ 1
    @66450146 给从来没有访问过这里的人的第一印象。
    moroumo
        4
    moroumo  
       2013-09-16 16:41:16 +08:00
    那个ppt里提到,不要把redis作为主要存储DB(应该没理解错吧)。
    zhou533
        6
    zhou533  
       2013-09-16 17:08:38 +08:00
    @moroumo 我们是MySQL管写,redis管读,这样会有一个一致性的问题
    kdlijian
        7
    kdlijian  
       2013-09-16 17:13:06 +08:00
    首页时间轴问题,看豆瓣的首页变化了多少回就可以理解楼主所说不假。
    linsk
        8
    linsk  
       2013-09-16 17:14:15 +08:00 via iPhone
    学到很多。赞。
    很多方面都在成长!那么 内容质量也成长了吗?
    ipconfiger
        9
    ipconfiger  
       2013-09-16 17:20:31 +08:00
    @Livid Redis现在用起来了么?怎么用地?
    aisk
        10
    aisk  
       2013-09-16 17:22:07 +08:00
    现在v2ex几台机器了?
    est
        11
    est  
       2013-09-16 17:41:22 +08:00
    v2ex都跑到一百万行了?看来大水车很强啊!
    toctan
        12
    toctan  
       2013-09-16 18:44:04 +08:00   ❤️ 1
    @Livid 关于首页时间轴,有一类主题我觉得很有信息量,比如说你发那一类英文标题加一个链接的主题,但是吸引不到回复,因为一般人就算打开链接看了之后也不知道除了“碉堡了”也不知道说什么,但这类回复在 V2EX 是不受欢迎的。这个问题我觉得可以通过鼓励感谢主题并加重感谢主题在排序的权重部分解决,防止这类主题过快掉出主页。
    Livid
        13
    Livid  
    MOD
    OP
       2013-09-16 18:45:17 +08:00
    @toctan 我考虑过专门为这类信息设计一些更好的发布流程和展现方式。其实 Daring Fireball 就是这样的一个 linklog。
    Livid
        14
    Livid  
    MOD
    OP
       2013-09-16 18:45:28 +08:00
    @est 金融系统的数据……
    raincious
        15
    raincious  
       2013-09-16 18:54:47 +08:00
    那么多纠结的方案。

    为什么不考虑默认是“最热”?这样也能体现网站的主题内容吧?
    buru
        16
    buru  
       2013-09-16 18:58:18 +08:00 via iPhone
    链接的帖子可以参考hacknews的投票
    Numbcoder
        17
    Numbcoder  
       2013-09-16 19:28:47 +08:00
    已经迁移到 Redis 了吗?
    很好奇具体的架构方案。
    est
        19
    est  
       2013-09-16 19:59:47 +08:00
    @Livid 这个理解~!reddit也遇到这样的问题。后来是通过cassandra解决的。
    jimliu
        20
    jimliu  
       2013-09-16 20:22:38 +08:00
    @宝玉xp:看了《V2EX 从过去一年半中学到的几件事》http://t.cn/z8Y1mn4 我这几年做Openlab,感受差不多。小站的首页时间轴,简单做就可以了,数据量不大就不要做复杂的算法;中小型网站,数据库直接用Redis就足够了,可以去掉MySql或SqlServer,这也是我接下来想做的。另外补充一条:屏蔽匿名用户防内容审查。
    yukirock
        21
    yukirock  
       2013-09-16 20:42:17 +08:00
    请问一下例如什么样的 DNS 服务是 CF 不支持的?
    passluo
        22
    passluo  
       2013-09-16 21:11:03 +08:00
    so,到现在你们还在为 V2EX 运营而自掏腰包么?没有实现收支平衡?

    业界良心!
    Livid
        23
    Livid  
    MOD
    OP
       2013-09-16 21:12:29 +08:00 via iPhone   ❤️ 2
    @passluo 最大也最贵的投入是时间。
    passluo
        24
    passluo  
       2013-09-16 21:15:50 +08:00
    @Livid 谢谢你和你们。

    :)

    中秋快乐。
    remaerd
        25
    remaerd  
       2013-09-16 21:28:10 +08:00
    谢谢 @livid!一直在关注 V2EX 被攻击的消息。我也从中学到不少东西。
    我记得您之前说过 现在的 V2EX 在 Digital Ocean 跑。我有点好奇像 V2EX 这样的网站,现在用了多少个 Droplets?
    Livid
        26
    Livid  
    MOD
    OP
       2013-09-16 21:31:25 +08:00 via iPhone
    @remaerd 目前只用了一个。
    remaerd
        27
    remaerd  
       2013-09-16 22:01:10 +08:00
    @Livid =_= 我还以为会用到很多,看来性能不错。谢谢你的 Reply
    ufo22940268
        28
    ufo22940268  
       2013-09-16 22:17:28 +08:00   ❤️ 1
    看了之后学到很多新名词,谢谢livid
    iamsk
        29
    iamsk  
       2013-09-16 23:16:08 +08:00
    @Livid 完全去掉 MySQL 直接用 Redis 是怎样考虑的,看文章是性能的考虑,实际大家应该都是结合使用的,像是时间轴这些可以只用 Redis,但多数重要数据还是存 MySQL 或其他关系型数据库的,如果切换为 Redis,安全性,数据恢复这些方面怎样考虑呢,毕竟宕机重启这些情况是比较常见的。完全用 Redis 就得自己手动维护 Schema,应该也是比较耗时的,并且不像 MySQL 那样直观
    Ricepig
        30
    Ricepig  
       2013-09-17 00:01:17 +08:00
    感谢 @Livid

    我发现这居然是介绍Vagrant是什么的最通俗易懂的一篇文章
    sitin
        31
    sitin  
       2013-09-17 00:13:42 +08:00
    感谢@Livid 学习了。
    virushuo
        33
    virushuo  
       2013-09-17 12:47:21 +08:00
    我想问问redis的持久性问题怎么解决?我记得是到秒级别的硬盘同步?这样很容易丢数据。我曾经设计的解决方案是多个node做cluster,但还是对缺乏持久化比较担心,所以我一直没敢单独用redis。

    我用redis一般是把mysql中已有的持久化数据换一个更利于性能的结构放进来,即当作一种稍微复杂的缓存用。如果我没理解错,你的意思是想把redis当作主要数据库用?
    Livid
        35
    Livid  
    MOD
    OP
       2013-09-17 13:23:19 +08:00
    @virushuo 对,下一个项目中,打算完全不用 MySQL。

    可能还是会需要用到一个 Redis 的 ORM,这个语法和我们目前在用的 ORM 挺接近的:

    https://pypi.python.org/pypi/rom
    hlcfan
        36
    hlcfan  
       2013-09-17 19:23:33 +08:00
    我看到对 POST/PUT 请求频次限制机制,对于时间段和请求URI同时做限制的话是不是粒度有点细了?仅仅只限制请求IP会不会好一点。
    diamondtin
        37
    diamondtin  
       2013-09-26 15:13:25 +08:00
    @virushuo Redis 默认的 rdb 方式是 snapshot 的,可以自己定义触发 snapshot 的条件,可以是定时,也可以是单位时间写入超过一定数量才触发。还有 AOF 方式,是 append 的方式写入增量 journal,可以自己定义 fsync 的触发条件(默认每秒一次),这种方式丢数据的概率就很小了。但是 AOF 方式对 IO 会比较敏感。redis 的 sentinel 做 failover,所以服务可用性也有保证,我们用 gevent patch 过的 redis driver,监听 sentinel 的 pubsub channel,failover 的切换非常快。我们游戏的 leaderboard 都是用 redis 做主存的,连接不高的部分用 mongodb。
    virushuo
        38
    virushuo  
       2013-09-26 16:06:48 +08:00
    @diamondtin 多谢分享。fsync这个方式对IO压力还是很大的,如果这样,感觉就失去用redis的意义了。所以一般应该还是要靠failover的吧。


    @livid 不错,等你切换了分享经验。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2885 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:26 · PVG 20:26 · LAX 04:26 · JFK 07:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.