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 云原生微服务实践
登录|注册
留言
20
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 67 | 将Staffjoy部署到本地Docker Compose环境(下)
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 | 结课测试&结束语
登录 后留言

全部留言(20)

  • 最新
  • 精选
朝如青丝暮成雪
docker 启动服务的时候,在Step 8/13 :myaccount和app-service报错:【1、 RUN npm rebuild node-sass gyp verb `which` failed Error: not found: python2;2、Cannot download "https://github.com/sass/node-sass/releases/download/v4.12.0/linux_musl-x64-79_binding.node": HTTP error 404 Not Found 】 查了半天,最后将frontend/app/dockerfile和frontend/myaccount/dockerfile的 【 RUN npm install 】 改为 【RUN npm install --unsafe-perm node-sass】 就可以了,希望可以帮到其他有错误的同学。

作者回复: 谢谢你的建议!学习过程中碰到问题,自己主动解决,而且能把解决办法分享出来,这中学习方式收获最大。

2019-11-08
3
6
arvilin
波波老师,我这边使用centos构建的,docker-compose up出现这个问题, 03-09-2019 06:11:45.041 [main] ERROR o.s.boot.SpringApplication.reportFailure - Application run failed account-service_1 | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] 是不是哪里还要设置

作者回复: 这个错误提示一般是容器里头的应用无法连接mysql数据库造成,你需要核实应用的数据库连接字符串和密码设施是否正确(项目目录下的.env文件里头配置,可以在.env.example的基础上改)。 如果配置是对的,那么另外,docker-compose启动的容器环境有一个独立网络的,它和本地的网络是不同网络,你可否尝试docker exec容器上去尝试ping本机ip,看是否通。

2019-09-03
3
2
WandaYu
docker-compose up 启动后,访问:http://www.staffjoy-v2.local/sign-up 会报错: email-service_1 | 25-02-2021 09:15:38.286 [AsyncThread-1] WARN x.s.mail.service.MailSendService.log - {"message":"Intercepted sending due to non-production environment.","env":"test","service":"email-service"} email-service_1 | 25-02-2021 09:43:46.291 [AsyncThread-2] WARN x.s.mail.service.MailSendService.log - {"message":"Intercepted sending due to non-production environment.","env":"test","service":"email-service"} 没有你提到的『新用户注册失败的话,异常日志里头有激活链接,复制到浏览器就可以激活注册。』

作者回复: 请看一下mail-svc中的MailSendService.java文件,其中有一小段邮件截获逻辑: // In dev and uat - only send emails to @jskillcloud.com 在dev和uat环境中,只能将邮件发送到某个配置的目标域名后缀的地址。 你可以把这段逻辑注释掉,然后在dev/uat环境中也可以任意发邮件了。

2021-02-25
1
草裡菌
实在是卡死在了docker-compos build的两个SPA项目的 npm install 步骤。无奈取巧直接把myaccount和app的dockerfile改成如下: FROM nginx EXPOSE 80 COPY myaccount/dist /usr/share/nginx/html FROM nginx EXPOSE 80 COPY app/dist /usr/share/nginx/html (因为源码里有build好的dist,所以才能这么用。) 由于我本机是windows 10系统,docker和vbox的虚拟化技术好像不兼容,docker compose是在一台虚拟机中实现的。利用switchhosts工具把域名解析到这台虚拟机的ip即可,然后就可以和之前课程的手动部署一样访问了。 真是有够折腾的。肝疼且低效。

作者回复: 搞k8s+微服务开发,还是弄mac or linux环境吧。如果暂时没米,可以尝试搞个黑苹果,看B站上视频很多,或者黑果小兵博客https://blog.daliansky.net/

2021-01-09
1
GodHao
我在.env文件里配置jdbc连接,docker启动的时候还是报连接异常?

作者回复: 具体的异常描述是什么?可尝试写一个简单的spring boot服务,通过连接字符串访问本地mysql,将spring boot服务打成镜像,然后docker compose运行,看看能不能通。

2021-04-12
浩仔是程序员
波波老师,网关那里映射的端口不是8081那些吗?为什么架构图说是改成了80端口呢?

作者回复: spring boot服务的启动端口是可以配置的,参数是SERVER_PORT,可以根据不同部署环境进行调整。docker compose方式启动的话,配置在.env中(参考.env.example文件)。

2021-01-24
猩猩
波波老师,docker环境下如何集成skywalking呢

作者回复: 请参考我在B站上的课程补充内容: https://www.bilibili.com/video/BV1Qi4y1b79r 里头有一节讲Docker环境如何集成skywalking。

2020-06-03
李振刚
DOCKER容器如何与WINDOWS 10 HOME MYSQL通信

作者回复: 请参考这个stackoverflow上的帖子: https://stackoverflow.com/questions/24319662/from-inside-of-a-docker-container-how-do-i-connect-to-the-localhost-of-the-mach

2020-05-20
Jesse
请问一下波波老师,您项目中的 account-api 项目是feign端,但是我看了spring官方教程中的例子,他是作为一个可运行的项目启动的。但是您demo里面只是个Jar包,我这边出尝试了jar包方式,它提示Load balancer does not have available server for client: (我的对外接口项目:调用了 accoutClinet),如果将account-api作为可运行程序,我外部需要调用feign的accountClient类,就需要maven做打包处理。。。这个怎么解决,请教了

作者回复: 从你的描述我还无法判断问题所在,需要进一步了解你的部署架构,请加我微信(bulldog2015,说明来自极客时间)。

2020-04-14
Switch
波波老师, Docker 环境下, faraday 是怎么做路由的啊?没看到哪里有配置呀。

作者回复: 你好,在docker compose环境下运行staffjoy,路由映射用的是ProgrammaticMappingsProvider(参考retrieveMappings方法),实际路由映射表是在ServiceDirectory中,也就是说路由表是程序代码预制的。 可以根据需要定制自己的MappingsProvider,比如从本地文件(参考ConfigurationMappingsProvider),或者注册中心eureka中获取路由表。

2020-03-12
收起评论