SpringCloud基础介绍
- 什么是微服务
“微服务”一词来源于Martin Fowler 的一篇博文,https://martinfowler.com/articles/microservices.html
总结地说下,微服务是系统架构设计上的一种风格,旨在将一个多元化的大系统拆分成一个一个可以独立部署的小型服务,服务之间通过HTPP进行通信。这些服务围绕着业务功能构建,并且每个服务都维护着自身的数据存储,业务开发,自动化测试以及全自动机制独立部署。
注意:微服务架构并不是考虑的开始。我们应该是从整体开始,保持模块化,并在整体成为问题时将其拆分为微服务。
- SpringCloud简介
SpringCloud是基于SpringBoot实现的微服务架构开发工具。它为微服务架构中涉及到的配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理提供了一套非常简单的开发解决方案。
官方中文文档:https://springcloud.cc/
如下列举一些Spring Cloud的子项目:
Spring Cloud Config:配置管理工具,支持使用Git存储配置内容,可以使用它实现应用配置外部化存储,并支持客户端配置信息刷新、加密/解密配置内容。
Spring Cloud NetFlix:
该项目通过自动配置为Spring Boot应用程序提供Netflix OSS集成,并绑定到Spring环境和其他Spring编程模型成语。通过几个简单的注释,您可以快速启用和配置应用程序中的常见模式,提供的模式包括服务治理组件(Eureka),断路器(Hystrix),智能路由(Zuul)和客户端负载平衡(Ribbon),Rest客户端构建器(Fegin)
Spring Cloud Bus :
事件、消息总线、用于传播集群中的状态变化或者事件,以触发后续的处理,比如动态刷新配置
Spring Cloud Stream:
Spring Cloud Stream是构建消息驱动的微服务应用程序的框架。通过Redis、Rabbit或者Kafka实现的消费微服务,可以通过简单的申明式模型来发送和接收消息。
Spring Cloud Sleuth:
Spring Cloud Sleuth为Spring Cloud实现分布式跟踪解决方案。
当然Spring Cloud子项目远不止这些,我就不一一展示出来了,大家可以看官方中文文档:https://springcloud.cc/