springboot与kubernetes云原生微服务实战(代码片段)

wei198621 wei198621     2022-12-04     761

关键词:

视频地址  --JK时间

https://www.bilibili.com/video/BV1gf4y1s769/?p=5

git  代码 地址

https://github.com/spring2go/staffjoy

P01 课程介绍-----------------03:35
P02 背景说明----------------09:11
P03 课程目标和主要内容----------------10:16
P04 课程案例需求----------------04:44
P05 课程补充说明----------------07:48
P06 为何采用微服务架构?----------------08:59
P07 架构设计和技术栈选型----------------10:08
P08 数据和接口模型设计:账户服务----------------02:56
P09 数据和接口模型设计:业务服务----------------04:09
P10 Dubbo、Spring Cloud和Kubernetes该如何选型(上)----------------13:04
P11 Dubbo、Spring Cloud和Kubernetes该如何选型(中)----------------04:25
P12 Dubbo、Spring Cloud和Kubernetes该如何选型(下)----------------09:04
P13 技术中台到底讲什么?----------------06:39
P14 Staffjoy项目结构组织----------------06:20
P15 谷歌为何采用单体仓库----------------05:52
P16 微服务接口参数校验为何重?----------------04:20
P17 如何实现统一异常处理?----------------07:32
P18 DTO和DMO为什么要互转?----------------04:41
P19 如何实现基于Feign的强类?----------------15:34
P20 为什么框架层就要考虑分环?----------------06:03
P21 异步处理为何要复制线程上?----------------06:21
P22 为你的接口添加Swagger文档----------------03:34
P23 主流微服务框架概览----------------05:26
P24 网关和BFF是如何演化出来(上)----------------10:36
P25 网关和BFF是如何演化出来(下)----------------08:09
P26 网关和反向代理是什么关系?----------------04:24
P27 网关需要分集群部署吗?----------------04:17
P28 如何设计一个最简网关?----------------08:53
P29 Faraday网关代码解析(上)----------------08:33
P30 Faraday网关代码解析(下)----------------06:36
P31 生产级网关需要考虑哪些?----------------07:24
P32 主流开源网关概览----------------07:29
P33 安全认证架构演进(上)----------------08:07
P34 安全认证架构演进(下)----------------08:38
P35 安全认证架构演进:微服务阶段----------------12:45
P36 基于JWT令牌的安全认证架----------------03:16
P37 JWT的原理是什么?----------------08:01
P38 JWT有哪两种主要流程?----------------07:16
P39 Staffjoy安全认证架构和SSO----------------05:47
P40 用户认证代码剖析----------------17:12
P41 服务调用鉴权代码剖析----------------13:37
P42 如何设计用户角色鉴权?----------------05:30
P43 SpringBoot微服务测试该如何分类?----------------14:34
P44 什么是契约驱动测试?----------------08:21
P45 什么是测试金字塔?----------------06:40
P46 单元测试案例分析----------------10:53
P47 集成测试案例分析----------------11:05
P48 组件测试案例分析----------------06:53
P49 Mock vs Spy----------------06:35
P50 何谓生产就绪(Production Ready)?----------------09:13
P51 SpringBoot如何实现分环境配置----------------08:38
P52 Apollo vs SpringCloudConfig vs K8s ConfigMap----------------11:19
P53 CAT vs Zipkin vs Skywalking(上)----------------11:27
P54 CAT vs Zipkin vs Skywalking(下)----------------10:06
P55 结构化日志和业务审计日志----------------11:59
P56 集中异常监控和Sentry(1)----------------06:39
P56 集中异常监控和Sentry----------------06:39
P57 EFK & Prometheus & Skywalking + K8s 集成架构----------------09:10
P58 本地开发部署架构和软件需求----------------10:14
P59 手工服务部署和测试(上)----------------12:38
P60 手工服务部署和测试(中)----------------18:02
P61手工服务部署和测试(下)----------------14:32
P62 SkyWalking调用链监控实验----------------09:54
P63 Docker和Docker Compose简介----------------12:45
P64 容器镜像构建Dockerfile解析----------------08:45
P65 Docker Compose服务部署文件剖析----------------12:14
P66 将Staffjoy部署到本地Docker Compose环境(上)----------------14:01
P67 将Staffjoy部署到本地Docker Compose环境(下)----------------12:41
P68 到底什么是云原生架构?----------------07:59
P69 Kubernetes背景和架构----------------11:04
P70 Kubernetes有哪些基本概念?(上)----------------08:04
P71 Kubernetes有哪些基本概念?(下)----------------09:09
P72 理解Kubernetes节点网络和Pod网络----------------08:53
P73 深入理解Service和ServiceDiscovery----------------10:40
P74 NodePort-vs-LoadBalancer-vs-Ingress----------------09:55
P75 本地测试Kubernetes部署文件剖析----------------13:10
P76 本地测试Kubernetes环境搭建----------------09:56
P77 将Staffjoy部署到本地Kubernetes环境(上)----------------11:39
P78 将Staffjoy部署到本地Kubernetes环境(下)----------------08:09
P79 生产环境Kubernetes部署文件剖析----------------12:38
P80 阿里云Kubernetes环境创建----------------21:17
P81 将Staffjoy部署到阿里云Kubernetes环境----------------11:37
P82 Kubernetes应用动态配置实验----------------05:19
P83 Kubernetes应用金丝雀发布实验----------------09:36
P84 阿里云资源释放----------------04:06
P85 课程复盘----------------10:01
P86 项目扩展和应用----------------08:15
P87 Account服务CodeReview----------------14:54
P88 Company服务CodeReview----------------10:30
P89 Mail_SMS_Bot服务CodeReview----------------10:23
P90 Faraday服务CodeReview----------------10:53
P91 WhoAmI服务CodeReview----------------05:10
P92 WWW服务CodeReview----------------15:07
P93 前端应用CodeReview----------------16:18
P94结束语----------------06:11

