快来了解下小电前端的消息推送

前言

接收消息对于你们来讲应该是个实时都在接触的事情,e.g:前端

  • 微信聊天、通知
  • 钉钉办公、上课(受死吧小学生~)
  • 各类app的推送
  • ...

大部分人应该都被消息给骚扰过,而后选择了关闭通知消息免打扰、甚至删除app等措施。今天讲的是大家最喜欢的骚扰推送消息<img width='30' src="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTr2LXm0bTX-AYm1npW5Xp6RW2EcDSCuMte3iWG3S364z6hoSM4&usqp=CAU">node

为何咱们要作消息推送呢, 主要还不是nodejs入门成本不高做为一个前端也想把消息掌握在本身手里,推送什么、如何推送

1、推送什么

推送包含 主动推送被动推送主动推送是消息推送的难点,这须要根据不一样场景不一样人不一样时机进行不一样推送,业界作的好的例如某头条、某音(平时推送的都还比较符合我的喜爱,刷久了会推让你休息的视频,晚上太晚了会推让你休息的视频 --- 钱给到位,广告随便打<img width='30' src="https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcTr2LXm0bTX-AYm1npW5Xp6RW2EcDSCuMte3iWG3S364z6hoSM4&usqp=CAU">),咱们的目前还没作到这么好的体验,都是统一推送,提醒相关人员查看

主动推送

  1. 每一个工做日早上10:30推送前端资讯到部门群
  2. 每一个工做日提醒你们写日报、一小时后提醒没写的人
  3. 每周最后一个工做日18:30提醒你们写周报
  4. 项目crate mrissue通知对应人进行查看等
  5. ...

被动推送

  1. 输入花名返回用户信息
  2. 查看mr统计数据
  3. ...

2、如何推送

一张思惟导图带你们了解下

images

相关难点

  1. 数据获取程序员

    1. 数据源
    2. 爬虫ip拦截
    3. 获取时间
  2. 数据处理mongodb

    1. 特殊数据维护:第三方接口会有限制,须要有缓存数据方案
    2. 数据维护
    3. 推送前预览
    4. 可视化配置时的处理
    5. ...
  3. 推送docker

    1. 推送渠道接入及按照相应格式推送(不一样平台格式可能不一样)
    2. 防重复
    3. 时间准确性
    4. 系统崩溃
    5. 数据统计出报表
    6. ...

3、技术选型

实现功能的基础上,可选择更加优秀的技术方案进行迭代重构

Frame:Egg.js

为何使用Egg:数据库

  • 提供基于 Egg 定制上层框架的能力
  • 高度可扩展的插件机制
  • 内置多进程管理
  • 基于 Koa 开发,性能优异
  • 框架稳定,测试覆盖率高
  • 渐进式开发

Database:MongoDB

为何使用MongoDB:缓存

  • 面向文档的数据库 – 数据以JSON格式的文档存储。
  • 任意字段的索引
  • 复制和高可用性
  • 自动分片
  • 丰富的查询
  • 就地更新快

Deploy:Docker

为何使用Docker:安全

  • 快速交付和部署 可经过“镜像”来构建容器,经过容器实现高度灵活的自动化交付流程,构建弹性可扩展的系统架构。
  • 安全性与高资源利用 容器之间的是相互隔离的,与底层共享操做系统,性能更加优良,系统负载更低,更充分地利用系统资源。
  • 环境标准化

最后

其实在开发的时候也遇到过很多问题(防重异常、消息没法正常推送、服务崩溃等)、也经历过几回重构,毕竟程序员不在成长路上就在写bug路上,但愿这篇文章可让你们大体了解一下小电前端的消息推送,而后能够互相探讨。微信

后续文章会详细介绍小电的前端推送的实现过程:中间遇到的问题、解决办法、版本更替始末之类的架构

相关文章
相关标签/搜索