Spring Boot 与 Kubernetes 云原生微服务实践
杨波
前携程 / 拍拍贷技术总监,微服务技术专家
28227 人已学习
新⼈⾸单¥98
课程目录
已完结/共 94 讲
第一章:课程介绍和案例需求 (5讲)
第十章:项⽬复盘、应用和扩展环节 (2讲)
第十一章:附录 Staffjoy 项目源代码解析 (8讲)
时长 14:53
时长 10:29
时长 10:52
时长 05:09
时长 15:06
时长 16:17
Spring Boot 与 Kubernetes 云原生微服务实践
登录|注册
留言
8
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 41 | 服务调用鉴权代码剖析
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 背景说明
03 | 课程目标和主要内容
04 | 课程案例需求
05 | 课程补充说明
06 | 为何采用微服务架构?
07 | 架构设计和技术栈选型
08 | 数据和接口模型设计:账户服务
09 | 数据和接口模型设计:业务服务
10 | Dubbo、Spring Cloud和Kubernetes该如何选型(上)
11 | Dubbo、Spring Cloud和Kubernetes该如何选型(中)
12 | Dubbo、Spring Cloud和Kubernetes该如何选型(下)
13 | 技术中台到底讲什么?
14 | Staffjoy项目结构组织
15 | 谷歌为何采用单体仓库(Mono-Repo)?
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安全认证架构和SSO
40 | 用户认证代码剖析
41 | 服务调用鉴权代码剖析
42 | 如何设计用户角色鉴权?
43 | Spring Boot微服务测试该如何分类?
44 | 什么是契约驱动测试?
45 | 什么是测试金字塔?
46 | 单元测试案例分析
47 | 集成测试案例分析
48 | 组件测试案例分析
49 | Mock vs Spy
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 集成架构
58 | 本地开发部署架构和软件需求
59 | 手工服务部署和测试(上)
60 | 手工服务部署和测试(中)
61 | 手工服务部署和测试(下)
62 | SkyWalking调用链监控实验
63 | Docker和Docker Compose简介
64 | 容器镜像构建Dockerfile解析
65 | Docker Compose服务部署文件剖析
66 | 将Staffjoy部署到本地Docker Compose环境(上)
67 | 将Staffjoy部署到本地Docker Compose环境(下)
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 | 阿里云资源释放
85 | 课程复盘
86 | 项目扩展和应用
87 | Account服务
88 | Company服务
89 | Mail、SMS和Bot服务
90 | Faraday服务
91 | WhoAmI服务
92 | WWW服务
93 | 前端应用
94 | 结课测试&结束语
登录 后留言

全部留言(8)

  • 最新
  • 精选
而立斋
服务间调用的约定,是双方事先沟通好的,这块儿总感觉怪怪的。有其他实践方式吗

作者回复: 事先约定传递http header进行鉴权是一种简单方式。其它更严格的方式有:1). ip白名单方式,服务器端通过过滤器filter校验客户端ip是否在授权范围内。2). 运维网段隔离,通过运维手段隔离网段,例如支付服务在独立隔离生产网段内,且只有白名单内ip可以访问。3). 通过内部反向代理集中鉴权,服务之间调用必须经过内部反向代理(例如nginx),然后在nginx上配授权规则。4). 通过ServiceMesh实现服务授权,可以实现细粒度的流量权限控制。

2019-08-08
3
7
Geek_fa112f
服务间调用 需要经过网关吗,如果不经过 ,调用日志怎么记载,日志比较分散了。

作者回复: 服务之间调用可以经过集中的代理或网关,这样方便做一些集中安全和监控治理,但是有多一跳性能问题和单点问题(代理或网关挂);也可以不经过集中代理或网关,而是直连,这样性能更好,但是不容易做集中治理,这时候一般需要通过客户端做负载均衡和监控/日志数据埋点,阿里dubbo是直连的典型服务框架。实践中,两种方案都有成功落地案例。现代k8s + istio service mesh方案,本质上是通过代理进行集中治理的。

2020-11-12
2
2
cion
header作为方法参数不好,有一点耦合的感觉,能透明化处理更好一些

作者回复: 透明化处理需要底层网络支持,可以考虑servicemesh。

2020-03-27
1
future
istio怎么做这个,有资料吗

作者回复: 看这里: https://istio.io/latest/docs/concepts/security/ 另外,我的新课《分布式系统案例课》,也会讲到ServiceMesh/istio这块,欢迎关注。

2020-07-27
soong
目前在多个服务间的鉴权以服务为主体,未有以用户角色或单项权限控制来进行设计,不知道对这一块的实现,有些什么模型参考,以及实现的指南!集中控制,容易与服务的变化脱离;分散到服务,又不好维护与用户的关联!

作者回复: 和用户关联就和业务耦合了,必然需要在框架/业务层引入复杂性。 目前比较干净的非侵入和业务无关的做法一般需要运维网络层支持,ServieMesh可以做到服务细粒度权限控制,可以尝试。

2020-03-29
wind
根据userId操作且需认证的接口,是否可以不传参而是直接获取hearder里面的呢

作者回复: 没有理解你的具体问题是什么,可否详细说明?

2020-01-06
2
独钓寒江雪
这个不全部偶尔在一起么。通过注解写死的方式。

作者回复: 你好,能否具体解释下哪里有耦合?你的建议是? 另外这个项目主要是学习演示用,权限比较简单,实际可以设计更灵活。

2019-11-28
xj_zh
权限业务耦合了啊

作者回复: 你好,具体怎么耦合了?另外这个项目主要是学习演示用,权限比较简单,实际可以设计更灵活。

2019-11-28
2
收起评论