一、前端代码策略:域名切换(多域名部署),解决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. 原生js 实现旋转木马

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  2. tomcat增加运行内存

    内容为: set JAVA_OPTS=%JAVA_OPTS% -server -Xms2048m -Xmx2048m -XX:PermSize=212M -XX:MaxPermSize=512m 在m ...

  3. 自动更新R软件

    利用R语言命令自动更新R语言软件的版本. install.packages("installr") library(installr) updateR()

  4. [转] HBase 深入浅出

    [From] https://www.ibm.com/developerworks/cn/analytics/library/ba-cn-bigdata-hbase/index.html HBase ...

  5. vue-tree 组织架构图/树形图自动生成(含添加、删除、修改)

    项目中用代码生成组织架构图  有新增,编辑,删除的功能            生成树形图的组件git-hub地址: https://github.com/tower1229/Vue-Tree-Char ...

  6. 后台微信开发入口+关键字 回复等 关注公众号回复 注意获取随机Token 微信的对接校验Token保存到数据库的只是做第一次的校验 其他对微信公众号的操作是去缓存中获取7200S的随机Token

    package com.epalmpay.controller.apiweixin; import com.epalmpay.commom.BaseController;import com.epal ...

  7. select for update和select for update wait和select for update nowait的区别

    CREATE TABLE "TEST6" ( "ID" ), "NAME" ), "AGE" ,), "SEX ...

  8. Jmeter运行badboy录制的脚本

    前言 进行性能测试的站点为:在本地搭建的bugfree 一.badboy录制脚本 1.启动bugfree服务 2.打开badboy进行脚本录制 2.1.打开badboy,按下启动录制按钮,在地址栏中输 ...

  9. ngx.location.capture 只支持相对路径,不能用绝对路径

    ngx.location.capture 是非阻塞的,ngx.location.capture也可以用来完成http请求,但是它只能请求到相对于当前nginx服务器的路径,不能使用之前的绝对路径进行访 ...

  10. php 内存共享shmop源码阅读

    多进程通信的时候,会涉及到共享内存.shmop_open()创建或打开一个内存块 PHP_FUNCTION(shmop_open) { long key, mode, size; struct php ...