zoukankan      html  css  js  c++  java
  • 记录下push推送优化改进点

    一)自主研发的push服务的特点及优势:

    1) 消息回执确认(ack);

    2) 有效期推送(设置消息的有效期);

    3) 精准推送(设置设备组别推送);

    4) 下发任务分解(拆分任务,多进程);

    5) 长连接心跳(tcp长连接、有限状态机fsm).

    二)工作调优和改进的有:

    1) 调整linux系统参数,erlang虚拟机参数以及TCP协议栈网络参数调整;

    2) Monitor 主要用作系统状态,进程、堆栈信息、节点状态、gc、连接数等,以及服务的拉起脚本;

    3) 对收发消息的监控,以及对正在发生的消息可取消发送处理的功能;

    4) mongodb的主从切换驱动完善;

    5) redis支持双写双读及横向扩展(策略);

    6) mnesia数据库的定时任务删除过期数据;

    7) 消息心跳包的测试及优化调整心跳包大小;

    8) redis连接池驱动修改添加池成员超时时间逻辑;

    9) 登录设备和组里设备取交集;

    10) ETStimer 实现类似redisttl过期时间策略;

    11) token的登录,RSA加密算法处理,保证token的合法性;

    12) 多进程接收处理不同queuemq来源的消息;

    13) 添加完善推送渠道——厂商渠道推送(小米、华为、oppo、魅族),提高消息到达率;

    14)redismongomysql主从节点切换的监控;

    15日活数(UV)的统计、消息总量的统计、每条消息的统计、当前在线设备数的统计;

    16)集群机器的动态添加节点,分发策略根据节点数和发送量,按段发送。(分而治之思想)

    17) Android推送,地理库(geoip)的添加处理,获取登录设备的经纬度和城市地域;

    18) Rebar服务构建部署;

    19) 华为推送的http_client的修改(hackney升级、hackney换成ibowsers);

    20) 华为推送的限流大小调整(每秒1000)

    21) 修复http_clienthackney开源驱动的死等的问题;

    22) 接口的发送时间统计;

    23) Android推送,横向扩容(添加server节点),分布式消息分发策略;

    24) 批量存mongo,异步ets批量存储;

    25) 修改批量存mongoredis的策略;

    26) 调整修改获取access_token的方式;

    27) 调整修改mongoconnection,根据创建索引的过期时间删除记录;

    28)接收华为push的回执消息(cowboy);

     

     

  • 相关阅读:
    Android Studio4.1.2中,修改了gradle后,如何在不关闭AS IDE的情况下使gradle进行sync
    Android-studio-ide-201.7042882-windows-4.1.2项目卡在Gradle: Download gradle-6.5-bin.zip
    Intellij IDEA开发环境中Springboot项目无Run ****main()的菜单
    《Bootstrap4Web设计与开发实战》源代码下载
    数字操作题目汇总
    机器学习模型跨平台上线
    koro1FileHeader 注释插件 vscode
    nginx https协议配置
    nginx 配置 不显示版本号
    Asp.Net Core 中的静态文件
  • 原文地址:https://www.cnblogs.com/unqiang/p/10154649.html
Copyright © 2011-2022 走看看