前提:微博有好几亿的注册用户,一些明星、大v粉丝动辄几百万的粉丝,微博的推送的及时性和性能就显得尤为重要。

主要分两种方式:
一.拉 :顾名思义用户自己去拉取自己的关注的用户发送的微博消息
1.某位大v把自己新写得微博发送到一张大表里;
2.关注这位大v的用户遍历自己的关注用id,查询出大v发的消息,得到新信息。
优点:1.数据不多,查询方便
缺点: 大表要存放太多行数据,不能实现

二.推:推送的新微博内容
1.大v发送新的微博,存入数据库;
2.任务中心把新的微博,用redis存储,redis要做集群;
3.会筛选活跃的用户推送;
优点: 1.更加科学,操作更加规范
2.高性能,高可用
缺点: 因为redis做集群,所以系统维护成本高,不宜维护。

微博推送数据结构分析相关推荐

  1. PHp批量推送数据太慢,PHP非阻塞批量推送数据-php教程

    明天看到论坛外面有人问如PHP何批量非梗阻向效劳器推送数据,这里大略总结下. 相干保举:<PHP教程> 一.最简略的方法: 一个剧本同时跑屡次,用参数来跑指定范畴.如果要推送10000用户 ...

  2. 例子 客户端_服务端也是可以主动向客户端推送数据的--WebSocket

    简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议.WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范.WebSocket API也 ...

  3. websocket后台推送数据

    介绍 现在很多网站为了实现即时通讯,所用的技术都是轮询(polling).轮询是在特定的的时间间隔(如每1秒), 由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客服端的浏览 ...

  4. java 推送数据给js,Node.js实现数据推送

    场景:后端更新数据推送到客户端(Java部分使用Tomcat服务器). 后端推送数据的解决方案有很多,比如轮询.Comet.WebSocket. 1. 轮询对于后端来说开发成本最低,就是按照传统的方式 ...

  5. ajax轮询模拟websocket,Ajax轮询和SSE服务器推送数据与websocket模式的区别性学习

    我们试想一下我们做个实时聊天的窗口有几种方法? 在我们不刷新页面并且可以试试更新页面内容的方法 你这时候是不是想到了ajax没错确实可以 Ajax轮询 什么是轮询?顾名思义就是我轮着问你,规定一个时间 ...

  6. RestAPI的进化之路,后端MVVM模式或许来临,通过观察者模式,后端收集前端的GET类请求,主动推送数据变更到前端

    RestAPI的进化之路,后端MVVM模式或许来临,通过观察者模式,后端收集前端的GET类请求,主动推送数据变更到前端 最近几年,前端MVVM模式彻底变革了前端的开发模式,那这股火焰会烧到后端嘛? 我 ...

  7. 前端ajax数据提交到服务器_详解前端如何让服务器主动向浏览器推送数据

    前言 前面我们已经聊了ajax,它的特点是浏览器必须先发起请求,服务器才能给出对应的响应,想一想能不能让服务器主动向浏览器推送数据呢?那么这篇文章我们来聊一聊服务器推送功能. 轮询 假设你现在需要去做 ...

  8. PHp批量推送数据太慢,PHP非阻塞批量推送数据

    今天看到论坛里面有人问如PHP何批量非阻塞向服务器推送数据,这里大概总结下. 相关推荐:<PHP教程> 1.最简单的办法: 一个脚本同时跑多次,用参数来跑指定范围.假如要推送10000用户 ...

  9. flux服务器推消息,服务端主动推送数据,除了 WebSocket 你还能想到啥?

    原标题:服务端主动推送数据,除了 WebSocket 你还能想到啥? 来自公众号: 江南一点雨 在 上篇文章 中,松哥和大家分享了 WebFlux 的基本用法,小伙伴们已经了解到使用 WebFlux ...

最新文章

  1. 调整linux的时钟
  2. VTK修炼之道22:图像基本操作_彩色图像成分提取
  3. 2019河北省大学生程序设计竞赛(重现赛)B 题 -Icebound and Sequence ( 等比数列求和的快速幂取模)...
  4. inittab脚本启动解析 (zz)
  5. javascript Class-based vs. prototype-based
  6. [unity3d]再次修改socket聊天,完美的服务器端
  7. python列表大于60_Python使用filter如何对给定列表中的数字进行过滤,保留大于等于60的数字?...
  8. Httpd总结 :HTTPD的基本概念
  9. 华为mate50会用鸿蒙系统吗,华为Mate50Pro概念机:瀑布环绕屏+鸿蒙系统,就算涨价我也劝你买...
  10. matlab 矩阵平方怎么表示,MATLAB中如何输x的平方
  11. PID控制器、试凑法整定
  12. 新的博客,新的开始。
  13. RuntimeError: Cannot re-initialize CUDA in forked subprocess解决方法之一
  14. MBD(一)-下载包-getstart-raspberry串口设置问题
  15. 怎样使用1M的内存排序100万个8位数
  16. 计算机应用演技,最近快手最火的句子 生活还是需要一点演技的
  17. 折线迷你图怎么设置_Excel如何制作小微型的迷你图?
  18. linux下分区ntfs,简易教程:Linux下NTFS分区的写操作
  19. java outer的使用
  20. c语言程序设计拉丁方阵结构图,C语言实例:拉丁方阵

热门文章

  1. centos7编译安装mysql5.7
  2. Linux部署iwebshop
  3. 基于LabVIEW网络的虚拟测控实验系统设计
  4. 华为手机设置页面黑色_华为手机中超炫酷的来电视频,你设置了吗?
  5. 国内虚拟运营商借SDN布局5G网络
  6. 微型计算机硬件 电子器件,微型计算机的硬件组成.docx
  7. jira linux 一键安装包下载,JIRA使用教程:使用文件包安装JIRA
  8. 微伴企微管家与企鲸客scrm的功能差别
  9. 高校基础数据管理系统数据库代码
  10. js 遍历数组获取某些属性