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 云原生微服务实践
登录|注册
留言
16
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 10 | Dubbo、Spring Cloud和Kubernetes该如何选型(上)
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 | 结课测试&结束语
登录 后留言

全部留言(16)

  • 最新
  • 精选
机器人学习
dubbo 解决的是远程RPC通信的问题,sc是微服务的一个实践生态框架,k8s主要是编排容器服务。为什么可以在一起比较?出发点和目标关注点都不在一个层级。小白愚见。。。

作者回复: 如果你了解这三者的诞生背景和演进历史,你会发现它们三者实际是为解决同一问题(分布式微服务基础框架/平台)而生,三者都是对同一问题的解,只是解法和层次不同,但殊途同归。k8s是后起之秀,有后发优势,站得高度更高,考虑更系统全面,简单理解k8s = doubbo or sc + container based deployment。

2020-01-19
2
9
韩成丰
我一直有一个疑惑,对于互联网应用,用微服务框架,k8s等可以有很好的适应度。不过目前也出现了一些在边缘计算的基于微服务架构产品,而且希望运行在类似树莓派的这样的小硬件上面。 我的问题是微服务时候适合在资源有限的环境下运行?如果资源有限,那么如何做到微服务的治理,如视频中说的各种模块。感觉有些行不通,但是不知为什么还是有人在做,比如EdgeXFOUNDRY,apache 的开源物联网框架,基于golang的微服务架构。 希望可以获得老师的指点,因为这个决定我后期的创业方向。

