查看: 2043|回复: 0

[Java语言] Spring Cloud应知必会——从天气项目看Spring Cloud微服务治理

发表于 2018-2-3 08:00:05

接到慕课网的通知,本人所设计的视频教程《基于Spring Cloud的微服务实战》于 2018年1月22日下午发布了!课程地址:https://coding.imooc.com/class/177.html。
课程从策划、编码、录制到后期制作,差不多花费了4-5个月的时间。课程中的每行代码都是笔者亲自敲的,光写代码都也要好几个月时间。编码期间也是遇到了很多技术问题,埋了很多坑,其中心酸只有自知。

同时,慕课网的后期制作人员也是加班加点,力求将课程最好的一面呈现给大家。实在是辛苦!

那么,这门课程到底是怎么样的?

课程简介

本课程基于Spring Boot + Spring Cloud 技术栈来实现一个完整的天气预报系统。在课程中,先从 Spring Boot 入手,从0到1 快速搭建了具备高并发能力、界面友好的天气预报系统。而后剖析单块架构的利弊,从而引入微服务架构的概念,并实从1到0实现微服务的拆分。最后引入Spring Cloud 技术来实现对这些微服务的治理,重点讲解了服务注册与发现、服务交互、服务消费、负载均衡、API网关、配置中心、服务熔断、自动扩展等方面的话题。

学员不但可以学会 Spring Boot 及 Spring Cloud 最新的周边技术栈(本课程基于最新的 Spring Boot 2.0.0.M4 以及 Spring Cloud Finchley.M2),掌握如何运用上述技术进行整合,搭建框架的能力,熟悉单体架构及微服务架构的特点,并最终实现掌握构建微服务架构的实战能力。

本课程针对用户人群

本课程主要面向的是 Java 开发者,以及对 Spring Boot、Spring Cloud 感兴趣的朋友。由于Spring Cloud 的核心技术还是 Spring Boot,所以学员在参与本课程的时候对于 Spring Boot 技术有一定的理解。本课程涉及前端和后端以及微服务治理等方面的知识,通过本课程的学习,有利于提升学员的知识的广度,并能掌握构建微服务架构的完整流程。

如果您对 Spring Boot 还不熟悉,可以选择学习笔者的另外一门课程,《基于Spring Boot 企业级博客系统实战》课程(http://coding.imooc.com/class/125.html)。

课程的亮点与卖点是什么?

本课程所列举的案例是一个天气预报系统。天气预报系统人人都在用,所以在业务上比较好理解。这样就能让学员的注意力,集中在技术上而非业务上。

案例是麻雀虽小五脏俱全。用于完整展现微服务架构的实现过程,足矣。

本课中讲解的技术点有哪些?

本课程所涉及的相关的技术有 :

XML解析:JABX JSON序列化:Jackson 缓存:Redis 定时器:Quartz Scheduler Java模版技术Thymeleaf 前端样式:Bootstrap API网关:Zuul 服务注册与发现:Eureka Server、Eureka Client 服务交互:RestTemplate、Apache HttpClient 服务消费:Ribbon、OpenFeign 负载均衡:Ribbon 配置中心:Config Server、Config Client 服务熔断:Hystrix 项目构建:Gradle

本课程中选型的技术,都是市面上流行和热门的,富有前瞻性。

本课程所采用的技术及相关版本较新,请读者将相关开发环境设置成跟本书所采用的一致,或者不低于本书的配置。

JDK 8 Gradle 4.0 Spring Boot 2.0.0.M4 Spring Boot Web Starter 2.0.0.M4 Apache HttpClient 4.5.3 Spring Boot Data Redis Starter 2.0.0.M4 Redis 3.2.100 Spring Boot Quartz Starter 2.0.0.M4 Quartz Scheduler 2.3.0 Spring Boot Thymeleaf Starter 2.0.0.M4 Thymeleaf 3.0.7.RELEASE Bootstrap 4.0.0-beta.2 Spring Boot 2.0.0.M3 Spring Cloud Starter Netflix Eureka Server Finchley.M2 Spring Cloud Starter Netflix Eureka Client Finchley.M2 Spring Cloud Starter Netflix Ribbon Finchley.M2 Spring Cloud Starter OpenFeign Finchley.M2 Spring Cloud Starter Netflix Zuul Finchley.M2 Spring Cloud Config Server Finchley.M2 Spring Cloud Config Client Finchley.M2 Spring Cloud Starter Netflix Hystrix Finchley.M2

另外,本课程采用示例采用 Eclipse Oxygen.1a Release (4.7.1a) 来编写,但示例源码与具体的 IDE 无关,学员朋友可以自行选择适合自己的 IDE,比如 IntelliJ IDEA、NetBeans 等。

课程安排及讲解方式

课程安排如下:

从0到1 基于Spring Boot 构建完整的天气预报系统(第1-2章) 从1到0 实现从单体架构向微服务架构的拆分演进(第3-4章) 基于Spring Cloud实现微服务的治理(第5-11章)

其中微服务的拆分和治理是本课程的重点。在课程中,介绍了很多微服务的设计原则,帮助学员建立思想高度。同时,辅以技术实战,双管齐下,利于学员掌握。

课程除了课程内容外,还有哪些增值服务?

除了讲师集中答疑外,课程全套代码全部开放。本课程相关的技术点都已经整理成相关的技术书籍,供学员免费参阅(见https://waylau.com/books/)。后期会有出版一本与本课程相关的 Spring Cloud 书籍,届时,边看视频边看书,有利于知识点的梳理与巩固。



回复

使用道具 举报