什么是架构 架构介绍
架构究竟是什么?如何更好的理解架构。我们知道中国文字博大精深可以说从文字的组成就能理解其含义。架构也不例外 “架构” 是由 “架” 、“构” 组成。
架:建造、搭设、支撑。 简称:整体结构 构:屋宇、供人居住的木、砖瓦构筑物。 简称:组件 整体结构和组件的组合就形成了架构。以 Android 架构为例子一个 APP 通常是有 class(类)组成,而这些 class 之间如何如何组合、相互之间如何发生作用,则是影响这个 APP 本身的关键点。细分的话可以分为类、接口(连接器)、任务流。所谓类就是组成架构的核心 “砖瓦”,而接口则是这些类之间通讯的路径、通讯的机制、通讯的期望结果。任务流则是描述系统如何使用类和接口完成某一项需求比如:一次网络请求。 上面介绍架构中提到了房屋、木头、砖瓦可见架构和建筑有着彼此的联系。
架构设计目的 软件架构目的性大致可分为可扩展性、可定制化、可伸缩、可维护性:
可扩展性: APP 必须能够在用户的 UV/PV 数量快速增加的情况下,保持软件合理的性能。只有这样在快速的从 0 到 1 的需求迭代中才能后顾无忧。
可定制化: 在同一个软件系统中可能面向的用户群体是不同的、多样的,需要满足根据用户群的不同和市场需求的不同进行定制化。比如一个 APP 中某些功能只针对特定用户开放。
可伸缩性: 在新技术出现的时候,一个软件系统应当允许接入新技术,从而对现有系统进行功能和性能的扩展。
可维护性: 软件系统的维护包括两方面,一是修复现有的 bug,二是将新的迭代需求开发到现有系统中去。一个易于维护的系统可以有效地降低人力和物力。
RTC 场景下视频暗场景增强技术 内容简介
RTC 的应用场景具有很强的随机性,用户进入会话时,所处位置可能并没有良好的光照条件,恶劣的光照条件会严重影响视频的体验,进而影响用户之间的沟通和交流。因此,字节 RTC 团队设计了一套视频暗场景增强算法,显著改善了暗光照环境下图像效果,提升实时视频流的质量,进而提升 RTC 的互动体验。
基于边缘计算的 Client-Edge-Server 业务模型实践 内容简介
当前流行的 CS 应用架构采用客户端发起服务请求和云上服务端处理请求的交互模式,这种模型利用了云计算海量、弹性的算力资源优势,可以很好地支持大规模业务的部署和服务。随着短视频、网络直播等场景的快速普及,在这类以视频为主要载体的内容交互形式中,用户不仅仅是数据消费者,同时也是数据的生产者。每时每刻都有大量的用户需要上传海量的音视频数据至云中心的服务端,这对云中心的算力、带宽等资源带来了极大的挑战。
字节跳动边缘计算团队支持在更靠近用户的网络边缘提供通用算力资源服务,基于 Client-Edge-Server 模型,实现将应用功能中部分和用户、数据接入及处理相关的模块下沉至边缘部署,一方面可以协同云中心分担资源瓶颈增加系统服务容量,另一方面实现就近接入和本地服务能力降低网络时延提升用户体验。