P01 课程介绍-----------------03:35
P02 背景说明----------------09:11
P03 课程目标和主要内容----------------10:16
P04 课程案例需求----------------04:44
P05 课程补充说明----------------07:48

https://github.com/spring2go/staffjoy

 


P06 为何采用微服务架构?----------------08:59
P07 架构设计和技术栈选型----------------10:08

 


P08 数据和接口模型设计:账户服务----------------02:56
P09 数据和接口模型设计:业务服务----------------04:09
P10 Dubbo、Spring Cloud和Kubernetes该如何选型(上)----------------13:04
P11 Dubbo、Spring Cloud和Kubernetes该如何选型(中)----------------04:25
P12 Dubbo、Spring Cloud和Kubernetes该如何选型(下)----------------09:04

 

 


P13 技术中台到底讲什么?----------------06:39
P14 Staffjoy项目结构组织----------------06:20


P15 谷歌为何采用单体仓库----------------05:52
P16 微服务接口参数校验为何重?----------------04:20



public class AccountController 


  //  @PhoneNumber
  public GenericAccountResponse getAccountByPhonenumber(@RequestParam @PhoneNumber String phoneNumber) 
        AccountDto accountDto = accountService.getAccountByPhoneNumber(phoneNumber);
        GenericAccountResponse genericAccountResponse = new GenericAccountResponse(accountDto);
        return genericAccountResponse;
    


    //@Min(0)
    public ListAccountResponse listAccounts(@RequestParam int offset, @RequestParam @Min(0) int limit) 
        AccountList accountList = accountService.list(offset, limit);
        ListAccountResponse listAccountResponse = new ListAccountResponse(accountList);
        return listAccountResponse;
    



   //@NotBlank
    public GenericAccountResponse getAccount(@RequestParam @NotBlank String userId) 
        this.validateAuthenticatedUser(userId);
        this.validateEnv();

        AccountDto accountDto = accountService.get(userId);

        GenericAccountResponse genericAccountResponse = new GenericAccountResponse(accountDto);
        return genericAccountResponse;
    


