干货

2023-10-26

  • SpringCloud的从整体架构上看,相对来说是完整的、庞大的。
  • 它不仅仅是一个基础性架构工具,它为微服务架构提供了一个“全家桶”的套餐。
  • 每一个模块关注各自的职能,并且能够很好地配合与协作,能够帮助入门者快速搭建起一套微服务架构的服务。

内容快速一览

什么是微服务?Microservices

  • 将原本一个独立的系统,拆分成若干小服务
  • 小服务之间通过REST API进行交互通信
  • 每个小服务各自部署、各自维护、独立扩展
  • 易于控制整体服务,降低整体耦合性,各部分根据各自需求开发与上线
  • “微”也不是拆的越碎越好,也要考虑自身服务的完整性、服务部署与维护的复杂性等

如何实施微服务?

  • 微服务表明存在多个独立的小服务,但这么多独立的服务需要能够互相通信实现调用,保持整体的可用性
  • 将服务进行组件化。原本使用方法直接调用的,需要转化为REST API的方式进行调用
  • CI/CD流程自动化。更多的服务,代表更大的运维复杂度,也代表更大的服务风险,所以需要自动化的CI/CD流程来降低运维复杂度

微服务界有哪些组件可选择?

虽说SpringCloud已经提供了一整套实现微服务的流程,但是民间也有不少因不能满足某些场景而自行实现或优化的微服务组件,所以也并不是一定需要选用全家桶内的组件,也要聚焦于当前应用的场景。

  • 服务治理:
    • Dubbo(Alibaba)
    • DubboX(dangdang)
    • Eureka(Netflix)
    • Consul(Apache)
  • 分布式配置管理:
    • Config(SpringCloud)
    • Nacos(alibaba)
    • Disconf(baidu)
    • QConf(360)
    • Diamond(taobao)
    • Zookeeper(Apache)
  • 批量任务:
    • Task(SpringCloud)
    • Azkaban(LinkedIn)
    • Elastic-Job(dangdang)
    • XXL-Job(个人)
    • DolphinScheduler(Apache)
  • 服务追踪:
    • Sleuth(SpringCloud)
    • Zipkin(Twitter)
    • Skywalking(Apache)

除了SpringCloud原生组件,民间也是涌现了不少基于不同场景进行优化的各类组件。

SpringCloud包含哪些功能模块?

在这里插入图片描述

  • SpringCloud是基于SpringBoot实现的微服务架构,能够保留一切SpringBoot可以带给你的丝滑和便利,
  • 包含有配置管理、服务治理、断路器、智能路由、为代理、控制总线、全局锁、决策精选、分布式会话、集群状态管理等

官方全家桶所包含的子组件有:

  • Spring Cloud Confg: 配置管理工具,可以配置的外部化存储,客户端刷新、加密/解密等。
  • Spring Cloud Netflix: 核心组件。
    • Eureka: 服务治理组件,包含服务注册中心、服务注册与发现
    • Hystrix: 容错管理组件,实现断路器模式。
    • Ribbon: 客户端负载均衡的服务调用组件
    • Feign: 基于 Ribbon 和 Hystrix 的声明式服务调用组件。
    • Zuul: 网关组件,实现智能路由、访问过滤。
    • Archaius:外部化配置组件。
  • Spring Cloud Bus: 事件、消息总线。
  • Spring Cloud Cluster: 针对 ZooKeeper、Redis、Hazelcast、Consul 的选举算法和通用状态模式的实现。
  • Spring Cloud Cloudfoundry: 服务发现与配置管理工具。
  • Spring Cloud Stream: 通过 Redis、Rabbit 或者 Kafka 实现的消费微服务。
  • Spring Cloud Sleuth: 整合 Zipkin,实现较完整的链路追踪。
  • Spring Cloud ZooKeeper: 基于 ZooKeeper 的服务发现与配置管理组件。
  • Spring Cloud Starters: Spring Cloud 的基础组件,基础依赖模块。
  • Spring Cloud CLI: CLI插件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

干货 的相关文章

