今天看一篇文章时,提到了微信的群聊是写扩散的,第一次接触到写扩散这个名词,于是去查了下资料,有写扩散就有读扩散嘛

定义如下:

根据上面的定义,我是这样理解的,什么是写扩散,什么是读扩散,要怎么区分他们,区别之处就在于“主动”

写扩散是主动把消息写到订阅者的消息列表里,这样订阅者就不用去我的outbox拉取消息 ,所以当我要是有很多订阅者时,我就要写很多次,这就是上面定义中说的写很重

读扩散是主动去拉取被订阅者的outbox,这样就不需要被订阅者主动写消息到我的消息列表里来,所以当我要是订阅了很多人时,我就要去读取这些人的所有新消息,所以就出现了读很重

我又联想到了数据库中表之间的关系设计了,两个表之间有关联关系,那这个关系该由谁来维护,同样可以用读扩散和写扩散的概念来思考,其实也可以说,表关系的维护设计,是写扩散和读扩散的具体实现。

读扩散和写扩散的理解相关推荐

  1. 架构设计-读扩散和写扩散

    写扩散 用户发消息,气球池,泡泡池等消息池同步写入消息 气球查询走气球池,泡泡查询走泡泡池 相当于数据写入时维护更多的数据池更新多数据源 优点: 数据查询简单,主要是写入维护控制逻辑 不同的数据池独立 ...

  2. [转]微博后台架构浅析——读扩散pull、写扩散push、混合模式(push+pull)——相关cache(redis,memcache)...

    原文地址:http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552013430114959121/ 之前在网上看到关于Twitter.Si ...

  3. 如何开发一个Feeds流系统——写扩散模式为例

    一.了解Feeds流 在学习如何开发Feeds流应用前,我们需要先了解什么是Feeds流. 1. 什么是Feeds流 Feeds流是一个持续更新并展示给用户的信息流.它将用户主动订阅的若干消息源组合在 ...

  4. python中文件读写位置的作用-Python中文件的读写、写读和追加写读三种模式的特点...

    本文主要讨论一下文件的三种可读可写模式的特点及互相之间的区别,以及能否实现修改文件的操作 由于前文已经讨论过编码的事情了,所以这里不再研究编码,所有打开操作默认都是utf-8编码(Linux系统下) ...

  5. 如何读论文?-如何写好科技论文之我见(八)

    如何读论文?-如何写好科技论文之我见(八) 闵应骅 在某网上看到一篇博文,是一位博士谈他的学习经验.说攻读博士学位期间,要读7000篇论文.我吓了一跳,平均一天要读6篇论文呀!太不可思议.不过,读论文 ...

  6. python读写文件的文本模式_Python中文件的读写、写读和追加写读三种模式的特点...

    本文主要讨论一下文件的三种可读可写模式的特点及互相之间的区别,以及能否实现修改文件的操作 由于前文已经讨论过编码的事情了,所以这里不再研究编码,所有打开操作默认都是utf-8编码(Linux系统下) ...

  7. Python中文件的读写、写读和追加写读三种模式的特点

    本文主要讨论一下文件的三种可读可写模式的特点及互相之间的区别,以及能否实现修改文件的操作 由于前文已经讨论过编码的事情了,所以这里不再研究编码,所有打开操作默认都是utf-8编码(Linux系统下) ...

  8. AT89S8253片内EEPROM字节读、字节写、页读、页写驱动代码、注意事项及注释

    在编写AT89S8253片内EEPROM读写驱动程序时,要特别注意数据读写指令MOVX: 当EECON寄存器的EEMEN位置位时,MOVX访问EEPROM: 当EECON寄存器的EEMEN位清零时,M ...

  9. 读代码比写代码难,真的吗?

    关注+星标公众号,不错过精彩内容 来源 | 综合整理知乎内容 上读代码比写代码难,真的吗?来听听别人都怎么说! wsivoky 很多人不明白代码意味着什么,代码意味着要随时理清这一坨: 读代码:找到图 ...

最新文章

  1. Android Studio的配置问题——Intel HAXM is required to run this AVD,VT-x is disabled in BIOS;
  2. 什么是JNDI,SPI,CCI,LDAP和JCA?
  3. 菜鸟裹裹电脑版_【绵阳最新转让】3500低价出售家用制氧机!东芝i5笔记本电脑、索尼微单相机、联想笔记本电脑、奶茶店、服装店转让......
  4. Scikit_Learn介绍及演练
  5. linux虚拟主机_云服务器与虚拟主机的区别
  6. Spark Job Scheduling
  7. Enyim.Caching 客户端配置及示例
  8. 职场小白靠这三招PDF技巧逆袭为职场达人
  9. 解密QQ的MsgEx.db消息文件格式
  10. 华为HCIP(HCNP) RS路由交换认证考试学习心得体会(含考试内容和所占比例、ensp模拟器、221、222、223练习题下载)
  11. c#语言猜数字游戏,C#实现猜数字游戏
  12. 单片机最小系统实现LED灯闪烁
  13. 老司机的奇怪noip模拟T1-guanyu
  14. 电子厂计算机常用英语,电子厂常用英语词汇
  15. 云IDE:Eclipse Che:Eclipse下一代IDE
  16. 自己动手编写ssh登陆管理工具
  17. Dojo JQuery
  18. Jlink V9刷入自动升级固件
  19. 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集
  20. ddos打高防服务器_为何用了高防服务器后服务器依然被DDOS打挂了?高防CDN带你解密...

热门文章

  1. 90网论坛php基础
  2. dojo.io.bind使用详解
  3. p5.js创意编程——Q版人像绘制
  4. java buffer 记事本_GitHub - programmer-zhang/DuangCalender: 简易日历记事本(java+android端)...
  5. python调用系统软件解压_python模块之zipfile
  6. 【转】解决——DBR记录的分区扇区总数溢出
  7. linux lite改中文,Linux Lite 发布 4.0 版本
  8. 太阳能户外摄像头监控器
  9. Polyspaces软件下载安装使用试用
  10. 学手绘太难了?别怕,零基础手绘教程来啦包教包会!