当前位置: 首页 > news >正文

spring-cloud-netflix 组件概述

文章目录

  • Spring-Cloud-Hoxton SR3
  • 兼容矩阵
  • 组件
    • 实现方案
  • 引发的问题


Spring-Cloud-Hoxton SR3

兼容矩阵

  • https://spring.io/projects/spring-cloud
  • Table 1. Release train Spring Boot compatibility:
Release TrainBoot Version
2021.0.x aka Jubilee2.6.x, 2.7.x (Starting with 2021.0.3)
2020.0.x aka Ilford2.4.x, 2.5.x (Starting with 2020.0.3)
Hoxton2.2.x, 2.3.x (Starting with SR5)
Greenwich2.1.x
Finchley2.0.x
Edgware1.5.x
Dalston1.5.x

组件

  • 为了让微服务这一套应用运行起来, 需要各种组件的支持, 按其关键性 必要与非必要 我把它分为几类组件: 基础/核心组件, 性能组件, 辅助解决/排查问题组件, 其他组件
  • 基础/核心组件
    • eureka(netflix), : 注册中心一定得有, 没有它无法实现服务得发现 更无法实现服务调用
    • feign(netflix), : 没有feign 远程调用会很麻烦
    • zuul(netflix)/gateway,
  • 性能组件:
    • ribbon(netflix)/cloud_loadbalancer, : 每个应用多个实例, 必须得负载均衡调用

    • hytrix(netflix)

    • web_flux, sentinal

  • 辅助组件:
    • spring-cloud-admin

    • spring_cloud_config,

    • spring-sleuth, zipkin, sky-walking

    • actuator:服务节点信息上报

实现方案

  • *号不建议使用;
组件netflix官方Alibabazookeeperconsulkubernetes
分布式配置Archaius*spring-cloud-config;spring-environment;SCC client/serverNacoszookeeperconsulconfigMap
服务注册/发现Eureka-1.0;Eureka-2.0*Service-Registry,Service-DiscoveryNacoszookeeperconsulApi Server
服务熔断Hystrix*Spring-Cloud-Circuit-BreakerSentinel---
服务调用FeignOpenFeign/RestTemplateDubbo Rpc---
服务路由Zuulspring-cloud-getewayDubbo Proxy---
负载均衡Ribbon*Srping-Cloud-LoadBanlancerDubbo LB---
分布式事务--Seata---
分布式消息-SCS RabbitMQ/Kafka;Spring-Cloud-StreamSCS RocketMQ-SCS consul-
消息总线-Spring-Cloud-BusSCB-SCB consul-

引发的问题

  • 事务 -> 分布式事务

  • 线程同步/锁 -> 分布式锁: zookeeper-包装成curator, redis-Redlock

  • 分布式任务调度

  • 分布式文件存储

  • 企业级消息总线: 统一消息格式, 消息聚合 过滤 路由

    • SpringCloudStream;
    • SpringIntegration; Apache-Camel;
    • Spring-Messaging
  • MQ 直连: spring-for/activeMQ/RabbitMQ/Kafka/RocketMQ

相关文章:

  • 【MICCAI 2022】PHTrans:并行聚合全局和局部表示以进行医学图像分割
  • 渗透学习-靶场篇-XSS-labs(持续更新中)
  • 【SpringCloud】三、 分布式系统的延迟和容错
  • Ultra Fast Deep Lane Detection with HybridAnchor Driven Ordinal Classification
  • CodeChef 补题
  • k8s 污点和容忍
  • Rust(6):高阶函数和发散函数
  • 交换机与路由技术-30-标准ACL
  • 软件测试——基础篇
  • 使用 Sprinkles 构建您自己的类型安全版本的 Tailwind CSS
  • 【第十一章 Set接口概述,HashSet,LinkedHashSet,TreeSet】
  • C语言动态内存管理(malloc,calloc,free,realloc)
  • JavaScript数组去重的方式
  • console对象与控制台
  • JavaSE错题收集
  • Bytom交易说明(账户管理模式)
  • CentOS7简单部署NFS
  • ES6 学习笔记(一)let,const和解构赋值
  • go语言学习初探(一)
  • JavaScript 基本功--面试宝典
  • JavaScript 奇技淫巧
  • JavaWeb(学习笔记二)
  • Java小白进阶笔记(3)-初级面向对象
  • laravel5.5 视图共享数据
  • LeetCode29.两数相除 JavaScript
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • SOFAMosn配置模型
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 分享一份非常强势的Android面试题
  • 普通函数和构造函数的区别
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 由插件封装引出的一丢丢思考
  • 从如何停掉 Promise 链说起
  • 第二十章:异步和文件I/O.(二十三)
  • ​Java并发新构件之Exchanger
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #pragam once 和 #ifndef 预编译头
  • #鸿蒙生态创新中心#揭幕仪式在深圳湾科技生态园举行
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #数学建模# 线性规划问题的Matlab求解
  • #我与Java虚拟机的故事#连载10: 如何在阿里、腾讯、百度、及字节跳动等公司面试中脱颖而出...
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (3)nginx 配置(nginx.conf)
  • (39)STM32——FLASH闪存
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (pytorch进阶之路)扩散概率模型
  • (ZT)出版业改革:该死的死,该生的生
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (九)信息融合方式简介
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)