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 云原生微服务实践
登录|注册
留言
15
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 60 | 手工服务部署和测试(中)
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 | 结课测试&结束语
登录 后留言

全部留言(15)

  • 最新
  • 精选
xj_zh
老师,可以分享下git prompt配置吗?看着很酷炫。

作者回复: 没有特别的git配置,只是用了https://github.com/ohmyzsh/ohmyzsh,缺省配置。

2019-12-01
1
大维
springboot是怎么读取到根目录下的config/application.yml文件的呢?

作者回复: 这个springboot支持的外部集中配置机制,可以参考下面文档24.3节: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

2019-08-23
2
1
favoorr
这里应该加个 shell 来一键启动,要不然好麻烦

作者回复: 嗯,可以加一个shell简化启动,课程的目的是演示纯手工启动繁琐,对比后续用docker compose或k8s一键部署的方便性。

2019-08-20
1
arch
通过发布工具 (jenkins、jenkins-x)等,简化发布流程,一个一个启动,太麻烦了

作者回复: 嗯,后续课程会给出一个CI/CD持续交付的案例。

2020-03-22
Geek_1380b5
Switchhosts的功能能不能通过修改Windows系统的host文件来实现,这样是不是不用装switchhost了

作者回复: 可以直接改win host文件,但是不如switchhost方便。

2020-02-17
Ray⏳
老师您好,run bot那个module有问题: Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 05-02-2020 17:54:16.233 [restartedMain] ERROR o.s.boot.SpringApplication.reportFailure - Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'alertController': Unsatisfied dependency expressed through field 'alertService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'alertService': Unsatisfied dependency expressed through field 'companyClient'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xyz.staffjoy.company.client.CompanyClient': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: RequestParam.value() was empty on parameter 1 at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1378) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:575) at

作者回复: 这个问题之前有人报过,估计和编译环境有关,建议尝试在IDE里头设置-parameter编译参数,参考: https://stackoverflow.com/questions/44313482/feign-client-with-spring-boot-requestparam-value-was-empty-on-parameter-0

2020-02-05
2
纳川
老师,您哪个终端关键字提示如何搞的,我的都是一个颜色

作者回复: 我用的这个: https://github.com/ohmyzsh/ohmyzsh 缺省配置即可

2019-12-23
循序渐进
老师 这个课程有没有交流群呀? 为什么我启动mail的时候就不行呢?获取不到配置文件的属性。 ERROR io.sentry.SentryClientFactory.resolveDsn - Error creating valid DSN from: '${SENTRY_DSN}'. java.lang.IllegalArgumentException: Illegal character in path at index 1: ${SENTRY_DSN} at java.net.URI.create(URI.java:852) at io.sentry.dsn.Dsn.<init>(Dsn.java:41)

作者回复: 配置文件(https://github.com/spring2go/staffjoy/blob/master/config/application.yml.example)需要修改文件名,修改方式在项目(https://github.com/spring2go/staffjoy)readme的[如何运行]部分有说明。 如果还有问题,你直接把application.yml.example里头sentry-dns的值复制到mail服务对应配置文件里头去,其它配置如有需要也可以这样直接复制。 交流群可以加我微信(bulldog2015),说明来自极客时间。

2019-11-20
阿宝
本地IDE启动bot-svc时,总是报这个错,这个是什么原因? Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 06-09-2019 08:30:46.906 [restartedMain] ERROR o.s.boot.SpringApplication.reportFailure - Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'alertController': Unsatisfied dependency expressed through field 'alertService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'alertService': Unsatisfied dependency expressed through field 'companyClient'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xyz.staffjoy.company.client.CompanyClient': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: RequestParam.value() was empty on parameter 1 at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1378) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:575)

作者回复: 很奇怪,网上找了一下可能和编译设置或者feign版本有关,可以尝试在ide里头加-parameters编译参数: https://stackoverflow.com/questions/44313482/feign-client-with-spring-boot-requestparam-value-was-empty-on-parameter-0 或者把本地缓存的maven cache全清理掉重新加载。

2019-09-06
2
王杰
在启动单页应用时候 环境Windows 在运行npm install 没问题,在运行npm start 命令后显示,失败 ERROR in ./src/components/NotificationManager/index.js D:\learn_code\staffjoy\frontend\myaccount\src\components\NotificationManager\index.js 6:1 error Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style 13:5 error Expected linebreaks to be 'LF' but found 'CRLF' linebreak-style 29:45 error Expected linebreaks to be 'LF' but found 'CRLF' l ✖ 60 problems (60 errors, 0 warnings) [0] ./~/favicons-webpack-plugin/lib/favicons.js?{"outputFilePrefix":"assets/icons/","icons":{"android":true,"appleIcon":true,"appleStartup":true,"coast":false,"favicons":true,"firefox":true,"opengraph":true,"twitter":true,"yandex":false,"windows":true},"background":"#fff","persistentCache":true,"appName":"Staffjoy | App"}!./staffjoy-favicon.png 5.92 kB {0} [built] Child html-webpack-plugin for "index.html": chunk {0} index.html 542 kB [rendered] [0] ./~/html-webpack-plugin/lib/loader.js!./index.template.ejs 1.66 kB {0} [built] [1] ./~/lodash/lodash.js 540 kB {0} [built] [2] (webpack)/buildin/module.js 251 bytes {0} [built] webpack: Failed to compile.

作者回复: 你好,staffjoy的两个单页应用要求linux或mac环境编译,windows环境暂不支持。所以,如果你是windows环境,staffjoy ide部署这个环节暂时做不了,不过后面的docker compose和k8s部署可以不受影响,只要你的win操作系统能正常能装docker/k8s即可。 不过如果你有兴趣,在windows可以尝试自己hack一下,有学员说编译成功的(但不能保证)。上面的错误一个是eslint造成,webpack.config.js里头配置的eslint要求unix格式,你可以把eslint相关配置都去掉,另外前端引用的npm-zepto需要替换一下,参考这里:https://github.com/spring2go/staffjoy/issues/6

2019-09-02
2
收起评论