手Q、微信等聊天软件,都会实现自己的一套协议用来发送消息,而这个协议一般都是私有协议,不会公开相应的技术细节,所以一般在没有官方支持的情况下,很难做出一套私有协议的模拟发送工具。

新的项目使用了哈雷协议作为接入层,也是一个私有协议。新项目因为项目的特点,需要对后台服务进行监控,技术上来说,必须模拟哈雷接入层的私有协议,然后才能进行相应的监控。与其他私有协议一样,哈雷协议的模拟难度是很大的,这时候该怎么做呢?

哈雷协议介绍

“哈雷深入移动互联网网络应用场景,向移动应用提供完善的最优网络接入托管、 实时消息推送、通用资源下载、App 增量自更新等服务。”

“哈雷 SDK 的网络接入服务主要针对业务前后端频繁、少量的数据收发场景,业务后台 支持HTTP(S)服务、TAF 服务或者支持 jce 格式调用的后台服务。”

哈雷协议主要是面向移动互联网的,官方只提供了Android以及iOS的SDK。App可以通过集成对应的SDK,完成对哈雷协议的使用。

传统的方案

传统的方案在PC上模拟请求,然后校验相应的返回结果。

适用范围:

1、对于公开协议一般比较方便,例如http、smtp等,有各种各样的模拟工具以及开源类库都可以用。

2、对于私有协议一般很困难,除非官方提供支持,否则很难做出PC上的模拟工具。例如我们的哈雷协议,只提供了Android以及iOS的SDK。

优点:

1、PC监控稳定性好;

2、PC性能强大,执行效率高;

3、PC监控扩展性好。

缺点:

1、无论是私有协议还是公有协议都会有一定的开发量;

2、和APP运行时的环境始终有些差异,不能完全代表真实环境;

3、PC上模拟代码以及参数和开发的项目代码以及参数相互隔离,不能及时同步。

思考新的方案

新项目的后台接口监控使用传统的PC上的监控的方案存在两大回避不了的问题:

首先是是开发量的问题:重新做一套PC上的哈雷模拟工具,开发量巨大,开发也不愿意承担这个任务。

第二个是后续维护的问题:后台功能的更改以及协议的升级,对应的PC上的模拟工具都需要再做调整。

所以要不断地思考,尝试寻找新的方案,自己给自己来了一次头脑风暴 。

1、为什么要做后台接口监控?

后台接口监控是针对后台接口做的测试,周期性触发,可以准实时地保证后台接口的功能正常性。服务出现问题后能够在10分钟内发现对应的问题。

2、后台接口监控为什么不能用移动端的UI界面自动化测试来代替?

客户端的UI自动化测试耗时较长,稳定性较差,同时覆盖范围有限,不能满足后台接口可用性的准实时测试。

3、移动端只能做UI自动化测试吗?

移动终端(包括Android和iOS)性能越来越强,扩展性也越来越强,可以说PC能做到的事,理论上在移动终端上都能做到 。

4、后台接口监控不涉及到UI界面测试,只涉及到网络请求测试,移动端就不能做相应的测试吗?

思前想后,确实找不到说不的理由。做一个不用关注界面,只在后台发网络请求的App就可以了 。

5、在移动端做后台接口监控开发量大吗?

哈雷本身就提供了对应的SDK,不用重新开发。而且开发一般采用了MVP架构,既然不要界面,只需要把开发的Model数据层和Presenter层源代码Copy过来就可以直接用了。

6、在移动端做后台接口监控,结果怎么看呢,总不能拿着手机看吧?

目前手机和PC传递数据的方法很多,而且很成熟,可以将移动端的测试结果传送到PC上或者其他平台上查看。

7、在移动设备上运行后台接口监控的定期任务,设备稳定性如何呢?

这个只能说还没人这样做过,不是很清楚。理论上问题不大,即使物理设备有问题,也可以尝试用虚拟机代替。

8、在移动端做后台接口监控发现问题容易定位吗?

这个理论上比PC模拟端更好定位,因为主要代码都是Copy开发同学的,出了问题,那真的是项目代码出的问题。

9、在移动端做后台接口监控,后续功能升级维护麻烦吗?

因为是Copy的开发的代码,功能升级后,再Copy一遍开发的代码就OK了。理论上难度很小。

经过脑暴后,做一个移动端的APP来实现后台接口监控有很多的挑战,但也存在很多优势,可以试着搞一下。

