一、前端代码策略:域名切换(多域名部署),解决DNS缓存及域名劫持

二、客户端策略

客户端在空闲时ping cdn节点域名列表中的域名,测量延时、丢包等数据。如果延迟 > xxx,丢包 > xxx ,则在本次生命周期内将该域名拉入黑名单,使用网络质量最好的cdn节点

客户端打开页面时:应loadurl('https://' + {{ cdnhost }} + /path/......)。 cdnhost应该根据网络质量进行选择

页面打开页面时,如果同域名跳转:应loadurl('https://' + {{ location.host }} + /path/......)。使用上个页面的host

不过这个方案有两个问题:

1、如果dns本身被污染后指向的ip也是能ping通的,依然会产生异常。如果要准的话可能需要前端布一个固定的小资源来进行判断

2、html域名和资源域名本身就不同的情况比较麻烦,比如页面在a域,资源在b域的话,则无法完成控制。

三、阿里云的httpdns能力

可以利用阿里云的httpdns能力解决,但是webview层面的劫持仍需自己实现

httpdns概述

httpdns + androidwebview

httpdns + ioswebview

阿里云cdn与httpdns配合

httpdns下如何使用cookie

https://mp.weixin.qq.com/s/LGEmNa2qxdjdhy4yY6CN2w

四、客户端与前端的日志关联

客户端的每一次打开的生命周期记录一个openid。

客户端的每一个page/窗口/activity 记录一个sessionid = openid-pageid

客户端日志的每次上报需携带sessionid和openid

客户端打开每一个web页面,需要在url参数上携带client_sessionid = sessionid & client_openid = openid

如果存在client_sessionid,web页的前端上报日志都要携带client_sessionid

五、网络质量统计(基于容错方案1)

客户端每一次打开,通过服务端接口,获取用户的宽带和运营商信息,通过网络切换的hook,更新用户的宽带和运营商信息

页面的cdn节点域名需要进行统一,并保证每个资源都有多个备用节点。由服务端统一下发,客户端进行缓存

客户端在空闲时ping cdn节点域名列表中的域名,测量延时、丢包等数据。如果延迟 > xxx,丢包 > xxx 则结合用户的userid、宽带和运营商信息进行上报。

移动端Hybird的网络层优化策略的更多相关文章

  1. 直播推流端弱网优化策略 | 直播 SDK 性能优化实践

    弱网优化的场景 网络直播行业经过一年多的快速发展,衍生出了各种各样的玩法.最早的网络直播是主播坐在 PC 前,安装好专业的直播设备(如摄像头和麦克风),然后才能开始直播.后来随着手机性能的提升和直播技 ...

  2. .Net中的并行编程-6.常用优化策略

                本文是.Net中的并行编程第六篇,今天就介绍一些我在实际项目中的一些常用优化策略.      一.避免线程之间共享数据 避免线程之间共享数据主要是因为锁的问题,无论什么粒度的锁 ...

  3. Android IOS WebRTC 音视频开发总结(七十)-- 移动端音视频技术优化的七个方向

    最近直播很火,很多朋友对背后的技术比较感兴趣,所以今天我们整理一篇关于移动端视频优化的文章,这篇文章是我朋友在一个技术大会上分享过的,更多内容请关注我们的微信公众号:rtcblacker 视频直播为什 ...

  4. Spark SQL概念学习系列之Spark SQL 优化策略(五)

    查询优化是传统数据库中最为重要的一环,这项技术在传统数据库中已经很成熟.除了查询优化, Spark SQL 在存储上也进行了优化,从以下几点查看 Spark SQL 的一些优化策略. (1)内存列式存 ...

  5. 常见性能优化策略的总结 good

    阅读目录 代码 数据库 缓存 异步 NoSQL JVM调优 多线程与分布式 度量系统(监控.报警.服务依赖管理) 案例一:商家与控制区关系的刷新job 案例二:POI缓存设计与实现 案例三:业务运营后 ...

  6. Hive学习之路 (二十一)Hive 优化策略

    一.Hadoop 框架计算特性 1.数据量大不是问题,数据倾斜是个问题 2.jobs 数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次 汇总,产生十几个 jobs,耗时很长.原 ...

  7. ActiveMQ生产者和消费者优化策略

    一.生产者优化策略  默认情况下,ActiveMQ服务端认为生产者端发送的是PERSISTENT Message.所以如果要发送NON_PERSISTENT Message,那么生产者端就要明确指定. ...

  8. Day7:掌握APICloud应用管理相关服务的配置使用和相关API,包括:应用发布、版本管理、云修复、闪屏广告等。理解APICloud APP优化策略和编码规范;了解APICloud多Widget管理机制和SuperWebview的使用

    主要内容: 1. 应用发布 1.1 云编译 1.2 全包加密 网页全包加密:对网页中全包的html,css,javascript代码进行加密,加密后的网友代码都是不可读的,并且不能通过常用的格式化工具 ...

  9. Hive(六)hive执行过程实例分析与hive优化策略

    一.Hive 执行过程实例分析 1.join 对于 join 操作:SELECT pv.pageid, u.age FROM page_view pv JOIN user u ON (pv.useri ...

随机推荐

  1. 对cookie,session,token,jwt的理解

    对这几个东西有点凌乱了,今天有时间整理下 cookie Cookie的诞生 由于HTTP协议是无状态的,而服务器端的业务必须是要有状态的.Cookie诞生的最初目的是为了存储web中的状态信息,以方便 ...

  2. Django上传文件的那些参数

    # ################## 默认文件上传配置 ######################## from django.core.files.uploadhandler import M ...

  3. [BZOJ 5074][Lydsy1710月赛]小B的数字

    传送门 \(\color{green}{solution}\) 设 \[b_{i}=2^{w_{i}},sum= \sum_{i=1}^{n}{w_{i}}\] 则对于任意\(a_{i}\)都有 \[ ...

  4. 矩阵快速幂--51nod-1242斐波那契数列的第N项

    斐波那契额数列的第N项 斐波那契数列的定义如下: F(0) = 0 F(1) = 1 F(n) = F(n - 1) + F(n - 2) (n >= 2) (1, 1, 2, 3, 5, 8, ...

  5. Spark & Python

    技术文章 https://www.cnblogs.com/yangzhang-home/p/6056133.html 基于Python Spark的推荐系统 https://blog.csdn.net ...

  6. js 常用基本知识

    Object.isObject = function(obj){ return obj != null && typeof obj === 'object' && Ar ...

  7. python __getattribute__、__getattr__、__setattr__详解

    __getattribute__ 官方文档中描述如下: 该方法可以拦截对对象属性的所有访问企图,当属性被访问时,自动调用该方法(只适用于新式类).因此常用于实现一些访问某属性时执行一段代码的特性. 需 ...

  8. Jmeter使用指南----压力测试工具

    来源: https://blog.csdn.net/u012111923/article/details/80705141 https://www.cnblogs.com/st-leslie/p/51 ...

  9. 原子操作类AtomicInteger详解

    为什么需要AtomicInteger原子操作类?对于Java中的运算操作,例如自增或自减,若没有进行额外的同步操作,在多线程环境下就是线程不安全的.num++解析为num=num+1,明显,这个操作不 ...

  10. php查询某个字段指定值的所有条数

    一.查询某个字段指定值的所有条数 以name叫张三的人为例,查询表中叫张三的人的总数 $where['name']='张三'; $count=M('table')->where($where)- ...