2021年7月29日星期四

Spring Cloud (一)概述

SpringCloud整体架构概览

什么是SpringCloud

目标

协调任何服务,简化分布式系统开发。

简介

构建分布式系统不应该是复杂的,SpringCloud对常见的分布式系统模式提供了简单易用的编程模型,帮助开发者构建弹性、可靠、协调的应用程序。
SpringCloud是在SpringBoot的基础上构建的,使开发者可以轻松入门并快速提高工作效率。
SpringCloud为开发人员提供了快速构建分布式系统架构的工具,例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态等。

整体架构

来自Spring官网

SpringCloud的版本关系

SpringCloud是一个由许多子项目组成的综合项目,各子项目有不同的发布节奏。
为了管理SpringCloud与各子项目的版本依赖关系,发布了一个清单,其中包括了某个SpringCloud版本对应的子项目版本。
为了避免SpringCloud版本号与子项目版本号混淆,SpringCloud版本采用了名称而非版本号的命名,这些版本的名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序,例如Angel是第一个版本, Brixton是第二个版本。
当SpringCloud的发布内容积累到临界点或者一个重大BUG被解决后,会发布一个"service releases"版本,简称SRX版本,比如Greenwich.SR2就是SpringCloud发布的Greenwich版本的第2个SRX版本。

SpringCloud子项目简介

Spring Cloud Config

集中配置管理工具,分布式系统中统一的外部配置管理,默认使用Git来存储配置,可以支持客户端配置的刷新及加密、解密操作。

Spring Cloud Netflix

Netflix OSS 开源组件集成,包括Eureka、Hystrix、Ribbon、Feign、Zuul等核心组件。

  • Eureka:服务治理组件,包括服务端的注册中心和客户端的服务发现机制;
  • Ribbon:负载均衡的服务调用组件,具有多种负载均衡调用策略;
  • Hystrix:服务容错组件,实现了断路器模式,为依赖服务的出错和延迟提供了容错能力;
  • Feign:基于Ribbon和Hystrix的声明式服务调用组件;
  • Zuul:API网关组件,对请求提供路由及过滤功能。

Spring Cloud Bus

用于传播集群状态变化的消息总线,使用轻量级消息代理链接分布式系统中的节点,可以用来动态刷新集群中的服务配置。

Spring Cloud Consul

基于Hashicorp Consul的服务治理组件。

Spring Cloud Security

安全工具包,对Zuul代理中的负载均衡OAuth2客户端及登录认证进行支持。

Spring Cloud Sleuth

SpringCloud应用程序的分布式请求链路跟踪,支持使用Zipkin、HTrace和基于日志(例如ELK)的跟踪。

Spring Cloud Stream

轻量级事件驱动微服务框架,可以使用简单的声明式模型来发送及接收消息,主要实现为Apache Kafka及RabbitMQ。

Spring Cloud Task

用于快速构建短暂、有限数据处理任务的微服务框架,用于向应用中添加功能性和非功能性的特性。

Spring Cloud Zookeeper

基于Apache Zookeeper的服务治理组件。

Spring Cloud Gateway

API网关组件,对请求提供路由及过滤功能。

Spring Cloud OpenFeign

基于Ribbon和Hystrix的声明式服务调用组件,可以动态创建基于Spring MVC注解的接口实现用于服务调用,在SpringCloud 2.0中已经取代Feign成为了一等公民。

Spring Cloud Alibaba概述

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

Github:https://github.com/alibaba/spring-cloud-alibaba

SpringCloud Alibaba 组件简介

Spring Cloud的几大痛点

  • 部分组件停止维护和更新,有问题也不易解决
  • 部分环境搭建起来比较复杂,没有非常友好的可视化界面
  • 配置相对来说复杂,需要较高的学习成本

Spring Cloud Alibaba的优势

  • 阿里经历过了时间的考验
  • 设计合理
  • 拥有不错的可视化界面,方便运维监控和排查问题
  • 环境搭建和配置简单,学习成本低

SpringCloud Alibaba技术的搭配方案

描述Spring CloudSpring Cloud Alibaba组合选用
服务发现组件Eureka(停止维护)服务发现组件Nacos 注册中心Spring Cloud Alibaba - Nacos
配置中心组件Spring Cloud Config 配置中心Nacos 配置中心Spring Cloud Alibaba - Nacos
断路保护组件Hystrix 断路保护Sentinel 服务容错Spring Cloud Alibaba - Sentinel
链路追踪组件Sleuth 调用链监控/Spring Cloud - Sleuth
负载均衡组件Ribbon/Spring Cloud - Ribbon
远程调用组件OpenFeign (HTTP+JSON)Dubbo(RPC框架)Spring Cloud - OpenFeign
分布式事务/Seata 分布式事务Spring Cloud Alibaba - Seata
API 网关Gateway/Spring Cloud - Gateway

Spring Cloud Alibaba版本

项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从 0 开始取值,且不限于 0~9 这个范围。项目处于孵化器阶段时,第一位版本号固定使用 0,即版本号为 0.x.x 的格式。

由于 Spring Boot 1 和 Spring Boot 2 在 Actua......

原文转载:http://www.shaoqun.com/a/902634.html

跨境电商:https://www.ikjzd.com/

笨鸟海淘:https://www.ikjzd.com/w/1550

大森林:https://www.ikjzd.com/w/2268

灯塔计划:https://www.ikjzd.com/w/1281


SpringCloud整体架构概览什么是SpringCloud目标协调任何服务,简化分布式系统开发。简介构建分布式系统不应该是复杂的,SpringCloud对常见的分布式系统模式提供了简单易用的编程模型,帮助开发者构建弹性、可靠、协调的应用程序。SpringCloud是在SpringBoot的基础上构建的,使开发者可以轻松入门并快速提高工作效率。SpringCloud为开发人员提供了快速构建分布式
crowd:https://www.ikjzd.com/w/880
这里是岭南第一奇观,有独一无二的星辰天象,自然美景属人间仙境:http://www.30bags.com/a/225828.html
这里是鸟儿的"天堂":http://www.30bags.com/a/223025.html
这里是青海!不去治不好,去过戒不掉!:http://www.30bags.com/a/270342.html
这里是人称"东方夏威夷"的中国最美海岛之一,隐藏着超多的绝世美景!:http://www.30bags.com/a/223605.html
我和合租女人的疯狂偷情故事(5/5):http://lady.shaoqun.com/a/54422.html
口述:我和良家妇女火热的婚外关系(4/4):http://lady.shaoqun.com/a/38731.html
女同桌让我伸进她的裤子里 女同学让我尽情的玩弄她:http://www.30bags.com/m/a/249714.html
性生活中的三种行为伤害了前列腺和子宫!但你错误地认为自己很强:http://lady.shaoqun.com/a/439519.html
如梦之梦深圳购票时间:http://www.30bags.com/a/530770.html
一名女工夜间告白:http://lady.shaoqun.com/a/439520.html
我和我婆婆之间发生了什么:http://lady.shaoqun.com/a/439521.html