SpringCloud原理简介一看就懂

SpringCloud简介

Spring cloud是一个基于Spring Boot实现的服务治理工具包,在微服务架构中用于管理和协调服务的 微服务:就是把一个单体项目,拆分为多个微服务,每个微服务可以独立技术选型,独立开发,独立部署,独立运维.并且多个服务相互协调,相互配合,最终完成用户的价值. Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署

五大重要组件

服务发现——Netflix Eureka 客服端负载均衡——Netflix Ribbon/Feign 服务网关——Netflix Zuul 断路器——Netflix Hystrix 分布式配置——Spring Cloud Config

微服务架构

目前微服务是非常火的架构或者说概念,也是在构建大型互联网项目时采用的架构方式。

单体架构

单体架构,是指将开发好的项目打成war包,然后发布到tomcat等容器中的应用。

什么是微服务

微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级i机 (通常用HTTP资源API ),这些服务围绕业务能力构建并且可通过全自动部署机制独立部置。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。

微服务的特征

  1. 每个微服务可独立运行在自己的进程里。
  2. 一系列独立运行的微服务共同构建起整个系统。
  3. 微服务之间通过一些轻量的通信机制进行通信,例如通过RESTful AP1进行调用。
  4. 可以使用不同的语言与数据存储技术。全自动的部署机制。

微服务架构示例

每一个应用功能区都使用微服务完成。

Spring Cloud核心组件

Spring Cloud的优势

微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用Spring Cloud的呢?

  1. 产出于spring大家族,spring在企业级开发框架中无人能敌,来头很大,可以保证后续的更新、完善。比如dubbo现在就差不多死了
  2. 有Spring Boot 这个独立干将可以省很多事,大大小小的活Spring Boot都搞的挺不错。
  3. 作为一个微服务治理的大家伙,考虑的很全面,几乎服务治理的方方面面都考虑到了,方便开发开箱即用。
  4. Spring Cloud 活跃度很高,教程很丰富,遇到问题很容易找到解决方案
  5. 轻轻松松几行代码就完成了熔断、均衡负载、服务中心的各种平台功能

微服务构建Spring Boot与传统Spring框架的区别?

传统Spring框架: 1、配置web.xml,加载spring和spring mvc; 2、配置数据库连接、配置spring事务; 3、配置加载配置文件的读取,开启注解; 4、配置日志文件; 5、配置完成之后部署tomcat 调试;

Spring Boot: 1、大量的自动化配置简化了Spring原有样板化的配置; 2、类似模块化的Starter POMs的定义,不需要在pom.xml中维护错综复杂的依赖关系; 3、可以很好的融入Docker,自身支持嵌入的Tomcat、Jetty等容器。

经验分享 程序员 微信小程序 职场和发展