P17 如何实现统一异常处理?----------------07:32

RestControllerAdvice   --- 统一异常处理

------- 处理 mvc 异常 

public class GlobalErrorController implements ErrorController 



-------处理 rest 异常 
@RestControllerAdvice
public class GlobalExceptionTranslator 


P18 DTO和DMO为什么要互转?----------------04:41

https://github.com/modelmapper/modelmapper


P19 如何实现基于Feign的强类?----------------15:34

 


P20 为什么框架层就要考虑分环?----------------06:03
P21 异步处理为何要复制线程上?----------------06:21

听不懂  20210711


P22 为你的接口添加Swagger文档----------------03:34


P23 主流微服务框架概览----------------05:26


P24 网关和BFF是如何演化出来(上)----------------10:36
P25 网关和BFF是如何演化出来(下)----------------08:09


P26 网关和反向代理是什么关系?----------------04:24


P27 网关需要分集群部署吗?----------------04:17


P28 如何设计一个最简网关?----------------08:53


P29 Faraday网关代码解析(上)----------------08:33
P30 Faraday网关代码解析(下)----------------06:36

没有听懂!!! 20210711


P31 生产级网关需要考虑哪些?----------------07:24
P32 主流开源网关概览----------------07:29


P33 安全认证架构演进(上)----------------08:07
P34 安全认证架构演进(下)----------------08:38

认证: authentication

授权: authorization

会话未超时,用户退出登录

 解决方案:

1. 会话同步复制,所有server 都持有所有session

2.无状态会话, 会话放在浏览器的cookie 中。有安全问题。

3. 集中状态会话,见下图 ,session 放到实时数据库(Redis)中


P35 安全认证架构演进:微服务阶段----------------12:45

 

 


P36 基于JWT令牌的安全认证架----------------03:16


P37 JWT的原理是什么?----------------08:01
P38 JWT有哪两种主要流程?----------------07:16

 

 


P39 Staffjoy安全认证架构和SSO----------------05:47
P40 用户认证代码剖析----------------17:12
P41 服务调用鉴权代码剖析----------------13:37

听不懂  20210711 


P42 如何设计用户角色鉴权?----------------05:30


P43 SpringBoot微服务测试该如何分类?----------------14:34

胖领域模型

瘦领域模型

 


https://junit.org/junit5
https://site.mockito.org

http://wiremock.org

https://www.baeldung.com/java-spring-mockito-mock-mockbean


P44 什么是契约驱动测试?----------------08:21

 

 

 


P45 什么是测试金字塔?----------------06:40

 


P46 单元测试案例分析----------------10:53
P47 集成测试案例分析----------------11:05
P48 组件测试案例分析----------------06:53
P49 Mock vs Spy----------------06:35

 


P50 何谓生产就绪(Production Ready)?----------------09:13


