3
177

你将收获

理解现代微服务应用架构

理解基于Docker/Kubernetes的云原生交付方法

熟悉Spring/React等现代应用开发技术栈

适用人群

初中级开发人员,后端研发和架构师

课程介绍

通过剖析和展示一个端到端的简化微服务应用案例MovieApp,帮助学员学习理解现代微服务应用和云原生架构实践,内容包括:

  1. 微服务应用架构
  2. 前后分离应用架构
  3. 基于Spring Security + JWT的微服务安全架构
  4. Spring Boot微服务应用开发和测试
  5. 基于React的前端应用开发
  6. Spring Cloud Gateway在微服务架构中的应用
  7. Docker Compose镜像构建和本地应用部署
  8. Kubernetes核心概念和应用部署

同时帮助学员熟悉现代应用开发技术栈, 包括:

  • Spring Boot ~ 开发框架
  • Spring Security ~ 安全框架
  • MyBatis ~ ORM框架
  • JWT ~ 令牌框架
  • React ~ 前端框架
  • MySQL ~ 后端存储
  • Spring Cloud Gateway ~ 微服务网关
  • Zipkin ~ 调用链监控
  • Docker Compose ~ 镜像构建和本地部署
  • Kubernetes ~ 容器调度和部署
项目源码:https://github.com/jskillcloud/MovieApp



课程讨论

老师后面几集为啥看不了啊,可以分享下吗

感谢老师的细心讲解,从最简单的概念到一步一步的操作,让我这种小白很容易理解。

老师讲得好,听起来也挺轻松得。

我发现这个是极客时间云原生的简版

辛苦老师了。我会好好学习的,希望我也能做个合格的架构师!

波波老师:我执行一条命令报这个,我已经配置上了https kubectl cluster-info Kubernetes master is running at https://localhost:6443 To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. Unable to connect to the server: EOF

终于对k8s的多个概念有了个清晰的认识,谢谢老师!

波波老师,JWT如果去刷新过期时间。。。。。

${JWT_SECRET:JWTSuperSecretKey}是什么时候 传入的

同学笔记

  • sskk1118 2020-04-07 21:21:30

    来源:JWT简介 查看详情

    微服务学习视频

  • zhaokejin521 2019-09-10 16:24:08

    来源:后端安全设计 查看详情

    Spring Security基础概念⼀

    • Principal

    主体,执⾏操作的⽤户

    • Authentication

    认证,确认机密信息(如⽤户名/密码)的有效性

    • Authorization

    授权,定义Principal的访问控制策略

    • GrantedAuthority

    授予Principal的应⽤级权限

    • SecurityContext

    安全上下⽂,保存Authentication和其它安全信息

    • SecurityContextHolder

    提供对SecurityContext的访问点

    Spring Security过滤链

    参考:http://www.einnovator.org/document/334/spring-security#web

    AuthSvc⽤户名密码登录认证架构

    JWT认证

    JWT认证⽅法

    ⽅法⼀:通过令牌本⾝,⽆状态,参考MovieSvc

    ⽅法⼆:通过UserDetailsService,参考AuthSvc

    ⽅法三: 通过远程AuthSvc⽤户信息接⼜

     

     

     

     

  • zhaokejin521 2019-09-10 15:59:03

    来源:JWT简介 查看详情

    什么是JWT

            JSON Web Token(JWT)是RFC 7519定义的⼀个开放标准,它定义了⼀种紧凑和⾃ 包含的JSON对象格式,通过它可以在多个实体间安全地传输信息。信息经过签 名,可信任和可校验。主要⽤于认证/SSO和信息交换。 签名⽅式 HMAC~secret RSA ~ public/private key

    类⽐签名⽀票

    两种令牌类型

    透明令牌

    • By Reference Token
    • 随机字符串,⽆法猜测,严格服务器集中校验

    ⾃包含令牌 

    • By Value Token
    • 可以包含⽤户元数据或者声明(claims),⽆状态校验
    • JSON Web Token(JWT)

    JWT令牌结构 

    JWT令牌结构

    流程HMAC

    流程RSA

    流程RSA是用的密钥对来认证的

     

    JWT优劣

    优点:

    • CORS
    • 不需要CSRF保护
    • 易于和Mobile集成
    • ⽆状态校验
      • 不需要分布式会话存储
      • 减少授权服务器压⼒

    不⾜:

    • 信息公开可见
    • 易于受XSS攻击
    • 可能包含过期授权信息
    • 令牌⼤⼩随信息量增长
    • ⽆状态和吊销互斥

    因为不需要cookie所以不牵扯到跨域CORS

    JWT无状态不需要集中式分布式缓存,减少了授权服务器的压力

    只要拿到了串就能界面信息,就可以用base64解析出来

    无状态吊销不及时,还在有效期内,吊销了不及时。如果是透明令牌+集中式校验的方式就可以

没有更多了