发布网友 发布时间:2022-04-20 09:30
共4个回答
懂视网 时间:2022-04-10 15:04
本文主要讨论这么几个问题:
(1)数据库主从延时为何会导致缓存数据不一致
(2)优化思路与方案
上一篇《缓存架构设计细节二三事》中有一个小优化点,在只有主库时,通过“串行化”的思路可以解决缓存与数据库中数据不一致。引发大家热烈讨论的点是“在主从同步,读写分离的数据库架构下,有可能出现脏数据入缓存的情况,此时串行化方案不再适用了”,这就是本文要讨论的主题。
为什么会读到脏数据,有这么几种情况:
(1)单库情况下,服务层的并发读写,缓存与数据库的操作交叉进行
虽然只有一个DB,在上述诡异异常时序下,也可能脏数据入缓存:
1)请求A发起一个写操作,第一步淘汰了cache,然后这个请求因为各种原因在服务层卡住了(进行大量的业务逻辑计算,例如计算了1秒钟),如上图步骤1
2)请求B发起一个读操作,读cache,cache miss,如上图步骤2
3)请求B继续读DB,读出来一个脏数据,然后脏数据入cache,如上图步骤3
4)请求A卡了很久后终于写数据库了,写入了最新的数据,如上图步骤4
这种情况虽然少见,但理论上是存在的, 后发起的请求B在先发起的请求A中间完成了。
(2)主从同步,读写分离的情况下,读从库读到旧数据
在数据库架构做了一主多从,读写分离时,更多的脏数据入缓存是下面这种情况:
1)请求A发起一个写操作,第一步淘汰了cache,如上图步骤1
2)请求A写数据库了,写入了最新的数据,如上图步骤2
3)请求B发起一个读操作,读cache,cache miss,如上图步骤3
4)请求B继续读DB,读的是从库,此时主从同步还没有完成,读出来一个脏数据,然后脏数据入cache,如上图步4
5)最后数据库的主从同步完成了,如上图步骤5
这种情况请求A和请求B的时序是完全没有问题的,是主动同步的时延(假设延时1秒钟)中间有读请求读从库读到脏数据导致的不一致。
那怎么来进行优化呢?
有同学说“那能不能先操作数据库,再淘汰缓存”,这个是不行的,在《缓存和数据库先操作谁》的文章中介绍过。
出现不一致的根本原因:
(1)单库情况下,服务层在进行1s的逻辑计算过程中,可能读到旧数据入缓存
(2)主从库+读写分离情况下,在1s钟主从同步延时过程中,可能读到旧数据入缓存
既然旧数据就是在那1s的间隙中入缓存的,是不是可以在写请求完成后,再休眠1s,再次淘汰缓存,就能将这1s内写入的脏数据再次淘汰掉呢?
答案是可以的。
写请求的步骤由2步升级为3步:
(1)先淘汰缓存
(2)再写数据库(这两步和原来一样)
(3)休眠1秒,再次淘汰缓存
这样的话,1秒内有脏数据如缓存,也会被再次淘汰掉,但带来的问题是:
(1)所有的写请求都阻塞了1秒,大大降低了写请求的吞吐量,增长了处理时间,业务上是接受不了的
再次分析,其实第二次淘汰缓存是“为了保证缓存一致”而做的操作,而不是“业务要求”,所以其实无需等待,用一个异步的timer,或者利用消息总线异步的来做这个事情即可:
写请求由2步升级为2.5步:
(1)先淘汰缓存
(2)再写数据库(这两步和原来一样)
(2.5)不再休眠1s,而是往消息总线esb发送一个消息,发送完成之后马上就能返回
这样的话,写请求的处理时间几乎没有增加,这个方法淘汰了缓存两次,因此被称为“缓存双淘汰”法。这个方法付出的代价是,缓存会增加1次cache miss(代价几乎可以忽略)。
而在下游,有一个异步淘汰缓存的消费者,在接收到消息之后,asy-expire在1s之后淘汰缓存。这样,即使1s内有脏数据入缓存,也有机会再次被淘汰掉。
上述方案有一个缺点,需要业务线的写操作增加一个步骤,有没有方案对业务线的代码没有任何入侵呢,是有的,这个方案在《细聊冗余表数据一致性》中也提到过,通过分析线下的binlog来异步淘汰缓存:
业务线的代码就不需要动了,新增一个线下的读binlog的异步淘汰模块,读取到binlog中的数据,异步的淘汰缓存。
提问:为什么上文总是说1s,这个1s是怎么来的?
回答:1s只是一个举例,需要根据业务的数据量与并发量,观察主从同步的时延来设定这个值。例如主从同步的时延为200ms,这个异步淘汰cache设置为258ms就是OK的。
在“异常时序”或者“读从库”导致脏数据入缓存时,可以用二次异步淘汰的“缓存双淘汰”法来解决缓存与数据库中数据不一致的问题,具体实施至少有三种方案:
(1)timer异步淘汰(本文没有细讲,本质就是起个线程专门异步二次淘汰缓存)
(2)总线异步淘汰
(3)读binlog异步淘汰
【文章转载自微信公众号“架构师之路”】
【58沈剑架构系列】主从DB与cache一致性
标签:模块 ref com redirect 技术分享 red src 数据库主从 根据
热心网友 时间:2022-04-10 12:12
编号 真实姓名
1 赵磊
2 兰宇
3 赵罡
4 贾旭
5 叶晓林
6 李成彬
7 丁学笃
8 黄登志
9 高苏
10 张海
11 苏欣
12 毛德树
13 陈镅
14 李天翔
15 黄振华
16 远晖
17 万启芳
18 兰宇
19 陈思岑
20 周玉
21 李惠云
22 李孝钦
23 张欣
24 顾明鸿
25 张秋
26 刘昌琴
27 宋秀英
28 蔡家宏
29 肖霞芳
30 祝万欣
31 余炼康
32 陈金伦
33 邓惜
34 蒋涛
35 李翠勋
36 许建
37 孙晋
38 谢志
39 郭青
40 刘殊瑜
41 曾文书
42 秦艳青
43 张卫东
44 王翠屏
45 肖耀芸
46 黄峻
47 谭仁健
48 陈蕾宇
49 张英浩
50 童俊
51 李忠峻
52 何莉
53 刘海波
54 杨杜林
55 曾绍全
56 王全成
57 万品工
58 安宁
59 陈骏
60 蒋长云
61 李大跃
62 周英
63 徐中武
张振平
65 张琰
66 黄颖
67 方勇
68 涂宏
69 孙丽娟
70 王惠余
71 朱兆文
72 黄波
73 曾建
74 回荻
75 李涛
76 胡晓冰
77 李自华
78 陈静
79 杨雨成
80 宁宏伟
81 刘晋南
82 张文
83 何健雄
84 杨飞
85 袁泽军
86 张咏沃
87 刘文李
88 赵峰
唐国平
90 杨重汉
91 周英明
92 欧阳伟
93 谭利连
94 张琦
95 李南
96 张丽
97 马文忠
98 李应祥
99 郭维凯
100 杨万春
101 彭华宾
102 陈宣东
103 杨晓明
104 赵平
105 王泰
106 荣本雄
107 甘德玉
108 李政
109 刘伟
110 刘继森
111 李健
112 杨文
113 余群英
114 梁发强
115 张佐诚
116 廖明通
117 李欣
118 王茜
119 王红霞
120 袁文华
121 余青
122 李长青
123 易斌
124 张天琪
125 李世红
126 向代钢
127 赖瑾
128 胡月
129 靳艳体
130 黄惠蓉
131 郭金英
132 吴鹏
133 张东超
134 王作英
135 李宗炎
136 方彬
137 李光发
138 王树宇
139 李正林
140 蒙正奎
141 刘天华
142 魏琳
143 董倩
144 刘娟
145 张蓉
146 李飞
147 柳成伟
148 王晓南
149 吕红
150 周玥
151 曾子木
152 王国磊
153 徐莉
154 何登祥
155 周杰
156 胡启蓉
157 何茹
158 徐小沁
159 郭庆
160 余建军
161 陈明
162 李洪
163 邹康宁
1 徐静文
165 郭洪波
166 宋宇
167 周穗如
168 蔡定华
169 付大强
170 王浩
171 李援园
172 胡文晋
173 刘章玉
174 李松勇
175 白和斌
176 夏湘泉
177 周书利
178 杨福荣
179 钟淦
180 夏敬华
181 付中全
182 谢培忠
183 黄小会
184 方赞森
185 宋方婷
186 易勇
187 夏枫
188 杨阳
1 付林
190 王正阳
191 马志平
192 刘海涛
193 秦林
194 刘澎
195 陈邦涛
196 李芳
197 王毅华
198 殷学祥
199 张雪梅
200 敬乃琦
201 廖静
202 徐行
203 杨绍裔
204 黄万民
205 姚世雄
206 陈震华
207 向雪皑
208 李继培
209 脱倩(TUOQIAN)
210 张智言
211 陈久霞
212 辛东向
213 孙仙
214 *
215 王家强
216 郑茂
217 张渝琴
218 汪澜
219 程涛
220 蔡伟
221 朱濉
222 沈剑
223 曾凡龙
224 刘红
225 钟国元
226 刘宏文
227 肖霞
228 李金蔓
229 刘俐
230 谭天真
231 刘萍
232 余树森
233 何炯
234 李世红
235 钟云建
236 王祯远
237 鹿庆晓
238 张红灵
239 肖飚
240 周美琼
241 代明军
242 肖昌燕
243 冯羽
244 柏渝怀
245 刘凤英
246 李茂清
247 高爱平
248 吴伯勇
249 刘中霖
250 冯蓉
251 谢宇
252 裴志丹
253 郭学宁
254 周惠久
255 明继东
256 王国忠
257 何庆国
258 王义均
259 李秀清
260 赵小敏
261 苏显军
262 刘萍
263 曾玲
2 谢小梅
265 艾和平
266 崔雷
267 廖泽明
268 肖法
269 蒲建
270 钟传羽
271 徐安舒
272 王伟虹
273 代华
274 姜拥军
275 哈蓉
276 蒋建军
277 孔令昕
278 何永健
279 肖华
280 高命强
281 陈国华
282 高星
283 李娟
284 苏卫
285 杨磊
286 曹建国
287 陈家银
288 吴蓉
2 将臣利
290 李胜华
291 陈梅
292 糜本浩
293 孙林
294 陈雄
295 刘娅明
296 何宁
297 郑武
298 马英
299 米剑
300 张利
301 刘树坤
302 肖福祥
303 许静
304 胡蓉
305 王芳
306 郭杨杨
307 王正禄
308 马秉红
309 柳艳海
310 温从兵
311 江浩
312 杨菊芳
313 陈幼民
314 马京兴
315 陈勇
316 陈燕玲
317 杨林
318 杨川平
319 陈程
320 邵勇
321 邱文曲
322 曲长新
323 李志梅
324 李寅杉
325 王杰
326 陈绿萍
327 任志华
328 刘莹
329 谢先宾
330 陈忠文
331 陆红英
332 李洪梅
333 韩远冬
334 王晓玲
335 施毅
336 雷启员
337 胡方苹
338 哈蓉
339 夏禹
340 魏西文
341 彭文松
342 廖旭东
343 杨琛
344 蔡江
345 王莉
346 罗钢
347 杨清志
348 林晓彦
349 陈德超
350 吴俊蓉
351 张静怡
352 肖铁祥
353 董莉
354 张秋源
355 张建
356 冷建平
357 朱维立
358 肖健
359 王虹
360 刘强
361 张品耀
362 高建新
363 吴利莉
3 王开亮
365 屈秋志
366 计冬
367 刘友志
368 尹涛
369 李春生
370 黄芳
371 赵绍波
372 张利
373 王慎
374 张春雷
375 王敏
376 黄维
377 吴燕军
378 李泸莎
379 陈志忠
380 李戎
381 罗蜀蓉
382 李晓榕
383 陈黎
384 马力
385 金光东
386 杨仕刚
387 刘睿
388 朱湛
3 张湉湉
390 张晓雅
391 刘巧萍
392 彭建华
393 魏颂
394 涂华钦
395 张云
396 张强
397 朴海艳1
398 唐丽君
399 涂樱鸽
400 童华池
401 罗继明
402 何世家
403 王文蓉
404 罗继明
405 陈帮之
406 戴奇
407 王威
408 黄畅辉
409 胡聃
410 蔡永和
411 刘玮涵
412 郑春南
413 沈燕军
414 胡晓敏
415 谢名灿
416 谢跃芳
417 邓祖林
418 贾全勇
419 郭振华
420 袁孟友
421 杜洪菊
422 王雪
423 金红雨
424 王露
425 黄竹春
426 李思漫
427 代丹
428 肖澍
429 陈晓宇
430 张渝
431 罗毅
432 吴学静
433 贺文
434 宋华清
435 刘平
436 贺华琴
437 于泽华
438 何渝
439 吴继仑
440 张友拴
441 解先生
442 蒲勇
443 高维刚
444 张晋渝
445 任丽丽
446 母金华
447 李立
448 王树红
449 车复周
450 廖欣欣
451 陆德基
452 何永孝
453 李权
454 胡淼
455 冉剑
456 黄雨
457 杜晋襄
458 贺芳
459 周燕琼
460 王婷
461 陈锡岳
462 褚春川
463 彭明勇
4 宋佚
465 何宇
466 张因为
467 邱成建
468 潘莉
469 周志德
470 陈典著
471 贾海涛
472 陈顺祥
473 徐霞
474 余潜
475 肖芸蕾
476 罗露寒
477 夏颖
478 黄长林
479 张宁
480 叶海艳
481 杨莉
482 赵 峰
483 肖迁鸿
484 曾彤
485 秦邦志
486 许宁
487 徐剑
488 张国新
4 朱大桓
490 吴雪丽
491 陈海
492 彭惠琼
493 赖斌
494 钟世礼
495 胡伟光
496 官佳艳
497 邱福玲
498 唐勇
499 周韵
500 李良彬
501 李琳
502 肖明玉
503 常岭松
504 王琳
505 王安国
506 黄强
507 朱松涛
508 伍元顺
509 丁瑞华
510 张剑林
511 殷燕
512 孔诚
513 李登锋
514 张利和
515 涨小兵
516 罗登晋
517 刘玲
518 李晓瑜
519 王勤业
520 王治国
521 刘云丽
522 李丽
523 李振文
524 颜平
525 王晋玲
526 陈景林
527 杨静
528 邓锡全
529 邓建华
530 岳媛
531 张萍
532 刘艳菊
533 陈生清
534 邵雨成
535 李道彬
536 吕霞
537 周立英
538 刘勃
539 郭树英
540 常克瑞
541 黄珊
542 赵晋平
543 陈蓉坤
544 邹瑾
545 周雪
546 曾燕
547 李全
548 马新友
549 邹洁
550 毛小琴
551 黄均
552 王岚
553 郝娟
554 王姗姗
555 曹永
556 王宏
557 魏沁
558 刘彦红
559 刘永福
560 王学锋
561 薛健
562 罗远友
563 黄晓亮
5 邹薇
565 马竞
566 马远达
567 张益
568 钟明
569 杨海艳
570 陈冰
571 龚树容
572 胡守训
573 龚建新
574 刘昌莉
575 李沛
576 李世迪
577 樊楚宇
578 李德森
579 李中海
580 王灵
581 郭连富
582 马晓茹
583 何东林
584 熊洪永
585 兰欣
586 易大荗
587 曾宁
588 曾建
5 陈晓吉
590 王海滨
591 吴炜勤
592 李庆庆
593 陈虹佐
594 周美琴
595 陈祯烈
596 刘华东
597 张国晖
598 李万春
599 王怀松
600 李晓萍
601 李家群
602 吴立旻
603 刘欧
604 许健
605 杨德春
606 廖佩文
607 葛超
608 郑弢
609 毛庆华
610 周灵
611 杜春茂
612 许锐成
613 唐炼
614 陈利娟
615 董澍
616 任冬凯
617 郭哲成
618 彭权
619 曹永澄
620 杜翔
621 陈道美
622 李晓渝
623 陈曦
624 王强
625 杨永东
626 雷健
627 苏中发
628 李扬
629 赵玉萍
630 张扬
631 段缙嘉
632 冯芝邦
633 陈国兵
634 邓骁
635 仇宇
636 陈富全
637 邹鸿鸣
638 罗强
639 常锦昕
0 周宏燕
1 经建
2 吴丽芬
3 王其贵
4 吴凯
5 张鹏
6 饶达章
7 张雪
8 余艳
9 卓玮
650 王久勇
651 蒋光辉
652 王雪萍
653 罗雪梅
654 陈兴蓉
655 牟莉
656 周洋
657 刘金蓉
658 易成燕
659 唐莉萍
660 吴重瑄
661 张明唐
662 李伟琪
663 张自宾
6 陈树鹏
665 秦美容
666 王竹
667 毛艾
668 王浩
669 赵光兵
670 王小丽
671 胡斌
672 王强
673 喻建刚
674 李建冬
675 刘晓东
676 马文丽
677 李婷
678 李晶
679 钟凌宇
680 杨一文
681 刘涛
682 代兰
683 肖子衡
684 杨军
685 邓跃敏
686 郑毅飞
687 孙莉
688 廖晓燕
6 郑泽浩
690 于涛
691 舒晓丽
692 徐昌
693 范强
694 刘飞飞
695 李根泽
696 李德明
697 龙祖军
698 王显政
699 黄杰
700 艾力
701 寻湘涛
702 李云仑
703 李阳
704 刘维峰
705 陈良
706 郭斌
707 肖彩云
708 金凤
709 邓美云
710 李涛
711 叶成驹
712 张俊
713 唐光群
714 黄建康
715 尹小锐
716 玉成
717 *
718 张娜
719 袁克俭
720 李易亮
721 曾毅
722 向洺瑶
723 陈怡
724 刘亚东
725 甘长富
726 刘驰
727 许坤新
728 袁怡芳
729 许有琴
730 任光会
731 杨云英
732 姜晓琴
733 陈映平
734 向从键
735 王红兵
736 陈莉
737 张伟
738 陈新民
739 杜勇
740 杜维裕
741 徐子俊
742 徐会
743 姚碧芳
744 赵琛琦
745 赖非
746 吴丹
747 何瑞
748 熊霓
749 张雅夫
750 张芝绮
751 邱秀蓉
752 张艳
753 赵晓明
754 杨凤
755 吴红兵
756 李娟
757 刘文林
758 夏颖
759 周敏
760 杨毅
761 戴鸿斌
762 熊杰
763 张华
7 陈宇
765 肖亚云
766 张盈娇
767 罗濂新
768 郭星
769 徐兴瑜
770 喻丽红
771 鲁惠清
772 尹亚平
773 龚晓艳
774 王小平
775 陈建光
776 郭永碧
777 谢成伦
778 严振坤
779 冯涛
780 杨峰
781 杜慧兰
782 侯海龙
783 曾祥可
784 龚鲁燕
785 马世琼
786 张咏
787 毛旭春
788 何莉娜
7 唐浪
790 李春莲
791 柴晨
792 王翠蓉
793 李苹
794 唐红
795 黄建
796 安岚
797 刘钧
798 王强
799 秦玉鲲
800 赵燕群
801 杨明锡
802 何伯熈
803 张静
804 孙睿
805 秦玉梅
806 骆强
807 段涛
808 杨永安
809 张琴
810 尹家庆
811 李依桐
812 陈德芳
813 余键
814 邓正明
815 吕阳
816 何欣聪
817 李敏英
818 吴蓉
819 杨洋
820 王银隆
821 包文慧
822 任鸣德
823 金磊
824 刘一杰
825 黄进
826 张力
827 郑红
828 杨兴
829 谢露蓉
830 何春华
831 杜明学
832 湛萍
833 钟瑞红
834 陈渊
835 齐永超
836 李叶菲
837 郑静
838 王媛
839 黄志清
840 曾衍发
841 时川绵
842 王方
843 王启谦
844 罗万辉
845 黄仲黎
846 王伯蓉
847 林桢
848 周启勇
849 肖 钧
850 龚龙
851 端木庆森
852 都玲
853 孟浩
854 施正伦
855 林敏
856 曾彬
857 王元富
858 李莉
859 刘日月
860 边旭东
861 刘柏囡
862 饶远萍
863 曾玲
8 陈绍良
865 王志惠
866 王华刚
867 王丽萍
868 郝正元
869 杨华
870 周军平
871 毛疏梅
872 鄂宇
873 唐虹
874 王孔波
875 张正玉
876 余强
877 卢晓文
878 谢廷荣
879 毛学东
880 罗吉伊
881 包新剑
882 刘和勇
883 陆明
884 林绍平
885 李彬
886 赵哲生
887 杨佳蕾
888 孟雪
8 谢平
0 王洁
1 孙明伟
2 刘汝国
3 邬陈慧
4 陈力
5 古和林
6 申宏林
7 曾蜀蓉
8 王昊
9 刘恬恬
900 左辉
901 康凤华
902 韩先东
903 蒙乃昌
904 车玉玲
905 赖善芳
906 向俊伟
907 陈长才
908 张维
909 杨先林
910 梁文凤
911 杜仕鑫
912 雷艳
913 罗驰
914 何小均
915 王冬珅
916 刘兵
917 刘洁
918 梁永富
919 李植林
920 殷正丽
921 王宏凯
922 付萌
923 徐光慈
924 赵明辉
925 李劼
926 兰品如
927 陈林之
928 薛莉
929 李建
930 杨伟
931 李永生
932 马林
933 周 渝霞
934 李立群
935 夏帆
936 温泉
937 刘馨
938 程晓丽
939 冯金堂
940 车玉珑
941 贾万娇
942 盛静
943 胡航军
944 许阳
945 江静秋
946 何雄
947 张力
948 刘忠淇
949 李波
950 贺德林
951 徐理定
952 文江兵
953 郑敏
954 张博
955 张桂香
956 肖遥
957 杨凡
958 谭亚莉
959 庞娟
960 周力
961 杨洋
962 朱斌
963 李俊
9 林智桂
965 周勇
966 杨旭
967 李代兴
968 周秋兰
969 王伟
970 张淑群
971 黄河
972 郭东阳
973 申健
974 闻莺
975 陈远虞
976 黎怡廷
977 倪伟
978 张才宽
979 卢绍全
980 徐文雯
981 刘显俊
982 凌桂英
983 张颖
984 叶小舟
985 罗永谦
986 卢辉
987 郑家泽
988 李兰
9 耿涛
990 杨启林
991 温蓉
992 王建开
993 何玉生
994 徐庶民
995 钟奕
996 张晓勇
997 张悦虹
998 韩俊鹏
999 陈立宇
1000 王蓉梅
热心网友 时间:2022-04-10 13:30
朋友我也报名了,唉!看你报名是不是在一千以内,之外的把握不大,基本上都够条件,所以是照我们报名先后顺序定的。追问我好像是1200多位吧!~你是多少位啊? 今天出名单了!我下了,看不到,所以求助那份名单<你有没?
热心网友 时间:2022-04-10 15:05
这是个神马啊……