读《架构师于小波:魅族实时消息推送架构》总结

原文网址:http://www.csdn.net/article/2015-12-22/2826542

1.系统架构设计。系统架构逻辑上划分,划分为四层,最下面的一个是提供魅族手机的接入。第二层是消息分发服务,主要的作用就是提供上行消息的路由和用户下行消息的路,这边有一个用户路由表。第三层是订阅信息,第四层是存储,包括离岸消息存储,包括订阅消息的存储。

2.手机功耗问题主要涉及两个点,第一个是流量,第二个是电量。先看流量的问题,怎么样解决流量的问题,通过协议选择,现在传统的互联网上,有比较典型的使用通讯协议的话,是这两个协议,XMPP、SIP,这两个协议有很多的优点,第一个是开元组件非常多,如果想快速的搭建一脱系统出来,这两个协议是比较好的选择。不足的地方是协议很复杂,单独的标准文档就有几十页,如果完全把它看完,弄懂,估计要花长的时间,因为这两个协议是基于互联网的,并不是针对移动互联网进行优化的,所以协议是比较重的,像XMPP,有很多无用的标签,我们根本用不到这些标签,包括SIP协议,也有很多头,和XMPP协议差不多的。最重要的一点是非常的耗流量,所以我们就自己定义了IDG的协议,轻量、编解码属于快,是上面两个协议的10倍左右的编解码速度,最重要的一点是节约流量,使用中发现节约流量到50%到70%。

3.下面讲一下有个延迟推送,系统使用过程中,我们发现有些用户对实时性的要求并不是特别的敏感,比如说系统的升级、应用的升级,早几分钟,或者是晚几分钟,并不会影响用户的使用体验。我们对于这种实时性要求不高的消息,可以使得手机在唤醒的状态下才把信息推送下去,我们怎么知道手机处于唤醒状态呢?这个服务端是可以感知得到的,前面讲过手机要维持长连接,就要发心跳,发心跳就要唤醒手机,服务端收到心跳包的时候,再把消息推送下去,这样就可以相对来说降低一点手机的功耗问题。通过这三个点的优化,基本上相对来说是比较完美的解决了手机的功耗问题,不过这个只是其中一步其中一个坑,我们革命还未成功。

4.灰度发布。灰度发布,是用户无感知的发布,还有用户可以平滑的迁移,用户平滑迁移之后,我们做在灰度里面,负载均衡里面也是可以用到这个功能,假设一个集群里面,某一个节点的用户数比较多的时候,可以把负载高的迁一部分用户到负载比较低的节点上面去。

5. 作者介绍:于小波,2011年加入魅族,现在在移动互联网部门,主要从事服务端后台开发工作,专注于系统高并发,分布式等解决方案。 

时间: 2024-12-28 01:02:48

读《架构师于小波:魅族实时消息推送架构》总结的相关文章

读《《Hadoop核心技术》作者翟周伟 :我与Hadoop的不解之缘》总结

原文网址:http://www.csdn.net/article/1970-01-01/2824661 1.Hadoop在百度得使用 Hadoop在百度的应用领域主要包括:大数据挖掘与分析,日志分析平台,数据仓库系统,用户行为分析系统,广告平台等存储与计算服务. 目前百度的Hadoop集群规模已经超过数十个至多,单集群节点数目超过5000台,每天处理的数据量超过8000TB.同时百度在Hadoop的基础上还开发了自己的日志分析平台.数据仓库系统,以及统一C++编程接口,并对Hadoop深度改造,

Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable

酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑海,有郁闷抓狂的,有出成果喜极而涕的,有不知前途在哪儿的迷茫与不安……总的来说,近一年来,不白活,不虚度,感触良多,不是一言两语能说得清道的明的,有时间可以做个总结,下面还是言归正传谈技术吧. 上篇在了解了Hadoop的目录和源码结构后,说好的要啃源码的,那就得啃.也感谢一直以来关注我.支持我的网友

Hadoop基础之初识大数据与Hadoop

