天天看点

分布式架构简介(Spring Cloud)

个人理解,仅供参考 

单机、集群和分布式(微服务结构)

一、单机

      单机就是所有业务写在一个项目中,部署到一台服务器上,所有的请求都由这台服务器处理。当业务增长到一定程度的时候,服务器的硬件会无法满足业务需求。

二、 集群

      集群就是单机的多实例,在多个服务器上部署多个服务,利用负载均衡来控制和分发业务请求

分布式架构简介(Spring Cloud)

      特点:扩展性好,集群只是单机的多个复制,没有改变单机的原有的代码结构,每次部署新节点只需要复制部署即可。

      缺点:单个节点业务耦合度高、资源浪费

三、分布式(微服务)

      分布式结构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”。这些子系统能够独立运行在web容器中,它们之间通过RPC(远程过程调用)方式通信。

分布式架构简介(Spring Cloud)

      优点:提高了系统的利用率,降低了耦合度,可以独立开发、独立部署、独立测试,系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。

四、分布式 + 集群

分布式架构简介(Spring Cloud)

什么是微服务架构(SpringBoot)

      微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于HTTP的Restful API).每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。

什么是SpringBoot

      Spring Boot是用来简化Spring 应用的初始搭建以及开发过程。在简化配置、打包和集成第三方工具方面做得很好,大多数Spring引导应用程序只需要很少的Spring配置就是实现。

什么是Spring Cloud

      Spring Cloud基于Spring Boot的一系列框架的集合,旨在帮助开发者快速搭建一个分布式的服务或应用,并提供的全套的分布式系统解决方案。为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线leader选举,分布式,集群状态等)中快速构建的工具,使用Spring Cloud的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。

Spring boot与Spring cloud 之间的关系

  1. Spring boot可以离开Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,属于依赖的关系。
  2. Springboot专注于快速方便的开发单个个体微服务。
  3. SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务。

Spring cloud官网图解

分布式架构简介(Spring Cloud)
分布式架构简介(Spring Cloud)

:spring cloud (提供分布式框架服务的集合)

分布式架构简介(Spring Cloud)

:反应式编程框架, 可以帮助我们构建的服务和应用高效而异步的传递消息

分布式架构简介(Spring Cloud)

:微服务框架 spring boot

分布式架构简介(Spring Cloud)

  :分布式消息中间件 kafka

分布式架构简介(Spring Cloud)

:数据库

  1. loT、mobile、browser:客户端
  2. API Gateway:API网关
  3. breaker dashboard:断路器视图化界面
  4. config dashboard:配置视图化界面
  5. microservice:微服务架构
  6. service registry:服务注册
  7. distributed tracing:分布式跟踪
  8. message brokers:消息中间件
  9. databases:数据库

配图来源:https://www.cnblogs.com/mileres/p/9838618.html