你好,我是架构师杨波,大家都叫我波波老师。我从 2006~2012 年,一直在 eBay 中国研发中心,从事 eBay 开放 API 平台的研发工作,从那时候起,我就和 API/ 微服务结下了不解之缘。2012~2015 年,我在携程担任框架研发总监,主导微服务核心中间件的研发,推动了携程微服务架构的升级改造。最近几年,我在拍拍贷担任基础架构研发总监,主导了拍拍贷的微服务升级改造,同时投入了很大资源进行容器云平台的研发,推动云原生技术在拍拍贷的试点和落地。
微服务和云原生架构是目前互联网行业的技术热点,相关资料文档很多,但是缺乏端到端的贴近生产的案例,这就使得很多技术人员,尤其是架构师,虽然学习了很多微服务理论,但是在真正落地实施微服务云原生架构的时候,仍然会感到手足无措。所以我利用业余时间,通过改造一个叫 Staffjoy 的开源项目,开发了一个教学版的案例项目。整个项目采用微服务架构,并且可以一键部署到 Kubernetes 容器云环境。最近我和极客时间合作,基于这个案例项目开发了这门课程,我想通过实际案例项目的学习,让你不仅能够深入理解微服务和云原生架构原理,同时能够在生产实践中真正地去落地实施微服务和云原生架构。
这是一门案例项目驱动的课程,在整个课程中,我会采用 Spring Boot 框架,手把手教你如何开发一个微服务应用,并最终部署到 Kubernetes 容器云环境。课程涉及需求、架构设计、框架搭建、服务实现、测试、可运维架构和容器云部署等全研发流程环节,所有环节都通过案例项目串联起来,其中也会穿插介绍微服务和云原生架构的原理,Spring 编程技术和各种工具。总之,案例项目驱动,全研发流程覆盖,原理 + 编程技术 + 工具结合,是本课程的亮点。
微服务、云原生、SpringBoot 和 Kubernetes,是当前互联网行业,尤其是主流互联网公司的主流技术。学完本课程后,你将对微服务和云原生架构有一个更全面和深入的理解,能够在实践中设计微服务和前后分离架构,能够基于 Spring Boot 搭建微服务基础框架,能够使用 Spring Boot 开发微服务,能够对 Spring Boot 微服务进行分类和 Mock 测试,能够将微服务应用以一键部署的方式部署到本地 Kubernetes 环境,也可以一键部署到阿里云 Kubernetes 环境。另外,因为本课程的案例是一个 SaaS 多租户应用,你也能够顺便学习到 SaaS 应用的架构设计方法。最后,整个案例的大部分代码基于 Java/Spring,通过案例学习,你也能够进一步提升 Java/Spring 开发技能。
我是杨波,我在极客时间等你。
作者回复: 你好,第一门《微服务架构核心20讲》,比较简单,主要讲解微服务核心概念和理念,属于概览比较粗,技术讲不多。第二门《微服务架构实践160讲》,指导大家搭建一个微服务基础框架体系(一个互联网公司的中间件或框架团队的主要职责范围),其中精选了一些在互联网公司已经落地的核心中间件,比如CAT/Apollo/Zuul/Eureka/Ribbon/Hystrix/Prometheus,讲解它们的架构和生产实践,课程最后也有一个简单的集成案例,整个课程偏微服务基础设施搭建。这门《SpringBoot和Kubernetes微服务实践》,以一个微服务案例驱动形式,端到端指导大家,如何采用SpringBoot框架,开发一个微服务应用,并最终部署到Kubernetes容器云环境,整个课程偏应用,也讲解微服务+云原生架构原理。
作者回复: 谢谢支持!原来的电脑是上家公司的,必须归还了:)
作者回复: 谢谢支持!后面持续输出更优质内容,帮助大家提升技术能力和视野。
作者回复: 本课程案例相对简单,数据库表不多,不涉及分布式事务。关于分布式事务一致性,推荐参考dzone上的文章《Data Consistency in Microservices Architecture》(https://dzone.com/articles/data-consistency-in-microservices-architecture)。另外阿里开源的分布式事务组件seata(https://github.com/seata/seata)社区很热,可以参考。
作者回复: 谢谢支持!后面课程仍然会理论结合实践,理论帮助大家建立概念模型,更好的指导实践。
作者回复: 加油!
编辑回复: 会讲
作者回复: 课程的内容70%是关于开发的,可运维架构+容器+k8s的内容大致占据30%,最后的第7章讲可运维架构,第8章讲容器docker compose部署,第9章讲云原生和k8s部署。如果是纯运维学习本课程会比较吃力,如果是DevOps型运维或开发,则适合学习该门课程。
作者回复: 你好,课程并不要求熟悉k8s,但是要求3年以上研发经验,熟悉基本的Spring Boot/MySQL开发,对Docker容器技术和使用有一定的经验。
作者回复: 你好,项目源码本身不多,但是doc目录下的ppt比较大,如果网络不太好,可能造成clone时候下载失败。建议可以直接下载Zip文件。后面我会把ppt目录迁到另外一个仓库中,这样源码就比较小。