哈雷深入移动互联网网络应用场景相关推荐

  1. 股份制银行互联网理财场景中 TiDB 的选型和应用适配实战

    作者:邹建伟,北京开科唯识技术有限公司 技术专家. 一.互联网理财的兴起 在经济和科技飞速发展的趋势下,相比于以前传统的线下理财模式,互联网理财的模式,因其入围门槛相对较低,选择范围广,加上随时随地用 ...

  2. 全文下载!中国移动《5G+工业互联网应用场景白皮书》

    近日,中国移动发布了<5G+工业互联网应用场景白皮书>. 汇总了:5G+智能工厂.5G+智慧风电.5G+智慧矿山.5G+智慧钢铁.5G+智慧港口五大重点行业的5G应用场景. 下载方式见文末 ...

  3. 深入跨国互联网业务场景,看华为云数智融合元数据如何打破“数据墙”

    大数据查找使用面临的挑战 企业的数据通常有两种类型:作业数据和分析数据.前者在业务运行时使用和生成,支撑业务运转:后者在运营时使用和生成,支撑企业做商业决策.前者是后者数据的来源. 图表 1从作业数据 ...

  4. 5G+工业互联网应用场景大集锦!

    来源:雷锋网 "5G+"火了,5G+医疗.5G+高铁.5G+物流等应用场景不断涌现. " "5G+"火了,5G+医疗.5G+高铁.5G+物流等应用场景 ...

  5. 人工神经网络技术及应用,人工神经网络应用场景

    人工智能应用在哪些方面? 人工智能应用:计算机科学.金融.医院和医药.重工业.顾客服务.1.计算机科学人工智能(AI)产生了许多方法解决计算机科学最困难的问题.它们的许多发明已被主流计算机科学采用,而 ...

  6. 老总让做后台接口监控,我却开发了一个App

    最近投入到了一个新的项目中,是一个新的Android项目,项目涉及到智能聊天相关的功能,所以需要一个很好的接入层,总之肯定不能用通用的http协议来聊天. 手Q.微信等聊天软件,都会实现自己的一套协议 ...

  7. iBeacon让互联网营销进入场景时代

    互联网营销本质就是通过互联网上的各种工具获取线上流量,尽管社交网络.网络视频.搜索让营销方式日益丰富,不过这都只是工具和方法的变化,并未脱离流量本质.不过,进入移动互联网时代,随着iBeacon.LB ...

  8. 年终思路梳理(三)——工业互联网

    接上篇,继续梳理工业互联网相关概念 4. 工业互联网 一方面,工业互联网是以数字化.网络化.智能化为主要特征的新工业革命的关键基础设施,加快其发展有利于加速智能制造发展,更大范围.更高效率.更加精准地 ...

  9. 关系型数据库架构介绍及主流应用场景

    前言 做为目前主流的模型数据库类型,关系型数据库的架构随着业务规模的增长做出相应的变化,本章我们来学习关系型数据库架构的变化以及主流的应用场景. 关系型数据库架构 随着业务规模增大,数据库存储的数据量 ...

最新文章

  1. oracle修改时区无效,Oracle 时区问题
  2. 【图灵】iOS技能书单——入门+进阶+精通
  3. Java String 到底是引用传递还是值传递?
  4. php写出个人所得税,PHP计算个人所得税示例【不使用速算扣除数】
  5. [项目实施失败讨论Case] “凭心而论,在这家公司很敬业的工作了3年多,老板最后给我下的评语,大家都看看吧,千万别和我走同一条路!”(摘自csdn)...
  6. poj 1061 (扩展欧几里德算法)
  7. centos7安装redis的正确姿势
  8. matlab人工势场法三维演示图,运动规划入门 | 5. 白话人工势场法,从原理到Matlab实现...
  9. [Bugku][Web][CTF] 9-15 write up
  10. springBoot+mybatisPlus小demo
  11. 项目经理的三个立足点
  12. 深度卷积神经网络结构演变
  13. Python中单线程、多线程和多进程的效率对比实验
  14. 裸眼3d项目,数字平原是这样制作的
  15. 单片机中数码管的十六进制转换
  16. vue+elementui表格前端导出excel以及自定义导出样式
  17. ANR避免:StrictMode介绍
  18. Emacs快捷键及其它设置
  19. 超能粒子炮·改 HYSBZ - 4591
  20. java struts2 文件下载,Struts2文件下载

热门文章

  1. 【人工智能 AI 2.0】阿里VP贾扬清被曝将离职创业:建大模型基础设施 已火速锁定首轮融资
  2. 服务器低功耗cpu性能,CPU走低功耗 难以解决服务器功耗问题
  3. C语言switch语句的用法详解
  4. hello,intel TBB
  5. 第七次网页前端培训(JavaScript)
  6. [雪峰磁针石博客]软件测试专家工具包1web测试
  7. XP系统封装-2011年
  8. 简单又强大:基于深度学习的短文本向量嵌入方法
  9. android获得键盘高度,Android 获取键盘高度,显示键盘和隐藏键盘
  10. mysql中的四种注释