作者回复: 你好,虽然微服务应用场景主要针对企业级互联网应用,但是微服务架构的思想其实是通用的,IoT应用可以是微服务应用的一种特殊场景,只是它的端设备资源可能比较受限,所用操作系统可能也不同于一般的操作系统,但是服务端架构可以和企业应用没有多大区别。我想理解企业微服务架构的话,可以扩展架构视野,对你做IoT架构应该会有帮助,只是需要针对性做一些调整,尤其考虑资源和性能方面。我看到github上有个叫lelylan(https://github.com/lelylan/lelylan/)的IoT框架,采用微服务架构,它是ruby/nodejs可开发,不过其思想完全可以用其它语言实现。当然,取决你的具体场景和规模,IoT项目也可以不用微服务架构。

2019-07-09
8
周翔
杨老师,有2个问题: 1、目前公司用的dubbo来做微服务的,通信使用hessian协议,支持强类型的rpc调用(类似SOA的调用),如果未来想升级到SpringBoot+Dubbo的框架,此技术栈后期在Api网关和调用链监控方面,会不会有永久缺陷?是否有必要切换到Restfull的方式(那样变动较大),这样能与主流保持一致。 2、目前有大量的后台定时任务(近百个),还有消息队列的消费处理,这些后台处理非常消耗cpu资源,有什么分布式的调度工具或配置管理工具不?类似:将N个定时任务分散到若干台机器上跑,但是有个工具能统一配置管理,哪些任务和队列消费,放到哪些机器上面跑。

作者回复: 1. 服务框架一旦用起来,想要替换成另外一套,总是有不小的成本的,而且迁移很折腾。况且换成另外一套不见得带来什么业务价值。建议内部服务间调用沿用Dubbo,前端对外暴露的聚合服务(也称BFF),可以考虑采用SpringBoot Rest。这样两者可以结合用起来。 2. 任务调度可选徐雪里的xxl-job(https://github.com/xuxueli/xxl-job),这个比较轻量,比较重量的有唯品会Saturn(https://github.com/vipshop/Saturn),还有当当的elastic-job(https://github.com/elasticjob)。你可以评估下是否符合你的需求。另外容器平台k8s/mesos等都支持后台任务和周期任务等的运行,也可以考虑。

2019-07-12
3
5
大胡子叔叔
像是Eureka,Ribbon,Hystrix 过段时间不再维护了吧,那还推荐使用这些组件么?还是现在就用别的组件替换它们

作者回复: Eureka的替代组件,一个是consul(https://github.com/hashicorp/consul),还有一个阿里开源的nacos(https://github.com/alibaba/nacos)。 Hystrix的替代目前有(resilience4j)https://github.com/resilience4j/resilience4j。 如果采用K8s平台开发微服务,内置支持服务发现和LB,不需要Eureka/Ribbon这些。

2019-07-11
4
John
Netflix已經有了zuul2 來支持reactive 但是似乎spring cloud gateway有移除zuul1和zuul2的趨勢 請問老師對此怎麼看呢

作者回复: zuul1成熟稳定,已经经过大规模落地验证,实现和使用简单,本质就是一个servlet,虽然同步性能不是很高,但是可以通过多部署实例来解决,另外可以配合hystrix提升稳定性。zuul2异步模型,实现比较复杂,除了netflix,其它企业采用的案例还不多。具体要看企业的流量和技术团队情况,一般企业我觉得zuul1就够了。spring cloud gateway出来时间不长,大规模企业落地案例还不多,而且是全新产品,需要不断迭代才能完善稳定。

2019-07-10
4
小白
波波老师,heapster从k8s 1.11开始被标记为废弃了,现在是metrics-server。https://github.com/kubernetes-retired/heapster/blob/master/docs/deprecation.md。

作者回复: 谢谢提醒!

2019-07-11
3
hunterlodge
老师,我有三个疑问: 1.hystrix只是一个代码级组件,并非springcloud特有,k8s中跑的springboot可以用,dubbo应用也可以用吧 2. 像skywalking这种调用链监控工具三种微服务架构也都可以采用吧? 基于上述两点,对三种框架在这两个点的比较会不会有失公平? 3. 您之前课程推荐的CAT和Apollo这些组件在本次课程中不再使用了吗?是有更好的替代吗? 谢谢!

作者回复: 1. hystrix确实是一个通用的容错限流组件,理论上可以集成dubbo。我刚在百度上搜了一下,dubbo集成hystrix,有不少解决方案。具体还是需要实际测试,因为可能有线程和网路模型等细节问题。 2. Skywalking应该也是具体框架无关的。 我上面的比对,单纯是从这三个框架自身作为一个体系出发,是否考虑了这个关注点,和原生提供怎样的解决方案,是否开源,来进行比对的。 3. CAT和Apollo之前课程重点介绍过,本课程不重复了。本课程以应用为主,拓展介绍下Skywalking(可替代CAT),同时应用部署到K8s,它原生支持ConfigMaps/Secrets(可替代Apollo)。

2019-07-09
3
LSJ
老师 springboot可以直接集成zuul吗 就像课程里集成feign一样 然后部署到k8s环境中?

作者回复: 可以,zuul可以SpringBoot方式启动(加一个@EnableZuulProxy标注即可)

2019-09-24
1
梁😜
老师您好,非常期待老师在针对SpringBoot封装,搭建微服务基础框架方面的经验分享,不知道后续课程是否会讲解相关内容,是否会给出相关代码,谢谢老师~

作者回复: 你好,课程第3章讲解在SpringBoot基础上做轻量级封装,搭建微服务基础框架,第4章讲解开发一个轻量级的微服务网关,第5章讲解基于jwt的微服务安全认证架构,这几章都会结合staffjoy案例项目的代码讲解,有兴趣也可以直接看staffjoy项目源码:https://github.com/spring2go/staffjoy,看源码过程中如果有问题,可以再回头看课程讲解,这样更容易理解项目源码。

2019-07-13
1
William
Zipkin在使用mysql存储的时候,性能及其卡,而且请求量不是很多的情况下数据也很快就会满,后面也没有用ES来替换它,而是选择直接不用。从其他地方了解过来的资料,对于Zipkin评价也都不高,多以“玩具”称之,后来关注到了SkyWalking,就彻底不关注zipkin了。不知道是否有人觉得Zipkin好用?

作者回复: Zipkin只是一个单纯的调用链监控产品,性能聚合报表能力比较欠缺,企业如果要用的话,一般需要定制扩展。Skywalking和CAT不光是调用链监控,而且是APM,有比较丰富的性能统计报表,更适合企业开箱即用。

2019-07-10
1
收起评论