当前播放: 25 | 网关和BFF是如何演化出来的(下)
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:课程介绍和案例需求 (5讲)
01 | 课程介绍
免费
02 | 背景说明
免费
03 | 课程目标和主要内容
免费
04 | 课程案例需求
免费
05 | 课程补充说明
免费
第二章:系统架构设计和技术栈选型 (8讲)
06 | 为何采用微服务架构?
免费
07 | 架构设计和技术栈选型
免费
08 | 数据和接口模型设计:账户服务
09 | 数据和接口模型设计:业务服务
10 | Dubbo、Spring Cloud和Kubernetes该如何选型(上)
11 | Dubbo、Spring Cloud和Kubernetes该如何选型(中)
12 | Dubbo、Spring Cloud和Kubernetes该如何选型(下)
13 | 技术中台到底讲什么?
第三章:服务开发框架设计和实现 (10讲)
14 | Staffjoy项目结构组织
15 | 谷歌为何采用单体仓库(Mono-Repo)?
16 | 微服务接口参数校验为何重要?
17 | 如何实现统一异常处理?
18 | DTO和DMO为什么要互转?
19 | 如何实现基于Feign的强类型接口?
20 | 为什么框架层就要考虑分环境配置?
21 | 异步处理为何要复制线程上下文信息?
22 | 为你的接口添加Swagger文档
23 | 主流微服务框架概览
第四章:可编程网关设计和实践 (9讲)
24 | 网关和BFF是如何演化出来的(上)
25 | 网关和BFF是如何演化出来的(下)
26 | 网关和反向代理是什么关系?
27 | 网关需要分集群部署吗?
28 | 如何设计一个最简网关?
29 | Faraday网关代码解析(上)
30 | Faraday网关代码解析(下)
31 | 生产级网关需要考虑哪些环节?
32 | 主流开源网关概览
第五章:安全框架设计和实践 (10讲)
33 | 安全认证架构演进:单块阶段(上)
34 | 安全认证架构演进:单块阶段(下)
35 | 安全认证架构演进:微服务阶段
36 | 基于JWT令牌的安全认证架构
37 | JWT的原理是什么?
38 | JWT有哪两种主要流程?
39 | Staffjoy安全认证架构和SSO
40 | 用户认证代码剖析
41 | 服务调用鉴权代码剖析
42 | 如何设计用户角色鉴权?
第六章:服务测试设计和实践 (7讲)
43 | Spring Boot微服务测试该如何分类?
44 | 什么是契约驱动测试?
45 | 什么是测试金字塔?
46 | 单元测试案例分析
47 | 集成测试案例分析
48 | 组件测试案例分析
49 | Mock vs Spy
第七章:可运维架构设计和实践 (8讲)
50 | 何谓生产就绪(Production Ready)?
51 | Spring Boot如何实现分环境配置
52 | Apollo vs SpringCloudConfig vs K8s ConfigMap
53 | CAT vs Zipkin vs Skywalking(上)
54 | CAT vs Zipkin vs Skywalking(下)
55 | 结构化日志和业务审计日志
56 | 集中异常监控和Sentry
57 | EFK & Prometheus & Skywalking + Kubernetes 集成架构
第八章:服务容器化和Docker Compose部署 (10讲)
58 | 本地开发部署架构和软件需求
59 | 手工服务部署和测试(上)
60 | 手工服务部署和测试(中)
61 | 手工服务部署和测试(下)
62 | SkyWalking调用链监控实验
63 | Docker和Docker Compose简介
64 | 容器镜像构建Dockerfile解析
65 | Docker Compose服务部署文件剖析
66 | 将Staffjoy部署到本地Docker Compose环境(上)
67 | 将Staffjoy部署到本地Docker Compose环境(下)
第九章:云原生架构和Kubernetes容器云部署 (17讲)
68 | 到底什么是云原生架构?
69 | Kubernetes背景和架构
70 | Kubernetes有哪些基本概念(上)
71 | Kubernetes有哪些基本概念(下)
72 | 理解Kubernetes节点网络和Pod网络
73 | 深入理解Service和ServiceDiscovery
74 | NodePort vs LoadBalancer vs Ingress
75 | 本地测试Kubernetes部署文件剖析
76 | 本地测试Kubernetes环境搭建
77 | 将Staffjoy部署到本地Kubernetes环境(上)
78 | 将Staffjoy部署到本地Kubernetes环境(下)
79 | 生产环境Kubernetes部署文件剖析
80 | 阿里云Kubernetes环境创建
81 | 将Staffjoy部署到阿里云Kubernetes环境
82 | Kubernetes应用动态配置实验
83 | Kubernetes应用金丝雀发布实验
84 | 阿里云资源释放
第十章:项⽬复盘、应用和扩展环节 (2讲)
85 | 课程复盘
86 | 项目扩展和应用
第十一章:附录 Staffjoy 项目源代码解析 (8讲)
87 | Account服务
88 | Company服务
89 | Mail、SMS和Bot服务
90 | Faraday服务
91 | WhoAmI服务
92 | WWW服务
93 | 前端应用
94 | 结束语
25 | 网关和BFF是如何演化出来的(下)