随机推荐

  • SpringBootWeb登录认证

    登录服务端的核心逻辑就是 接收前端请求传递的 用户名 和 密码 然后再根据用户名和密码查询用户信息 如果用户信息存在 则说明用户输入的用户名和密码正确 如果查询到的用户不存在 则说明用户输入的用户名和密码错误 统一拦截 可以使用两种技术实现
  • 2016年10月—信息安全工程师—上午综合知识(26-30)

    信安16年10月 试题26 26 已知DES算法的S盒如下 如果该S盒的输入110011 则其二进制输出为 A 0110 B 1001 C 0100 D 0101 尚大参考答案 C 解析 本题考查考生对DES算法中S 盒的运用 DES算法是
  • 2.COM接口

    2 1 再谈接口与实现 其实从上一章 COM是个更好的C 可以看出 COM最重要的就是将接口与实现分离 上一章中接口定义头文件中采用C 抽象类的形式 如果调用方是C 环境当然不会有问题 但如果调用方不是C 的编译环境呢 为了把 接口定义 与
  • Mean Average Precision(mAP),Precision,Recall,Accuracy,F1_score,PR曲线、ROC曲线,AUC值,决定系数R^2 的含义与计算...

    背景 之前在研究Object Detection的时候 只是知道Precision这个指标 但是mAP mean Average Precision 具体是如何计算的 暂时还不知道 最近做OD的任务迫在眉睫 所以仔细的研究了一下mAP的计算
  • 期货开户供求平衡周而复始

    1 供求关系和价值规律的演变方程式 人们常说 价格围绕价值波动 傅海棠认为更准确的说法应是 价格围绕成本波动 大部分时间 价格在成本之上 小部分时间 价格在成本之下 价格低了 生产积极性受到抑制 供应减少 而低价还刺激需求 一个行业如果商品
  • 如何将你接入微信自动回答别人的问题

    要将我接入微信自动回答别人的问题 您需要使用微信的开放平台 API 使用开放平台 API 您可以创建一个小程序 该小程序可以接收用户发送的消息 并使用我这个语言模型来生成回复消息 具体来说 您需要以下步骤 在微信公众平台上注册一个小程序 并
  • Python每日一记42>>>机器学习中特征重要性feature_importances_

    在进行机器学习算法中 我们常用的算法就像下面的代码形式类型 经历导入数据 预处理 建模 得分 预测 但是总觉得少了点什么 虽然我们建模的目的是进行预测 但是我们想要知道的另一个信息是变量的重要性 在线性模型中 我们有截距和斜率参数 但是其他
  • LDO和DCDC电路的概述和区别

    一 什么是DCDC DCDC的意思是直流变 到 直流 不同直流电源值的转换 只要符合这个定义都可以叫DCDC转换器 常见的DCDC电路有buck boost buck boost分别是降压 升压 降压升压电路 二 什么是LDO LDO 是一
  • Linux驱动——设备树

    在对总线设备驱动进行详细说明时可以看出 虽然总线设备驱动可以实现驱动和设备分离 但是总线设备驱动引发另外的一个问题就是在相同的芯片不同的开发板上 当外设资源不同时需要在不同的设备文件中去定义引脚 这样就导致开发板中保留大量设备文件 为了解决
  • 多元任务,高额奖金!首届“开放原子开源大赛”等你参与!

    人类有各种交流方式 包括语言 文字 音乐 影像等 有的贴近生活 有的充满艺术感 然而 在人工智能时代 代码作为一种特殊的交流形式愈发重要 它使得人与人 人与机器之间能够高效便捷地沟通 从而为科技发展注入活力 开源 则是让这种交流变得更加丰富
  • Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)

    ADB很强大 记住一些ADB命令有助于提高工作效率 获取序列号 adb get serialno 查看连接计算机的设备 adb devices 重启机器 adb reboot 重启到bootloader 即刷机模式 adb reboot b
  • URL、URI和URN之间的区别

  • 程序员应该掌握的 10 个搜索技巧

    在今天 用户可以通过搜索引擎轻松找出自己想要的信息 但还是难以避免结果不尽如人意的情况 实际上 用户仅需掌握几个常用技巧即可轻松化解这种尴尬 下面介绍 10 个在进行 Google 搜索时可以使用的便捷技巧 其他搜索引擎也支持这 10 种技
  • C++外观模式

    外观模式 1 外观模式简介及应用场景 外观者模式其实就是相当于对一组子系统功能的组合 对外提供统一的简单接口的模式 当我们在实际开发中 一般情况下是一个单独的子系统对应的是一个独立的功能模块 但是随着业务功能的不断增加 对应子系统的迭代必然
  • CentOS8 服务篇4:FTP文件传输服务搭建与配置

    FTP 文件传输服务三种配置模式 匿名模式 本地用户模式 虚拟用户模式 安装ftp服务 安装完后再根据不同模式进行配置 root localhost yum repos d yum install y vsftpd ftp vsftpd是搭
  • Qt中qss样式表

    qss样式表是用于设置QT程序UI界面中控件的背景图片 大小 字体颜色 字体类型 按钮状态变化等属性 美化UI界面 实现界面和程序的分离 可以快速切换皮肤 1 基本语法 selector attribute value 说明 selecto
  • Java生成exe执行文件

    一 准备工作 下载可将jar包转换的工具EXE4J工具 下载地址为 https www ej technologies com download exe4j files 下载完成 直接点击下一步安装 直到安装完成 导出项目jar包 按以下步
  • javaFile类知识点总结

    1 File类 Java io File类是文件和目录路径名的抽象表示 主要用于文件和目录的创建 查找 删除等操作 File中的静态成员变量 pathSeparator与系统有关的路径分隔符 File pathSeparator 代表路径分
  • android系统删除apk的广播,研究androidapk安装卸载等产生的系统广播

    想更加清楚的了解 android 系统在安装 卸载时产生的系统广播 于是写了一个 demo 来做监听 BroadReceiver 配置如下 html 这里有一点要注意 需配置 否则收不到广播 1 当你第一次安装某个应用的时候 java 10
  • 干货

    SpringCloud的从整体架构上看 相对来说是完整的 庞大的 它不仅仅是一个基础性架构工具 它为微服务架构提供了一个 全家桶 的套餐 每一个模块关注各自的职能 并且能够很好地配合与协作 能够帮助入门者快速搭建起一套微服务架构的服务 内容