AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

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

评论

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

Shotcut 25.03 (Linux, macOS, Windows) - 免费开源视频编辑器

sysin

《Operating System Concepts》阅读笔记:p584-p585

codists

操作系统

为什么去中心化云算力平台需要原生数字资产(Token)?

PowerVerse

去中心化 Token 算力

硬盘格式化NTFS好还是exFAT好?ntfs和exfat有什么区别 Mac电脑读取不了移动硬盘怎么办

阿拉灯神丁

文件系统 硬盘 Mac软件 NTFS 磁盘管理器 Tuxera NTFS2024

易立德:国产替代破局之路, ETRX研发套件驱动工业创新升级

科技热闻

构筑数字身份管理体系 赋能企业数字化转型

芯盾时代

远程办公 iam 统一身份认证

《Operating System Concepts》阅读笔记:p552-p579

codists

操作系统

征程 6|工具链 VP 示例中日志打印解读

地平线开发者

自动驾驶 算法工具链 地平线征程6

使用kvmtool运行和调试Linux内核

Linux内核拾遗

虚拟化 Linux内核 kvm kvmtool

智能驾驶中预测模块简介

地平线开发者

自动驾驶 算法工具链 地平线征程6

CAD怎么创建块遮挡效果

极客天地

Maven实战

Java随想录

Java maven

UCAM:AI产品经理的技术课程学些啥?

科技热闻

转型AI:Qgenius(全才)AI产品经理培训课程

科技热闻

原生APP的性能测试和优化

北京木奇移动技术有限公司

软件外包公司 APP外包 APP开发公司

VMware ESXi 8.0U3d macOS Unlocker & OEM BIOS 标准版和厂商定制版,已适配主流品牌服务器

sysin

esxi

开源项目:一行代码,批量 PDF 转 Word 轻松搞定!

程序员晚枫

PDF word 自动化办公

微店商品列表API接口(Micro.item_search)

tbapi

微店API 微店商品列表接口 微店商品列表数据采集

微店API系列:商品详情接口接入与应用

tbapi

微店商品详情接口 微店API 微店商品采集

【HAHM】哈姆点评普通人逆袭机会!hahm哈姆100 美元本金随时退,日赚

web3区块链创业团队DappNetWork

区块链 副业赚钱 web3 哈姆hahm 创业平台

等保测评整改

黑龙江陆陆信息测评部

如何使用 Nginx 代理 Easysearch 服务

极限实验室

nginx easysearch

5分钟手把手教你开发一个MCP服务

巫山老妖

MCP协议

代理 Elasticsearch 服务:INFINI Gateway VS Nginx

极限实验室

nginx elasticsearch Gateway

物料编码原则你知道几个?

积木链小链

企业管理 制造业 物料编码

Nexpose 8.1.0 for Linux & Windows - 漏洞扫描

sysin

Nexpose

大模型 MCP:开启 AI 与现实世界的无缝交互革命

巫山老妖

MCP协议

大模型是否有必要本地化部署?

程序员架构进阶

#架构 4月月更 #大模型 DeepSeek

【HAHM】哈姆点评普通人逆袭机会!hahm 哈姆 100 美元本金随时退,日赚

web3区块链创业团队DappNetWork

副业赚钱 区块链+ 币圈新项目 #居家副业 创业平台

PDF 转图片,一行代码搞定!批量支持已上线!

程序员晚枫

开源 PDF

《Operating System Concepts》阅读笔记:p580-p583

codists

操作系统

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