P51 SpringBoot如何实现分环境配置----------------08:38
P52 Apollo vs SpringCloudConfig vs K8s ConfigMap----------------11:19
P53 CAT vs Zipkin vs Skywalking(上)----------------11:27
P54 CAT vs Zipkin vs Skywalking(下)----------------10:06
P55 结构化日志和业务审计日志----------------11:59
P56 集中异常监控和Sentry(1)----------------06:39
P56 集中异常监控和Sentry----------------06:39
P57 EFK & Prometheus & Skywalking + K8s 集成架构----------------09:10
P58 本地开发部署架构和软件需求----------------10:14
P59 手工服务部署和测试(上)----------------12:38
P60 手工服务部署和测试(中)----------------18:02
P61手工服务部署和测试(下)----------------14:32
P62 SkyWalking调用链监控实验----------------09:54
P63 Docker和Docker Compose简介----------------12:45
P64 容器镜像构建Dockerfile解析----------------08:45
P65 Docker Compose服务部署文件剖析----------------12:14
P66 将Staffjoy部署到本地Docker Compose环境(上)----------------14:01
P67 将Staffjoy部署到本地Docker Compose环境(下)----------------12:41
P68 到底什么是云原生架构?----------------07:59
P69 Kubernetes背景和架构----------------11:04
P70 Kubernetes有哪些基本概念?(上)----------------08:04
P71 Kubernetes有哪些基本概念?(下)----------------09:09
P72 理解Kubernetes节点网络和Pod网络----------------08:53
P73 深入理解Service和ServiceDiscovery----------------10:40
P74 NodePort-vs-LoadBalancer-vs-Ingress----------------09:55
P75 本地测试Kubernetes部署文件剖析----------------13:10
P76 本地测试Kubernetes环境搭建----------------09:56
P77 将Staffjoy部署到本地Kubernetes环境(上)----------------11:39
P78 将Staffjoy部署到本地Kubernetes环境(下)----------------08:09
P79 生产环境Kubernetes部署文件剖析----------------12:38
P80 阿里云Kubernetes环境创建----------------21:17
P81 将Staffjoy部署到阿里云Kubernetes环境----------------11:37
P82 Kubernetes应用动态配置实验----------------05:19
P83 Kubernetes应用金丝雀发布实验----------------09:36
P84 阿里云资源释放----------------04:06
P85 课程复盘----------------10:01
P86 项目扩展和应用----------------08:15
P87 Account服务CodeReview----------------14:54
P88 Company服务CodeReview----------------10:30
P89 Mail_SMS_Bot服务CodeReview----------------10:23
P90 Faraday服务CodeReview----------------10:53
P91 WhoAmI服务CodeReview----------------05:10
P92 WWW服务CodeReview----------------15:07
P93 前端应用CodeReview----------------16:18
P94结束语----------------06:11

 

大话云原生微服务篇-五星级酒店的服务方式

...。此专栏的前两篇文章《【大话云原生】煮饺子与docker、kubernetes之间的关系》《【大话云原生】负载均衡篇-小饭馆的流量变大了》欢迎品鉴!一、服务接待中心与微服务网关老婆最近快过生日了,我答应她去旅 查看详情

kubernetes和云原生

1.云原生相关1.1.什么是云原生CloudNative最早是在2013年由Pivotal公司的MattStine提出的。2015年CNCF(CloudNativeComputingFoudation,云原生计算基金会)成立。官方发布的云原生v1.0定义是:“云原生技术有利于各组织在公有云、私有云和混合... 查看详情

Spring Boot 云原生应用程序是不是需要 Spring Cloud Kubernetes?

】SpringBoot云原生应用程序是不是需要SpringCloudKubernetes?【英文标题】:DoIrequireSpringCloudKubernetesforSpringbootcloudnativeapplication?SpringBoot云原生应用程序是否需要SpringCloudKubernetes?【发布时间】:2021-02-1608:51:56【问题描述】:我正在开... 查看详情

kubernetes生态系统与演进路线

Kubernetes的快速演进大大推进了云计算技术的发展,伴随着云原生计算基金会CNCF的诞生、云原生开源项目的孵化,逐渐演化成一个完整的云原生技术生态系统。本文就来介绍一下Kubernetes与CNCF的关系、Kubernetes演进路线和Kub... 查看详情

云原生kubernetes入门详细讲解

目录1、Kubernetes是什么2、Kubernetes不是什么3、Kubernetes架构与分层4、Kubernetes集群架构5、Kubernetes集群组件5.1、K8s在Master上的组件5.2、K8s在Node上的组件6、KubernetesAPI    在云原生技术与生态快速发展的今天,越来越多的IT厂商... 查看详情

云原生技术系列:深入浅出了解kubernetes

导言:先谈谈在企业深度实践Kubernetes后的一些体会:作为一个有过数年微服务编写、运维经历的工程师,我认为使用Kubernetes可以最大化增益微服务的可靠性及服务治理工作。作为一个有过数年在团队提倡和推行DevOps持续交付理... 查看详情

云原生时代,微服务到底应该怎么玩儿?

