这是我为内部培训准备的一套学习笔记,希望通过我对整个学习过程的记录,给大家提供一个借鉴。本着实用主义原则,我尽量精简,用图、代码说话,本章节主要是出于强迫症作祟,简单讲下架构演变,和需要涉及的学习内容,着急的请跳过。
1.服务框架的演变
整个学习笔记我们以电商项目为例,通过对电商项目的演变和后续服务拆分,来体验微服务改造的好处。
1.1 传统框架
1.0时代
一个项目承接了所有的功能,由单体项目完成开发。
2.0时代
通过负载均衡器(可以是软件负载均衡,也可以是硬件负载均衡),将请求通过负载策略平均分配到各个项目中,通过数据读写分离降低单体数据库的相应时间,借此提高项目的相应时间。
微服务框架
新的微服务框架旨在通过对各服务进行合理化拆分,使服务相对独立,便于进行水平扩容和优化;避免造成单个服务崩溃后整条业务链路受阻;多维度分割数据源,使数据相对隔离,提高数据安全性。
2.微服务组件
- 注册与发现中心组件
- 网关组件
- 配置中心组件
- 服务调用组件 Feing
- 链路跟踪组件
- 消息总线 Spring Bus
3.小结
Spring Cloud是基于Spring Boot技术基础上进行搭建的,JDK的版本要求在1.8以上。微服务框架并不是万能的灵药,什么样的项目采用什么样的技术,而不是追求最新的技术就是最好的。对于单体、业务量、需求量不高的项目,使用Spring MVC 或者 Spring Boot 完全可以胜任,如果项目应用场景、资源无法达到相应的级别,不建议使用Spring Cloud框架进行开发,祝大家学习愉快。