阿里云的 OCS( memcache)特别不靠谱 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
iceiceberg
V2EX    云计算

阿里云的 OCS( memcache)特别不靠谱

  •  
  •   iceiceberg 2015-11-24 09:17:27 +08:00 5686 次点击
    这是一个创建于 3611 天前的主题,其中的信息可能已经有所发展或是发生改变。

    以前就经常因为内网 DNS 问题超时。昨天晚上报了两个小时的 Malformed VALUE header (0),导致我所有的服务都崩溃了。
    提工单也是答搭不理,根本不解决问题。
    原来我是自己搭的 memcached ,后来切成了 OCS 。现在看来,又得切回去了……大家慎用啊!

    16 条回复    2015-11-28 06:50:37 +08:00
    realpg
        1
    realpg  
    PRO
       2015-11-24 09:35:59 +08:00
    以前发生过这种事儿……后来都改自建了……
    不过应该吐槽一下,你的程序竟然没有 cache server 崩溃的 failsafe 么?哪怕数据库直读呢
    ixiaozhi
        2
    ixiaozhi  
       2015-11-24 09:57:48 +08:00
    昨晚挂了啊,我都不知晓呢。。。
    nevernet
        3
    nevernet  
       2015-11-24 09:59:46 +08:00
    1 楼说的是 failsafe
    Zhongwei
        4
    Zhongwei  
       2015-11-24 09:59:50 +08:00
    1. 内网 DNS 的稳定性不能指望,必须上 dnsmasq
    2. cache 的理解是否有问题
    beneo
        5
    beneo  
       2015-11-24 10:28:06 +08:00
    没事,会赔偿你 memcached 使用费用的 100 倍的,逃
    aliyun123
        6
    aliyun123  
       2015-11-24 13:25:20 +08:00
    抱歉给您带来不便,今天凌晨 OCS 进行升级,升级期间用户 OCS 已建立的连接会出现闪断,自动重连后即可恢复,具体可以参考:http://help.aliyun.com/noticelist/articleid/7596863.html?spm=5176.383338.12398792.3.5TnlH3,如果还有疑问可以在工单中反馈,会有人员及时跟进的。
    iceiceberg
        7
    iceiceberg  
    OP
       2015-11-24 14:26:38 +08:00
    @beneo 不会的
    cnbiglee
        8
    cnbiglee  
       2015-11-24 14:49:20 +08:00
    话说,我也在用,没有任何异常。
    memcache 不是数据库,他崩溃了,最多是从数据库等处读取数据,服务慢点而已,怎么会崩溃?
    只能说你的代码不够健壮。
    cloudbeyond
        9
    cloudbeyond  
       2015-11-24 14:53:18 +08:00
    欢迎来 AWS 的 Elasticache
    iceiceberg
        10
    iceiceberg  
    OP
       2015-11-24 15:01:42 +08:00
    @cnbiglee 确实是……
    我 mem 里的东西很多不是数据库的缓存,而是单独存在的。一般都是些不需要长期存的数据。

    @realpg
    @Zhongwei
    我这种设计方式,是完全不可取的么?
    realpg
        11
    realpg  
    PRO
       2015-11-24 15:31:22 +08:00   1
    @iceiceberg
    看你们的可用性要求了……

    反正总不能 cache 挂了就直接把乱七八糟的 error 抛给用户了……
    我以前给人做东西时候,各种变态测试就是去把数据库内容删了啊,把 cache 弄坏啊什么的,就算没法正常提供数据,服务也不能崩,好歹给友好的错误提示给用户,有条件保证的数据还是要给出的。


    从设计方式角度,首先 cache 里一般有这么几种数据:

    后面有 backend 的,为了提升性能,这种 cache 的封装访问,一定是自带 cache 不在了,从 backend 读取重建 cache 。
    这种基本逻辑就是,首先去 cache 里面 fetch ,如果 fetch 到 false ,那么去 backend 读,然后写 cache ,如果 cache server 不可用,那么记录 warning 给管理员,然后流程继续。

    另外一种,纯热数据,属于可以清空不影响逻辑的,后面没有 backend ,比如一个实时热词排序这种,数据如果清空是不影响前台展示,只能导致具体不准确。这种 cache server 挂掉,基本就等于一个无数据的新系统,应该也不会功能错乱。
    fire5
        12
    fire5  
       2015-11-24 15:54:41 +08:00
    memcached redis 为什么不自己搭建? 为什么不自己搭建? 为什么不自己搭建?
    iceiceberg
        13
    iceiceberg  
    OP
       2015-11-24 16:43:37 +08:00
    @fire5 最早是自己搭的,因为不能热升级,就改成用 OCS 了。。。
    Had
        14
    Had  
       2015-11-24 23:17:06 +08:00
    @cloudbeyond AWS 的 Redis 升级也不是热升级...
    cnbiglee
        15
    cnbiglee  
       2015-11-25 11:31:54 +08:00
    @iceiceberg 当数据不存在时能把服务搞崩了的数据当然不能只在缓存里存在,如果没办法在其它地方存在,那就要做好异常处理,数据不存在时有预备方案,比如友好提示等。
    iceiceberg
        16
    iceiceberg  
    OP
       2015-11-28 06:50:37 +08:00
    @cnbiglee 明白!受教了!我马上改!
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1037 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 22:59 PVG 06:59 LAX 15:59 JFK 18:59
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86