用过去的智慧引导 AI 变革,《架构师 2024 年(第二季)》开放下载。 了解详情
写点什么

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

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

    阅读完需:约 3 分钟

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

6 月 17 日,极客时间《企业级 Agents 开发实战营》正式上线,10 周掌握企业级 Agents 从设计、开发到部署全流程。

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:552032

评论

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

在线YAML转Properties工具

入门小站

工具

活动预告 | 4月23日,多场OpenMLDB精彩分享来袭,不负周末好时光!

第四范式开发者社区

机器学习 数据库 AI 特征 特征平台

spring-cloud-kubernetes自动同步k8s的configmap更新

程序员欣宸

Java Kubernetes 4月月更

嵌入式Linux下完成LCD屏文字显示(帧缓冲框架)

DS小龙哥

4月月更

超越 iTerm!号称下一代 Terminal 终端神器,用完爱不释手!

沉默王二

vue中使用element-resize-detector

CRMEB

【建议收藏】吐血整理Golang面试干货21问-吊打面试官-1

利志分享

golang golang 面试

Ampere Computing释放观测云“芯”算力,强强联合推动可观测性发展

观测云

可观测性 可观测

EventBridge 集成云服务实践

阿里巴巴云原生

模块三作业

天琪实刚亮

云原生微服务的下一站,微服务引擎 MSE 重磅升级

阿里巴巴云原生

长沙好人

成周

一起学习Python的Sanic框架:路由和蓝图

宇宙之一粟

Python 4月月更 sanic

外包学生管理系统架构设计文档

大眼喵

「架构实战营」

Java类应用高内存问题排查指南

中原银行

Java JVM 问题排查 中原银行 高内存

从mybatis-plus-generator看如何编写代码生成器

Rubble

4月日更 4月月更

被滥用的“架构师”!

博文视点Broadview

在互联网+的背景下,企业如何创新客户服务?

小炮

客户服务

【课程汇总】Hello HarmonyOS系列课程,手把手带你零基础入门

HarmonyOS开发者

HarmonyOS ArKUI 3.0

java培训redis的集群策略

@零度

redis JAVA开发

linux之lscpu命令

入门小站

外包学生管理系统详细架构设计文档

高山觅流水

「架构实战营」

云原生架构下的微服务选型和演进

阿里巴巴云原生

架构实战训练 模块三

小马

「架构实战营」

Java 并发编程总结

Joseph295

模块三:外包学生管理系统-架构设计文档

jiaoxn

「架构实战营」

外包学生管理系统的架构文档

鱼恨水

在线CSV转YAML工具

入门小站

工具

如何构建一个可“持续演进”的可观测体系?| QCon

阿里巴巴云原生

Robot OS驱动开发

轻口味

c++ android Robot 4月月更 AOSP

架构实战营-模块三-作业

michael

架构实战营 #架构实战营 「架构实战营」

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