带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(10)

简介: 带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(10)

带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(9)https://developer.aliyun.com/article/1340960?groupCode=taobaotech


请求精简提速-极简调用实践

以MTOP请求作为一个场景,链路主要涉及「MTOP到网络库」的交互,通过对全链路线程模型现状分析,从MTOP发起到网络层接收到会几点会导致请求慢:

 

image.png数据拷贝多:现有网络层机制,网络库存在hook拦截处理,基于NSURLConnection + "URL Loading System" 转发到网络库进行网络传输,涉及多次数据拷贝,中转拦截处理非常耗时。

image.png线程切换多:线程模型过于复杂,完成一次请求频繁切换线程。

image.png异步转同步:原有请求使用一个队列 NSOperationQueue  来处理任务,底层维护的这个队列把请求和响应绑在一起,使得发送之后要等待响应结果回来才会释放,"HTTP Operation" 占住完整的一个HTTP收发过程的全部IO,违背了网络请求的并行性,operation queue容易打满阻塞。

 

 

 

以上几点问题,在大批量请求、系统资源竞争激烈场景下下(冷启动,几十个请求一拥而上),更为明显。

 

image.png

 

(图21 线程模型优化前后-极简调用)

 

改造方案,通过MTOP直接调用网络库接口来获得较大性能体验提升

 

 

image.pngimage.png简化线程模型: 跳过系统URL Loading System hook机制,完成收发数据线程切换,减少线程切换。避免弱网阻塞:数据包Sending 与 Receiving 拆分处理,空口长RT不影响 I/O 并发容量;

image.png汰换废弃API:升级老旧NSURLConnection 到直接调用 网络库API。

 

 

数据效果:可以看到,在系统资源更为紧张环境下,如低端机上优化幅度更为明显。

image.png

(图22 极简调用AB优化幅度)

 

弱网策略优化-Android网络多通道实践

WIFI信号差、弱网环境下,有时候多次重试对成功率提升效果并不明显。系统提供了一种能力,允许设备在WIFI环境下将请求切换蜂窝网卡的能力。网络应用层可以利用该技术,减少请求的超时等一类错误,提升请求的成功率。

 

 

 

在Android 21之后,系统提供了新的获取网络对象的方式,即使设备当前具有通过以太网的数据连接,应用程序也可以使用此方法来获取连接的蜂窝网络。所以,当用户设备同时存在WIFI和蜂窝网络的情况下,可以在特定策略下将不同请求同时调度到以太网和蜂窝网两个网卡通道上,实现网络加速。

 

带你读《2022技术人的百宝黑皮书》——移动域全链路可观测架构和关键技术(11)https://developer.aliyun.com/article/1340958?groupCode=taobaotech

相关文章
|
2天前
|
存储 供应链 安全
区块链技术防止交易被篡改的能力主要依赖于其独特的架构和机制
**区块链技术通过分布式存储、去中心化网络、哈希链接、共识机制及加密算法确保交易防篡改。每个区块含前块哈希,篡改将破坏链式结构;共识机制如PoW、PoS保证交易验证;智能合约增强安全性。多层防护保障数据完整性和安全性,支撑其在多个行业中的应用。**
|
3天前
|
存储 消息中间件 运维
从单体到微服务:架构演进中的技术挑战与解决方案
在软件开发的过程中,系统架构的选择对项目的成功与否起到至关重要的作用。本文将深入探讨从单体架构向微服务架构演进过程中所遇到的技术挑战,并提供相应的解决方案。
17 0
|
4天前
|
运维 Kubernetes 监控
现代后端开发中的微服务架构与容器化技术
随着信息技术的迅猛发展,现代软件开发趋向于采用微服务架构与容器化技术。本文探讨了微服务架构的优势,以及容器化技术如何促进开发、部署和扩展的效率,进而提升应用程序的可靠性和可维护性。
15 0
|
4天前
|
存储 SQL 负载均衡
GaussDB技术解读——GaussDB架构介绍
GaussDB技术解读——GaussDB架构介绍
14 3
|
4天前
|
存储 OLAP 数据处理
GaussDB技术解读——GaussDB架构介绍(三)
GaussDB技术解读——GaussDB架构介绍(三)
13 1
|
6天前
|
机器学习/深度学习 设计模式 人工智能
人工智能和机器学习技术来优化微服务架构
人工智能和机器学习技术来优化微服务架构
19 1
|
6天前
|
运维 Cloud Native 持续交付
云原生技术:现代应用架构的未来
在当今数字化转型的浪潮中,云原生技术成为企业加速创新和扩展业务的核心。本文探讨了云原生技术的定义、优势及其在现代应用架构中的关键作用。通过深入分析容器化、微服务架构和持续交付等关键技术,揭示了云原生技术如何为企业提供灵活性、可靠性和可扩展性,从而实现更高效的软件开发和部署流程。
54 0
|
9天前
|
存储 人工智能 NoSQL
探索数据库技术的奥秘:从基础架构到前沿应用
一、引言 在数字化时代,数据库技术作为信息管理的基石,已经渗透到我们生活的方方面面
|
9天前
|
存储 SQL Cloud Native
揭秘数据库技术的核心与未来:从架构到应用
一、引言 数据库技术是当代信息系统中不可或缺的一部分,它为企业和个人提供了可靠、高效的数据管理解决方案
|
9天前
|
存储 Cloud Native 物联网
数据库技术前沿探索:架构、优化与行业实践
一、引言 在信息化和数字化的浪潮中,数据库技术作为企业核心竞争力的关键要素,其重要性不言而喻