下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 07 | 架构设计和技术栈选型
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 | 结束语
 写留言

精选留言(7)

  • 好好学习,跟着老师的脚步实现个人价值的提升

    作者回复: 谢谢支持!后面继续输出更优质内容,帮助大家提升技术和视野。

    6
  • 2019-07-09
    多租户的问题我们公司目前也遇到了,我们目前的做法是在数据层完全隔离,我们每个租户都有编号(从1开始),前端每次发起请求都会带上这个租户编号,后端查询数据库的时候就在表的后缀加上租户编号,如t_user_detail_1,t_user_detail_2这种,请问波波老师这种做法是否合理?请指教

    作者回复: 多租户有多种实现方式,你的实现方法也是一种,通过表隔离,这种隔离性比一般的逻辑隔离要好,实现上也不复杂。我们之前做过一个多租户消息队列系统,也是通过表隔离。实际还要看业务对隔离性的具体要求。

    1
    5
  • 2019-07-17
    目前我们的SaaS产品采用共享表模式,每个表一个租户Id,然后在数据访问层采用拦截机制,多租户机制在业务层是透明无感知,业务代码开发上和单租户无差异,以后租户多了直接按租户ID段并结合租户用量直接分库,简单方便。

    作者回复: 不错!

    2
  • 2019-09-13
    bot服务那里为什么没有设计使用消息队列,发送通知?

    作者回复: 实际上,bot服务里头不少操作,还有mail/sms服务里头的操作,都是Async方式执行,也就是放在异步线程池里头执行的,相当于消息队列。

    1
  • 2019-07-23
    我们公司经理让从共享表做成每个租户都是一个库,目前我已初步完成,就是租户多的话,到时候数据源会存在很多,这种方式你怎么看,老师

    作者回复: 这也是一种做法,没有特别的问题。数据源多的话需要管理会麻烦一点,但是很多ORM框架(比如JPA/MyBatis等)都支持多数据源的。如果租户数量超过一定量的,你可能需要自己定制研发多租户数据访问层。

  • 2019-07-14
    有如下问题,请杨波老师帮忙解惑,谢谢。
    1.BFF层的主要作用是什么?下边的理解正确吗?
    1).对外暴露API,其它微服务API不对外直接暴露;
    2).调用1个或多个其它微服务API并聚合各微服务API返回的数据,返回给客户端需要的数据结构;

    2.BFF通常会提供API Gateway的功能或是其它功能吗?
    展开

    作者回复: 你的问题在课程第4章《可编程网关设计和实践》会专门讲解,BFF和网关是如何演进出来的,请耐心等待后续课程的讲解。

  • 2019-07-08
    App和MyAccount这两个静态单页应用最终渲染到用户浏览器端,浏览器端发http ajax请求经过网关,然后直接访问Account API和Company API吗?领域服务直接暴露给APP或者H5好吗?(有nginx/网关鉴权和路由转发),中间没有弄个BFF或者很薄的应用服务层之类的?

    作者回复: 对,目前staffjoy设计没有BFF聚合层,因为教学版规模小直接暴露领域服务API,在faraday网关🈶️鉴权,服务控制器层还有进一步鉴权,基本也OK。实践大规模应用是要考虑单独BFF聚合层的,课程第三章[可编程网关设计和实践],会单独讲网关和BFF是如何演进出来,以及相应的分层架构方法。

    2