SpringCloud(1-2)什么是springCloud

初识 Spring Cloud

#0. 微服务

微服务架构通常会与单体架构(Monolithic Style)进行比较。Web 应用程序发展的早期,大部分 Web 工程是将所有的功能模块打包到一起部署和运行,例如 Java 应用程序打包为一个 war 包。在单体应用中,所有这些模块都被集成在一起,这样运行的系统就叫做单体应用。

单体应用的优点是开发简单直接,集中式管理基本不会重复开发;功能都在本地,没有分布式的管理开销和调用开销。缺点也很明显,如开发效率低、代码维护难,稳定性和扩展性都存在不足。

微服务最早是由 Martin Fowler 与 James Lewis 于 2014 年共同提出。

微服务架构,是一种软件架构方式。微服务的主要特点体现在组件化、松耦合、自治和去中心化等方面。它将应用构建成一系列按业务领域划分模块的、小的自治服务,通过分解巨大单体式应用为多个服务方法解决了复杂性问题。每个服务还提供了一个严格的模块边界,甚至允许用不同的编程语言编写不同的服务。不过,微服务应用是分布式系统,由此会带来分布式系统固有的复杂性,包括测试、运维的复杂度。

#1. 什么是 Spring Cloud

Spring Cloud 是微服务架构思想的一个具体实现,它为开发人员提供了快速构建分布式系统中一些常见模式的工具(如,配置管理、服务发、断路器、智能路由、微代理、控制总线等)。

Spring Cloud 基于 Spring Boot 框架,它不重复造*,而是将第三方实现的微服务应用的一些模块集成进去。准确的说,Spring Cloud 是一个概念上容器,它包含了一整套组件。

最简单的 Spring Cloud 微服务架构包括『服务发现』和『服务提供者』(即,一个大型系统拆分出来的子模块),最极端的微服务可以做到一个方法就是一个服务,一个方法就是一个项目,当然,真拆成这样那就十分过分了。

说明

在一个系统中,服务怎么拆分,要具体问题具体分析,取决于业务。

早期的 Spring Cloud 五大组件包括:Eureka、Ribbon、Hystrix、Zuul、Config 。

早期的 Spring Cloud 的发展基本上就是 Netflix 一家公司全力推动,上述 5 大组件中前 4 个都是由 Netflix 公司开源、捐赠出来的。

后来随着 Spring Cloud 的社区的发展,特别是 Alibaba 在 Spring Cloud 社区中的扮演越来越重要的作用和推力,Spring Cloud 社区中出现了更多、更好、根据特色的组件以供大家选择。

 

上一篇:源码分享:基于SpringCloud的典当管理系统


下一篇:莫队