单体架构
- 容易测试、部署
- 开发效率低、代码维护难、部署不灵活、稳定性不高、扩展性不够
分布式
- 定义:指在支持应用程序和服务开发,可以利用物理架构 由多个自治的处理元素,不共享内存,但通过网络发送消息合作。
微服务
1、什么是微服务
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
可以在“自己的程序”中运行,并通过“轻量级设备与HTTP型API进行沟通”。关键在于该服务可以在自己的程序中运行。通过这一点我们就可以将服务公开与微服务架构(在现有系统中分布一个API)区分开来。在服务公开中,许多服务都可以被内部独立进程所限制。如果其中任何一个服务需要增加某种功能,那么就必须缩小进程范围。在微服务架构中,只需要在特定的某种服务中增加所需功能,而不影响整体进程。
- 一系列微小的服务共同组成
- 跑在自己的进程里
- 每个服务为独立的业务开发
- 独立部署
- 分布式管理
2、什么是SpringCloud
Spring Cloud 是微服务架构思想的一个具体实现,它为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发、断路器,智能路由、微代理、控制总线等)。
Spring Cloud 基于 Spring Boot 框架,它不重复造轮子,而是将第三方实现的微服务应用的一些模块集成进去。准确的说,Spring Cloud 是一个容器
1、相关网站文章
springCloud中文网 https://springcloud.cc/
springCloud官网 https://spring.io/projects/spring-cloud
GitChat 学习参考课程 https://gitbook.cn/gitchat/column/5af108d20a989b69c385f47a/topic/5af10bc30a989b69c3861029
SpringCloud 是一个开发工具集,含了多个子项目。简化了分布式开发。