Spring Cloud 2.0 实战——序言

首先SringCloud存在的意义是解决微服务架构问题,所以本章简单说一下什么是微服务架构,然后再说什么是SpringCloud。后面的文章在对SpringCloud进行实战。

本文整理自:《SpringCloud 微服务实战》

微服务架构

简单来说,微服务是系统架构上的一种设计风格,它的主旨是将一根原本独立的系统拆分多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间通过基于HTTP的RESTful API进行通信协作。被拆分的每一个小型服务都围绕着系统中某一项或一些耦合度较高的业务功能进行构建,并且每个服务都维护这自身的数据存储、业务并发、自动化测试案例以及独立部署机制。由于有了轻量级的通信协作基础,所有这些微服务可以使用不同的语言来编写。

与单体系统的区别

在传统的企业系统架构中,我们针对的一个复杂的业务需求通常使用对象或业务类型来构建一个单体项目。单体系统在初期可以非常方便的进行开发和使用,但是随着系统的发展,维护成本会愈来越大,且难以控制。
所以为了解决这个问题,产生了微服务架构。将系统中的不同功能模块拆分成多个不同的服务,这些服务都可以独立的部署和扩展,不会影响到其他的功能模块。可以更准确的为每个服务评估性能容量。

微服务特性

  1. 服务组件化
  2. 按业务组织团队
  3. 做“产品“的态度
  4. 智能端点与哑管道
  5. 去中心化治理
  6. 去中心化管理数据
  7. 基础设置自动化
  8. 容错设计
  9. 演进式设计

什么是SpringCloud

SpringCloud是一个基于SpringBoot实现的微服务架构开发工具(所以在学习SpringCloud之前,一定要了解SpringBoot)。它为微服务架构中设计的配置管理、服务治理、断路器、智能路由、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

SpringCloud子项目

针对分布式系统中设计的多个不同开源产品,有不同的子项目,还可能会新增。只是列举出名字,部分子项目会在后面进行分析。
Spring Cloud 2.0 实战——序言