微服务 SpringCloud 简介

简介

什么是微服务?

    微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于 HTTP 协议的 RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制。对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建

SpringCloud == 分布式微服务架构的一站式解决方案,是多种微服务架构落地技术的集合体,俗称微服务全家桶

在这里插入图片描述

SpringCloud 技术维度

Spring Cloud Config

由 git 存储库支持的集中式外部配置管理。 配置资源直接映射到 Spring Environment,但是如果需要,可以由非 Spring 应用程序使用

Spring Cloud Netflix

与各种Netflix OSS组件(Eureka,Hystrix,Zuul,Archaius等)集成

Spring Cloud Bus

事件总线,用于将服务和服务实例与分布式消息传递链接在一起。 对于在整个群集中传播状态更改(例如配置更改事件)很有用

Eureka

云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移

Hystrix

熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力

Zuul

Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门

Archaius

配置管理 API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能

Consul

封装了 Consul 操作,Consul 是一个服务发现与配置工具,与 Docker 容器可以无缝集成

Spring Cloud Sleuth

日志收集工具包,封装了 Dapper 和 log-based 追踪以及 Zipkin 和 HTrace 操作,为SpringCloud 应用实现了一种分布式追踪解决方案

Spring Cloud Data Flow

大数据操作工具,作为 Spring XD 的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式

Spring Cloud Security

基于 Spring Security 的安全工具包,为你的应用程序添加安全控制

Spring Cloud Zookeeper

操作Zookeeper的工具包,用于使用 Zookeeper 方式的服务发现和配置管理

Spring Cloud Stream

数据流操作开发包,封装了与 Redis、Rabbit、Kafka 等发送接收消息

Spring Cloud CLI

基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件

Ribbon

提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。

Feign

Feign 是一种声明式、模板化的 HTTP 客户端

Spring Cloud Task

提供云端计划任务管理、任务调度

Spring Cloud Connectors

便于云端应用程序在各种 PaaS 平台连接到后端,如:数据库和消息代理服务

Spring Cloud Cluster

提供 Leadership 选举,如:Zookeeper、Redis、 Hazelcast、 Consul 等常见状态模式的抽象和实现

Spring Cloud Starters

SpringBoot 式的启动项目,为 SpringCloud 提供开箱即用的依赖管理

Spring Cloud for Cloud Foundry

通过 Oauth2 协议绑定服务到 CloudFoundry,CloudFoundry 是 VMware 推出的开源 PaaS 云平台

Turbine

Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下 Hystrix 的 Metrics 情况

SpringCloud 技术栈

在这里插入图片描述
在这里插入图片描述

发布了227 篇原创文章 · 获赞 1032 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/Woo_home/article/details/105048078