...能让其他语言体系的开发者们羡慕不已。在云原生时代,Kubernetes快速普及,除了解决微服务所需要的应用编排、伸缩、保活等功能外,Kubernetes里本身还带了服务发现、配置管理、负载均衡和网关。既然这样,那么是否就可以不... 查看详情

云原生之kubernetes在kubernetes集群下的jobs与cronjobs管理(代码片段)

【云原生之kubernetes】在kubernetes集群下的jobs与cronjobs管理一、jobs与cronjobs介绍1.job介绍2.cronjobs介绍二、检查本地kubernetes集群1.检查工作节点状态2.检查系统pod状态三、查询k8s中jobs的相关模块1.查询查询apiVersion2.查询jobs四、k8s中使... 查看详情

」打造基于quarkus的云原生微服务框架实践的理论知识基础

...系列文章主要讲解如何基于Quarkus技术搭建和开发“专为Kubernetes而优化的Java微服务框架”的入门和实践,你将会学习到如何搭建Quarkus微服务脚环境及脚手架,开发Quarkus的端点服务,系统和应用层级的配置介绍与Quarkus... 查看详情

kubernetes学习总结(10)——何为云原生,与kubernetes是什么关系

...是自己的本地数据机房。调度/编排:比如我们熟悉的kubernetes应用/数据服务:后端服务中间件:中间件服务应用代码:云原生应用云原生,一般来说,云原生就一种利用云计算交付模型构建 查看详情

kubernetes学习总结(10)——何为云原生,与kubernetes是什么关系

...是自己的本地数据机房。调度/编排:比如我们熟悉的kubernetes应用/数据服务:后端服务中间件:中间件服务应用代码:云原生应用云原生,一般来说,云原生就一种利用云计算交付模型构建 查看详情

云原生核心技术之:servicemesh(服务网格)

...上百个,即使用上了容器技术方便了其打包部署,使用了Kubernetes进行便捷的容器编排管理,但众多微服务之间往往涉及到复杂的业务通信和服务治理场景。前面的篇章已经总体介绍了云原生技术体系中的‘微服务’、‘容器’... 查看详情

微服务从0开始springboot简单搭建一个微服务项目

...服务,一起学习一起进步。👀本期介绍主要介绍Springboot与SpringCloud的关系 查看详情

微博云原生技术的思考与实践

...用云主机,我们不用再关心基础运维。从云主机到 Kubernetes容器,我们不用再关心机器的管理。云上抽象层级越高,就越少人需要关心底层问题,企业就能够节省大量的人力成本与资源投入。云原生技术就是更高... 查看详情

第四个专栏,kubernetes云原生实战,它来了~

...。之前我在公众号更新过SpringCloudalibaba实战、运维监控、SpringBoot老鸟等系列专栏文章,全网累计100万+阅读,在CSDN的收费专栏也有不少订阅,而且最关键的是还认识了不少好朋友。从今天开始我将开启第四个专栏... 查看详情

kubernetes云原生实战00何为云原生?

...;我是飘渺。从今天开始我将开启第二个专栏系列,即Kubernetes云原生实战何为云原生都2022年了,我相信各位肯定听过云原生这个词,但是究竟什么是云原生,却很少有人能真正说清楚。如果找资料来看,读完... 查看详情

kubernetes云原生实战00何为云原生?

...;我是飘渺。从今天开始我将开启第二个专栏系列,即Kubernetes云原生实战何为云原生都2022年了,我相信各位肯定听过云原生这个词,但是究竟什么是云原生,却很少有人能真正说清楚。如果找资料来看,读完... 查看详情

云计算与云原生—openshift的架构设计

目录文章目录目录前言OpenShiftv3—将Kubernetes“企业”化选择Kubernetes单集群实现多用户、多应用应用部署更简单、更安全运行多类型的应用负载应用程序外部访问OpenShiftv4.0—从构建平台到运营平台使用Prometheus+Grafana进行管理和... 查看详情