25 | 网关和BFF是如何演化出来的(下)

杨波
前携程/拍拍贷技术总监,微服务技术专家
94讲 约900分钟4851
单独订阅¥199
2人成团¥89
4
登录 后留言

精选留言(9)

  • 王德宝@me
    web应用网关的意义何在?这里不是前后端分离吧?

    作者回复: 前后分离并不是说就没有Web应用了,因为有遗留应用的问题。很多互联网公司都是既有传统Web应用,同时又有新的前后分离应用,所以这些公司一般既有API网关,也有面向遗留Web应用的反向代理,也有一些公司完全是前后分离的,没有传统Web应用。

    2019-07-23
    1
    2
  • Geek_9695b4
    请问下,BFF层和微服务层是否可以合并,我们公司现在业务代码都写在微服务层的。

    作者回复: BFF层和微服务层的这种划分是逻辑性的,不是物理性的。公司可以根据业务规模灵活划分,比如早期并不严格区分,BFF层和微服务合并在一起,等到了一定规模再考虑区分开,让架构更加清晰规范。

    2019-08-01
    1
    1
  • ZOU志伟
    后台管理是一个服务一个后台吗?

    作者回复: 你指的是哪一种后台管理?如果是业务的后台管理,一般看业务需求,比如电商后台管理,这个肯定不是每个服务一个后台。还有像Spring Boot Admin这种管理界面,这个也可以只部署一个,它可以监控其它的Spring Boot应用和实例。

    2019-11-02
    1
  • 王杰
    网关可以替代NGINX?

    作者回复: nginx可以作为网关用,例如kong可以认为是扩展版的nginx,专门针对微服务api场景;nginx的功能也可以由现代云原生网关(或称反向代理)代替,例如traefik和envoy等。

    2019-08-23
  • 李盛杰
    老师 在V3和V4的架构图上 网关是直接和BFF层交互的 但是网关的路由功能怎么又会路由到后端的微服务上去呢

    作者回复: 你好,网关和后台服务(包括BFF)的反向路由实现方式有很多,简单的可以静态配地址,也可以引入服务注册中心,比如Eureka等。

    2019-08-17
  • 🐛
    老师,BFF层可不可以理解为,为不同无线应用做数据处理的一个服务?

    作者回复: 课程中讲了,BFF的核心作用是聚合裁剪,所以通常也叫聚合层。

    聚合:将多个后台基础服务聚合成一个服务,例如首页需要同时展示分类和产品,那么BFF聚合服务就要聚合后台的分类服务和产品服务,提供一个统一的聚合后的服务给前端页面展示。

    裁剪:后台提供的基础服务一般比较通用(或者说字段比较多),那么针对不同的用户体验(PC,手机,PAD),BFF聚合服务就要对后台服务进行适当的裁剪,比如手机屏幕小,需要多裁剪掉一些字段,而PC屏幕大,就少裁剪掉一些字段。

    2019-08-16
  • 🐛
    老师,您好,v4里面的网关层是把H5网关+无线网关等等,每种网关一个节点放在一起作为一个集群了吗?还是说每种网关部署多个节点然后放在一起形成一个大集群?

    作者回复: 不是一个大集群,而是分集群部署,比如h5网关单独一个集群,无线网关单独一个集群,因为针对不同的场景,网关的功能和配置也会有不同。

    2019-08-16
  • 小蛋壳
    老师好,client可以直接调用微服务吗?还是说必须要经过bff转发或者聚合。 如果需要bff转发,那这个bff要实现的就太多了,而且和微服务接口大部分重合。

    又或者一部分服务调用bff,一部分直接调用微服务。

    作者回复: client可以不经过BFF直接调用内部微服务,这个主要看企业微服务复杂度和规模,规模小,前端应用形态不复杂的话,未必需要BFF层。如果规模大,前端应用形态很多,就要考虑独立BFF层,这样架构职责更清晰分明,系统更加灵活易于扩展。

    2019-08-02
  • 老王的老李头
    老师讲的清晰

    作者回复: 谢谢支持!加油!

    2019-07-23
收起评论
看过的人还看
Elasticsearch核心技术与实战

阮一鸣  eBay Pronto平台技术负责人

100讲 | 16911 人已学习

拼团 ¥99 原价 ¥129
从0开始学架构

李运华  资深技术专家

59讲 | 39228 人已学习

¥99
微服务架构实战160讲

杨波  拍拍贷研发总监、资深架构师、微服务技术专家

171讲 | 10064 人已学习

拼团 ¥199 原价 ¥299
MySQL实战45讲

林晓斌  网名丁奇,前阿里资深技术专家

48讲 | 44076 人已学习

拼团 ¥79 原价 ¥99