说明:
(1)声明:
● 本项目是自己在学习慕课网的【Spring Cloud / Alibaba 微服务架构实战】项目时做的笔记;
● 本专栏内容,在写的时候,会掺杂大量的个人语言;所以,读者如果有兴趣,建议去慕课网学习该课程,以期更能够“以第一手的感觉”来学习;
● 在做本项目的时候,本人不会放过任何(自己有能力搞懂的)技术点,包括自己想到的需要扩展的知识点;即,自己会尽量做到自洽;
● 由于Spring Cloud微服务中,会有很多技术点和业务点;为了方便以后照猫画虎,本专栏的内容会比较分散;
目录
1.【Spring Cloud】及【Spring Cloud Alibaba】简介;
2.本项目的三个目标;
3.本项目的技术架构;
4.本项目的收获;
1.【Spring Cloud】及【Spring Cloud Alibaba】简介;
Spring Cloud是基于Spring,构建分布式系统的工具集;其发展过程是Spring→Spring Boot→Spring Cloud;
虽然Spring Cloud提供了非常强大的功能,但是Spring Cloud并不提供所有的实现;而是通过"SpringCloud Common"子项目,定义了统一的抽象API;然后,不同厂商结合其自身的中间件,提供了自己的Spring Cloud套件;
自然,Spring Cloud官方,也提供了某些的实现;比如,API网关gateway、链路追踪Sleuth等;
我们在做微服务解决方案时,会综合考虑目前最流行、最推荐的组件;而【Spring Cloud Alibaba】会成为Spring Cloud第二代标准实现;所以,本项目就是基于【Spring Cloud体系】,并选择【Spring Cloud Alibaba套件】作为微服务解决方案;
Spring Cloud是基于Spring,构建分布式系统的工具集;其发展过程是Spring→Spring Boot→Spring Cloud;
虽然Spring Cloud提供了非常强大的功能,但是Spring Cloud并不提供所有的实现;而是通过"SpringCloud Common"子项目,定义了统一的抽象API;然后,不同厂商结合其自身的中间件,提供了自己的Spring Cloud套件;
自然,Spring Cloud官方,也提供了某些的实现;比如,API网关gateway、链路追踪Sleuth等;
我们在做微服务解决方案时,会综合考虑目前最流行、最推荐的组件;而【Spring Cloud Alibaba】会成为Spring Cloud第二代标准实现;所以,本项目就是基于【Spring Cloud体系】,并选择【Spring Cloud Alibaba套件】作为微服务解决方案;
2.本项目的三个目标;
(1)既然我们要选择微服务解决方案,那么要想享受微服务解决方案的好处,就一定要同时解决【为了使用微服务,而带来的很多问题】;比如,微服务通信、链路追踪、分布式事务等等;
(2) 微服务工程,在结构设计上大都是类似的;如何提高代码的复用性,也是目标之一;
(3)学习的最终目的是落地实现,由此也能够真正感受微服务的核心思想;
(1)既然我们要选择微服务解决方案,那么要想享受微服务解决方案的好处,就一定要同时解决【为了使用微服务,而带来的很多问题】;比如,微服务通信、链路追踪、分布式事务等等;
(2) 微服务工程,在结构设计上大都是类似的;如何提高代码的复用性,也是目标之一;
(3)学习的最终目的是落地实现,由此也能够真正感受微服务的核心思想;
3.本项目的技术架构;
(1)通过Nacos,实现微服务的注册与发现,实现了服务治理;
(2)通过gateway,实现微服务网关;
(3)通过Nacos Config配置管理,实现路由、限流动态配置;
(4)通过Spring Boot Admin,实现微服务监控;
(5)通过Hystrix,实现微服务容错;
(6)通过Sentinel,在网关层面实现服务API接口限流;
(7)通过Sleuth+Zipkin,实现分布式链路追踪;
(8)通过OpenFeign,实现微服务通信;
(9)通过Spring Cloud Stream,构建消息驱动微服务;
(10)通过Alibaba Seate,解决分布式事务;
(1)通过Nacos,实现微服务的注册与发现,实现了服务治理;
(2)通过gateway,实现微服务网关;
(3)通过Nacos Config配置管理,实现路由、限流动态配置;
(4)通过Spring Boot Admin,实现微服务监控;
(5)通过Hystrix,实现微服务容错;
(6)通过Sentinel,在网关层面实现服务API接口限流;
(7)通过Sleuth+Zipkin,实现分布式链路追踪;
(8)通过OpenFeign,实现微服务通信;
(9)通过Spring Cloud Stream,构建消息驱动微服务;
(10)通过Alibaba Seate,解决分布式事务;
4.本项目的收获;
(1)掌握Spring Cloud、Spring Cloud Alibaba微服务开发框架;并学会将企业级中最常见的组件,应用到微服务项目中;
(2)掌握微服务工程架构的设计原则,及业务拆分思想;以后,在开发其他微服务项目中,就可以多多少少的照猫画虎;
(3)具备指定和实施微服务工程解决方案的能力;
(1)掌握Spring Cloud、Spring Cloud Alibaba微服务开发框架;并学会将企业级中最常见的组件,应用到微服务项目中;
(2)掌握微服务工程架构的设计原则,及业务拆分思想;以后,在开发其他微服务项目中,就可以多多少少的照猫画虎;
(3)具备指定和实施微服务工程解决方案的能力;
How To Learn;
(1)不要着急编码,先搞清楚原则和套路;还是那句话,多思考,多总结、多归纳、多对比;
(2)主动思考,提出更好的解决方案; 要有想法,多对比;
(3)学以致用,前人的经验和总结,很宝贵;



