写点什么

大前端趋势下 bilibili 网关演化史 - MOSS

  • 2020-02-05
  • 本文字数:879 字

    阅读完需:约 3 分钟

大前端趋势下bilibili网关演化史 - MOSS

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)的基本统一。


内容大纲


  1. 目前大前端(iOS Android Flutter Web)通信协议的基本概述

  2. 典型案例分析: 一则协议不一致弱类型导致的 Bug

  3. 典型案例分析: 一则网络内核为黑盒的排障

  4. 介绍 Protobuf 并阐述大前端的 API 及后端的 Stub 生成的流程

  5. 介绍 Cronet 并阐述多端的技术栈的改造

  6. 介绍 MOSS 结构以及分别在 iOS Android Flutter Web 的实现

  7. 总结: 每个系统使用相同语义的语言,每个系统使用相同的技术栈


听众受益点


  1. 了解 gRPC 于大前端的基本实践

  2. 了解生产中 bilibili 的大前端网关的实现

  3. 学习如何更高性能更通用性的解决多端的不一致性问题


讲师介绍


张忻正


bilibili 主站技术中心 架构师


2014 年加入 bilibili,历经 b 站从单一业务发展到平台的过程。曾负责 iOS 业务组、播放器内核组、移动基础组件组、工程效率组,现担任移动架构师职责。在职期间担任过开源播放器 IJKPlayer maintainer 及 FFmpeg 贡献者、基于 Bazel 重建 iOS 构建系统。












完整演讲 PPT 下载链接


https://archsummit.infoq.cn/2019/beijing/schedule


2020-02-05 19:552252

评论

发布
暂无评论
发现更多内容

软件测试 | 不是已经做了性能测试么,为什么系统一上线就崩溃了?

测吧(北京)科技有限公司

测试

Doris 实现原理之高效存取 varchar 字符串

Baidu AICLOUD

大数据

掌握在测试中精确模拟用户行为的艺术:技术和工具

测吧(北京)科技有限公司

测试

SD-WAN技术助力企业网络应对六大挑战

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

详解ReflectionClass类在PHP反射API中的应用

技术冰糖葫芦

API boy API 文档 pinduoduo API API 性能测试

软件测试概念与体系

测吧(北京)科技有限公司

测试

服务器成本太高,如何确定有效主机容量,节约成本?

测吧(北京)科技有限公司

测试

软件测试 | 如何解读各种性能测试数据和曲线图?

测吧(北京)科技有限公司

测试

软件测试 | 为何测试环境难以搭建与维护?

测吧(北京)科技有限公司

测试

软件测试 | 揭秘设计现实负载测试场景的艺术:实用方法详解

测吧(北京)科技有限公司

测试

软件测试 | 分析和处理海量测试数据集的策略

测吧(北京)科技有限公司

测试

VMware ESXi 6.7U3u macOS Unlocker & OEM BIOS 标准版和厂商定制版 UI fix

sysin

esxi

一键自动化博客发布工具,用过的人都说好(腾讯云篇)

程序那些事

工具 程序那些事 自动发布

时序数据库 vs 实时数据库,一文搞懂!

Apache IoTDB

软件测试 | 简化测试数据生成和管理的复杂性

测吧(北京)科技有限公司

测试

VMware ESXi 6.7U3u macOS Unlocker & OEM BIOS 集成 Realtek 网卡驱动和 NVMe 驱动 (集成驱动版) UI fix

sysin

esxi

程序员对 VSCode 粘性滚动真的不感兴趣吗?

伤感汤姆布利柏

SD-WAN怎样提升Microsoft 365用户体验感

Ogcloud

SD-WAN 企业组网 SD-WAN组网 SD-WAN服务商 SDWAN

软件测试 | 如何选择适合自己业务需求和技术栈的工具?

测吧(北京)科技有限公司

测试

软件测试 | 简历投了一大堆,面试机会没几个?

测吧(北京)科技有限公司

测试

软件测试 | 想做性能测试的你,是否面临以下痛点?

测吧(北京)科技有限公司

测试

软件测试 | 如何找到适合您需求的性能测试工具?

测吧(北京)科技有限公司

测试

mac空间不足怎么办 mac内存满了怎么清理

阿拉灯神丁

MacBook CleanMyMac X mac‘ 电脑软件 杀毒软件

小米面试:如何实现优先级线程池?

王磊

Java 面试

前端性能优化:从系统分析讲到实践策略

秃头小帅oi

云架构系统如何进行大规模性能测试?

测吧(北京)科技有限公司

测试

大前端趋势下bilibili网关演化史 - MOSS_ArchSummit_张忻正_InfoQ精选文章