下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 25 | 网关和BFF是如何演化出来的(下)
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

Spring Boot与Kubernetes云原生微服务实践

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

精选留言(9)

  • 2019-07-23
    web应用网关的意义何在?这里不是前后端分离吧?

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

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

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

    1
    1
  • 2019-11-02
    后台管理是一个服务一个后台吗?

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

    1
  • 2019-08-23
    网关可以替代NGINX?

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

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

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

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

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

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

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

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

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

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

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

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

  • 老师讲的清晰

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