前言 从今天起,我将一步一步的分享大数据相关的知识,其实很多程序员感觉大数据很难学,其实并不是你想象的这样,只要自己想学,还有什么难得呢? 学习Hadoop有一个8020原则,80%都是在不断的配置配置搭建集群,只有20%写程序! 一.引言(大数据时代) 1.1.从数据中得到信息 我们看一张图片: 我们知道这个图片上的人叫张小妹,年龄20岁,职业模特.但是如果只有数据没有图片的话,就没有意义的数据了.所以数据一定是在特定的环境下才有意义的. 我们再来看一张图片: 从这张图片分析出: 从纵向分析,

Hadoop Illuminated——Chapter3 Why do I Need Hadoop?

2019-11-25 22:13:53 GitHub:https://github.com/elephantscale/HI-labs/tree/master/hadoop-admin 作者Github:https://github.com/markkerzner 作者Github:https://github.com/sujee 英语好句:It is a minuscule token of thanks from both of us to the Hadoop community 这是我们

Hadoop实战视频教程完整版 完整的Hadoop大数据视频教程

分享一套迪伦老师的完整的Hadoop实战视频教程,教程从学习Hadoop需要的数据库.Java和Linux基础讲起,非常适合零基础的学员,课程最后结合了实战项目演练,理论结合实战,深入浅出,绝对是当前最为完整.实战的Hadoop教程. <Hadoop大数据零基础高端实战培训系列配文本挖掘项目(七大亮点.十大目标)> 课程讲师:迪伦 课程分类:大数据 适合人群:初级 课时数量:230课时 用到技术:部署Hadoop集群 涉及项目:京东商城.百度.阿里巴巴 咨询QQ:1337192913(小公子)

Hadoop小文件解决之道之一 Hadoop archive

简介 hdfs并不擅长存储小文件,因为每个文件最少一个block,每个block的元数据都会在namenode节点占用内存,如果存在这样大量的小文件,它们会吃掉namenode节点的大量内存. hadoop Archives可以有效的处理以上问题,他可以把多个文件归档成为一个文件,归档成一个文件后还可以透明的访问每一个文件,并且可以做为mapreduce任务的输入. 用法 hadoop Archives可以使用archive工具创建,同上一篇讲的distcp一样,archive也是一个mapre

Hadoop中WordCount代码-直接加载hadoop的配置文件

Hadoop中WordCount代码-直接加载hadoop的配置文件 在Myeclipse中,直接编写WordCount代码,代码中直接调用core-site.xml,hdfs-site.xml,mapred-site.xml配置文件 package com.apache.hadoop.function; import java.io.IOException; import java.util.Iterator; import java.util.StringTokenizer; import 

基于Hadoop的数据分析综合管理平台之Hadoop、HBase完全分布式集群搭建

能够将热爱的技术应用于实际生活生产中,是做技术人员向往和乐之不疲的事. 现将前期手里面的一个项目做一个大致的总结,与大家一起分享.交流.进步.项目现在正在线上运行,项目名--基于Hadoop的数据分析综合管理平台. 项目流程整体比较清晰,爬取数据(txt文本)-->数据清洗-->文本模型训练-->文本分类-->热点话题发现-->报表"实时"展示,使用到的技术也是当今互联网公司常用的技术:Hadoop.Mahout.HBase.Spring Data Had

[Hadoop in Action] 第2章 初识Hadoop

Hadoop的结构组成 安装Hadoop及其3种工作模式:单机.伪分布和全分布 用于监控Hadoop安装的Web工具 1.Hadoop的构造模块 (1)NameNode(名字节点) Hadoop在分布式计算和分布式存储中都采用了主/从结构.NameNode位于HDFS的主端,它指导从端的DataNode执行底层的I/O任务.NameNode是HDFS的书记员,它跟踪文件如何被分割成文件块,而这些块又被哪些节点存储,以及分布式文件系统的整体运行状态是否正常. 运行NameNode消耗大量的内存和I

企业级Hadoop 2.x入门系列之一Apache Hadoop 2.x简介与版本_云帆大数据学院

1.1 Hadoop简介 从Hadoop官网获得Hadoop的介绍:http://hadoop.apache.org/ (1)What Is Apache Hadoop? TheApache Hadoop project develops open-source software for reliable, scalable, distributed computing. TheApache Hadoop software library is a framework that allows f