写点什么

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

评论

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

初来乍到,IT职场人,有些黑话要先了解,太牛了

Java 程序员 后端

前端向后端进发之----Springboot JPA增删改查,外包Java后端开发三年

Java 程序员 后端

怎样实现跨微服务的数据查询?

俞凡

架构 微服务

创业神器-JAVA开源网盘系统推荐,springaop实现原理面试题

Java 程序员 后端

创建和销毁对象-考虑用静态工厂方法代替构造器,熬夜整理出Java后端学习路线

Java 程序员 后端

加班2个月,肛出最强干货之“Spring全家桶,rabbitmq消息队列原理

Java 程序员 后端

卧槽,牛皮了!某程序员苦刷这两份算法PDF47天,java大神需要掌握的技术

Java 程序员 后端

又是一年金九银十,不明白JVM虚拟机还怎么面试-,kafka部署架构

Java 程序员 后端

双非本科怎么了,照样拿到阿里 offer! 分享阿里技术四面 + 交叉面

Java 程序员 后端

十个超酷的java谋生方式,你喜欢吗?,linux网络编程书籍

Java 程序员 后端

单机下如何让Java程序支持百万长连接,你知道吗?,云计算架构师认证

Java 程序员 后端

历时半个多月,支付宝3面+美团4面,基础+进阶+高级

Java 程序员 后端

反正闲的也是闲的,搞点Redis面试真题,再也不担心挂在Redis上

Java 程序员 后端

分布式系统的一致性级别划分及Zookeeper一致性级别分析

Java 程序员 后端

初识动态规划,java程序设计教程第三版机械工业出版社

Java 程序员 后端

制作Docker镜像,用来下载OpenJDK11源码,分享一点面试小经验

Java 程序员 后端

前端必备 Nginx 配置,kafka原理解析

Java 程序员 后端

制作JavaCV应用依赖的基础Docker镜像(CentOS7+JDK8+OpenCV4)

Java 程序员 后端

双非本科毕业的我,为何能在金九银十期间斩获京东、字节

Java 程序员 后端

可爱的程序员哟,你忘掉的是这堆Java锁呢?还是这把死锁呢

Java 程序员 后端

初来乍到,IT职场人,有些黑话要先了解(1),springboot定时任务注解原理

Java 程序员 后端

千万别踩坑,一面就凉透!Java,java语言程序设计基础篇第十一版答案

Java 程序员 后端

刚从蚂蚁金服面试回来,分享我拿到社招Java研发岗offer的过程

Java 程序员 后端

华为架构师亲手操刀,世界五百强都在用的kafka也就那么回事

Java 程序员 后端

又是一些小细节!3面成功入职字节跳动:算法,数据库mysql教程视频教程

Java 程序员 后端

删了HDFS又能怎样?记一次删库不跑路事件,kafka的架构图

Java 程序员 后端

前端同事老是说swagger不好用,我用了knife4j后,同事爽得不行

Java 程序员 后端

力荐:提高千倍效率的一些 Java 代码小技巧,java语言程序设计教程朱晓龙课后答案

Java 程序员 后端

十月一奉上九大核心专题,630页内容,祝你收割大厂offer

Java 程序员 后端

千万级电商项目从0到1到100全过程 涵盖Java程序员不同成长阶段的问题及优选解决方案!

Java 程序员 后端

压箱底的干货!干货!,多线程面试题目

Java 程序员 后端

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