写点什么

大前端趋势下 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:552076

评论

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

IBM SPSS Statistics Mac v27.0.1.0中文版 附 激活补丁

彩云

IBM SpsS Statistics 统计分析工具

SOAP 协议和 HTTP 协议:分析比较

Apifox

程序员 后端 HTTP API soap

小程序又给智能电视带来新的一春?

Geek_2305a8

​🔒 一文带你了解多文件混淆加密

分布式基础概念-选举算法

派大星

分布式 Java 面试题

Mac云电视:CloudTV mac破解版 能够接通全球400多个电视频道

Rose

Mac破解软件 CloudTV for Mac Mac云电视播放 CloudTV破解版

万能蓝光播放器:Apeaksoft Blu-ray Player for Mac

Rose

Mac蓝光播放软件 Apeaksoft Blu-ray Player

GitKraken for Mac(Git客户端) v9.10中文版

展初云

git Mac软件 GitKraken

Comsol Multiphysics for Mac(建模仿真软件) v6.2中文版

展初云

Mac COMSOL Multiphysics 物理场仿真软件

macbook屏幕亮度调整工具:Lunar Pro for Mac破解版 附Lunar Pro注册机

Rose

Mac屏幕亮度调整工具 Lunar Pro破解版 Lunar Pro注册机 Lunar Pro下载

使用SpringDataJPA(Hibernate)动态更新数据的正确姿势

redcoder54

Java hibernate Spring JPA

手游APP被攻击了我们如何用游戏盾防御

Geek_f19a80

服务器

【代码可视化实践】代码变更影响分析 | 京东云技术团队

京东科技开发者

代码可视化 企业号11月PK榜 代码变更

Moho Pro 14 for Mac(2D动画制作软件)附注册机v14.1激活版

Rose

Moho Pro 14下载 Moho Pro 14中文版 Moho Pro 14破解 二维动画制作

macbook翻译软件就用Translatium for Mac

Rose

翻译软件 Translatium中文版 Translatium下载 Translatium Mac Mac翻译工具

Wireshark的捕获过滤器

小魏写代码

天翼云以科技硬实力亮相第八届IDC中国数字化转型年度盛典

Geek_2d6073

文心一言 VS 讯飞星火 VS chatgpt (142)-- 算法导论12.1 2题

福大大架构师每日一题

福大大架构师每日一题

平台工程时代的 Kubernetes 揭秘:2023年生产状况报告深度剖析

SEAL安全

Kubernetes k8s 平台工程 企业号11月PK榜

字节2面真题,你能答对几道?

王磊

Java 面试

BetterMouse for Mac(鼠标增强软件)

展初云

Mac BetterMouse Mac鼠标辅助软件

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