大家好,我是冰河~~
从今天开始,我们正式进入《SpringCloud Alibaba实战》专栏的学习,在《开篇》一文中,我们大体介绍了整个专栏的结构安排。今天我们就再次和小伙伴们聊聊《SpringCloud Alibaba实战》专栏的设计。
整体设计
整个专栏在设计上大体分成十个篇章,分别为:专栏设计、微服务介绍、微服务环境搭建、服务治理、服务容错、服务网关、链路追踪、消息服务、服务配置、分布式事务。
每个大的篇章下会有一个或若干个小的章节组成,力求为大家以实战案例的形式讲清楚如何使用SpringCloud Alibaba开发实际项目。同时,如果在写专栏的过程中发现有个别知识点没有讲清楚,则会以加餐的形式为大家专门讲解这些知识点。
案例驱动
经过一段时间反复思考整个专栏的设计,最终决定整个专栏以案例驱动的形式,并且以实战的方式为大家进行讲解。在案例上,选择了大家都比较熟悉的电商项目中的用户、商品和订单模块为例,因为这些模块的核心逻辑比较简单,并且真实的电商项目一般都采用分布式或微服务的架构模式,并且都会承载高并发大流量的场景。同时,涉及到分布式或微服务的场景时,一般又会产生分布式事务的问题。
所以,整个专栏在设计上,会以电商系统中的用户、商品和订单模块为例,贯穿始末。在开发电商系统的过程中,每个阶段会产生不同的需求,而我们在每个阶段针对不同的需求,会使用SpringCloud Alibaba中的对应组件来实现。
例如:
- 涉及到服务治理和服务配置的需求时,我们会使用Nacos实现。
- 涉及到负载均衡的需求时,我们会使用Ribbon实现。
- 涉及到远程服务调用的需求时,我们会使用Fegin实现。
- 涉及到服务容错的需求时,我们会使用Sentinel实现。
- 涉及到服务网关的需求时,由于目前SpringCloud Alibaba中并未提供自己的网关,所以,我们使用SpringCloud中的Gateway实现。
- 涉及到链路追踪的需求时,我们会使用Sleuth ZipKin实现。
- 涉及到消息服务的需求时,我们会使用RocketMQ实现。
- 涉及到分布式事务的需求时,我们会使用Seata实现。
- 涉及到数据存储的需求时,我们会MySQL ElasticSearch实现。
通过实现不同阶段的需求,并且不断解决过程中遇到的问题,最终我们会开发出一套基于微服务的简易电商系统。让大家在学习技术的同时,也能够真正学习到这些技术是如何应用到实际项目中的,真正做到学以致用。
综合对比
在每个章节使用SpringCloud Alibaba组件实现不同的需求时,不会仅仅介绍SpringCloud Alibaba中这一种解决问题的组件,还会介绍一些业界其他的解决方案。
例如,在介绍链路追踪的解决方案时,我们不仅仅介绍Sleuth ZipKin这一种解决方案,还会对比介绍Cat、Pinpoint和Skywalking这几种解决方案。
这样学习下来,小伙伴们不仅能够学习解决问题的一种方案,还能连带学习到其他的解决方案,达到举一反三的效果。
资源安排
本专栏涉及到的资源:包含源代码和画图源文件,以及涉及到的环境搭建使用的安装包等,都会放到 冰河技术 知识星球中,目前, 冰河技术 知识星球内容正在完善中,后续会向大家开放。
其他说明
关于专栏的其他说明,小伙伴们参见 SA实战 ·《SpringCloud Alibaba实战》专栏开篇!一文。
写在最后
正所谓:纸上得来终觉浅,绝知此事要躬行 。学习技术停留在理论的基础上是远远不够的,我们一定要将学到的技术和知识运用到实际的项目当中,解决实际的问题才是最重要的。大家在学习本专栏的过程中,遇到任何问题都可以向冰河咨询。
切记:本专栏以实战内容为主,在学习的过程中一定要多动手,多实操,多思考,多总结。从下一期开始,我们就正式进入《SpringCloud Alibaba实战》专栏的正题部分的学习了,小伙伴们,你们准备好了吗?Let`s go!!
好了,今天就到这儿吧,我是冰河,我们下期见~~