![大前端趋势下bilibili网关演化史 - MOSS](https://static001.infoq.cn/resource/image/3e/bf/3e32434828c7680129a8c14b7f3a2dbf.png)
在 ArchSummit 北京 2019 大会上,张忻正讲师做了《大前端趋势下 bilibili 网关演化史 - MOSS》主题演讲,主要内容如下。
演讲简介:
在软件行业,多数端多数架构都选择了使用 HTTP + JSON 的方式进行数据交互。
诚然这套架构在端上,服务端,运维都有了较成熟的基础建设,但是依然存在诸如排障能力弱,缺乏服务端 PUSH 能力,为弱类型做大量的数据容错,以及对安全性和较前沿技术栈的妥协。
多数系统为了实现这些能力,各自分别又造了各自平台上的轮子,甚至为了对齐采取了一些 hook 的手段去进行了较大程度的魔改。
本次分享将带来 bilibili 针对以上问题所实现的基于 gRPC 和 Cronet 所实现的网关 - MOSS,MOSS 通过统一的类 gRPC 的 Framework 实现了网络内核白盒,数据双向流,强类型协议等能力,且大幅解决了连接复用低,流量高,Mock 困难,spam 成本高等问题。
MOSS 通过统一的协议语言 Protobuf 进行大前端(iOS Android Flutter Web)与后端服务的一致性保证,并实现大前端的接口实现及后端的接口 stub。
MOSS 通过统一的网络技术栈 Cronet 进行大前端(iOS Android Flutter Web)的基本统一。
内容大纲:
目前大前端(iOS Android Flutter Web)通信协议的基本概述
典型案例分析: 一则协议不一致弱类型导致的 Bug
典型案例分析: 一则网络内核为黑盒的排障
介绍 Protobuf 并阐述大前端的 API 及后端的 Stub 生成的流程
介绍 Cronet 并阐述多端的技术栈的改造
介绍 MOSS 结构以及分别在 iOS Android Flutter Web 的实现
总结: 每个系统使用相同语义的语言,每个系统使用相同的技术栈
听众受益点:
了解 gRPC 于大前端的基本实践
了解生产中 bilibili 的大前端网关的实现
学习如何更高性能更通用性的解决多端的不一致性问题
讲师介绍:
张忻正
bilibili 主站技术中心 架构师
2014 年加入 bilibili,历经 b 站从单一业务发展到平台的过程。曾负责 iOS 业务组、播放器内核组、移动基础组件组、工程效率组,现担任移动架构师职责。在职期间担任过开源播放器 IJKPlayer maintainer 及 FFmpeg 贡献者、基于 Bazel 重建 iOS 构建系统。
![](https://static001.infoq.cn/resource/image/2e/20/2ea7bf35e9bb563aad15121501d14c20.png)
![](https://static001.infoq.cn/resource/image/a4/14/a4dd4b57639b319c18deb5cf661d5d14.png)
![](https://static001.infoq.cn/resource/image/98/85/982caa0c44fc024f8efd489bb7fbfd85.png)
![](https://static001.infoq.cn/resource/image/05/a3/05c0cd3a8d2fd5c8166633b1c762e8a3.png)
![](https://static001.infoq.cn/resource/image/5c/81/5cd1fa0bf3a790b7c00e0c7379332681.png)
![](https://static001.infoq.cn/resource/image/1b/f5/1b0ed033d8f47f98f5d901876f0826f5.png)
![](https://static001.infoq.cn/resource/image/4c/2e/4c146615b61ba6110624690fe6ffd22e.png)
![](https://static001.infoq.cn/resource/image/3b/2b/3b48ce251eddf4013e6f45e9fb07d82b.png)
![](https://static001.infoq.cn/resource/image/92/11/9265b8a346abcfb7dacb990dbeef6e11.png)
![](https://static001.infoq.cn/resource/image/6e/80/6ee1fc1376935b180a727cd8bba34880.png)
完整演讲 PPT 下载链接:
https://archsummit.infoq.cn/2019/beijing/schedule
评论