Spring Cloud介绍(一)

1、Spring Cloud的产生

Spring Cloud是一系列框架的有序集合。它利用 Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线线、负载均衠、断路器、数据监控等,都可以用 Spring Boot的开发风格做到一键启动和部署。 Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组台起来,通过 Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

2、Spring Cloud的概念定义

  1. SpringCloud 是一个微服务框架, 相比Dubbo等RPC框架, SpringCloud提供了全套分布式系统解决方案
  2. SpringCloud对微服务基础框架Netflix的多个开源组件进行了封装, 同时又实现了云端平台以及和SpringBoot开发框架的集成
  3. SpringCloud为开发者提供了快速构建分布式系统的工具, 开发者可以快速的启动服务或构建应用, 同时能够快速和云平台资源进行对接
  4. SpringCloud为微服务架构开发涉及的配置管理, 服务治理, 熔断机制, 智能路由, 微代理, 控制总线, 一次性token, 全局一致性锁, leader选举, 分布式session, 集群状态管理等操作提供了一种简单地开发方式

3、什么是微服务

微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元, Spring Cloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多, Spring Cloud做为大管家就需要提供各种方案来维护整个生态

(1)微服务就是一种架构风格
(2)微服务就是把一个项目拆分成独立的多个服务,并且多个服务是可以独立运行的,而每个服务都会占用线程。


4、Spring Cloud的优缺点(主要针对微服务)


(1)优点:

  • 每个服务足够内聚,足够小,代码容易理解、开发效率提高;
  • 服务之间可以独立部署,微服务架构让持续部署成为可能;
  • 精细度业务控制,每个服务可以各自进行负载均衡扩展和数据库扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上;
  • 容易扩大开发团队,可以针对每个服务组件开发团队;
  • 提高容错性,一个服务的内存泄露并不会让整个系统瘫痪;
  • 每个服务可以用不同的技术开发,系统不会被长期限制在某个技术栈上。

(2)缺点:

  • 开发人员要处理分布式系统的复杂性:设计服务之间的通信机制,需要考虑分布式事务等问题;涉及多个服务直接的自动化测试;服务管理的复杂性(PS:现在docker的出现适合解决这个问题);
  • 对于业务数据和处理能力不是很明确的创业公司,不适合微服务架构模式,这时候最重要的是快速开发、快速部署、快速试错。
     

你可能感兴趣的:(1,Spring,Cloud,spring,cloud,spring,java)