Apache RocketMQ 从入门到实战
集群中数据一致性采取的最终一致性。 2. Broker 消息存储服务器,分为两种角色:Master 与 Slave,上图中呈现的就是 2 主 2 从的部 署架构,在 RocketMQ 中,主服务承担读写操作,从服务器作为一个备份,当主服务器存 在压力时,从服务器可以承担读服务(消息消费)。所有 Broker,包含 Slave 服务器每隔 30s 会向 Nameserver 发送心跳包,心跳包中会包含存在在 那这三个消费者如何来分工来共同消费 order_topic 中的消息呢? 在 RocketMQ 中支持广播模式与集群模式。 广播模式:一个消费组内的所有消费者每一个都会处理 topic 中的每一条消息,通常用 于刷新内存缓存。 集群模式:一个消费组内的所有消费者共同消费一个 topic 中的消息,即分工协作,一 个消费者消费一部分数据,启动负载均衡, 集群模式是非常普遍的模式,符合分布式架构的基本理念,即横向扩容,当前消费者如 列,不符合期望。 本文来自『中间件兴趣圈』公众号,仅作技术交流,未授权任何商业行为。 19 > 1.2 生产环境中,autoCreateTopicEnable 为什么不能设置为 true 默认读写队列的个数为 4。 我们再来看一下 RocketMQ 默认 topic 的路由信息截图如下: 从图中可以默认 Topic 的路由信息为 broker-a、broker-b 上各 8 个队列。 二、思考0 码力 | 165 页 | 12.53 MB | 1 年前3从推荐模型的基础特点看大规模推荐类深度学习系统的设计 袁镱
更少的机器节点,更少的分布式系统相关问题 � 更⾼的性价⽐ 1. 减少节点数 2. 提升节点同 构性 推理服务—分布式Serving架构 � 读写架构 � 多线程⽆锁:基于模型版本的读写分离 � 多机:多副本并⾏读取 � CPU:固定64位key,基于L1缓存的查 询优化 � 业务需求 � 模型⼤⼩超TB � 单个请求需要15W个key � 耗时要求10ms以下 � 资讯业务请求量⼤ (>10000请求/秒) � 模型有多个版本 � 原有在线分布式存储系统的 问题 � 主备模式资源严重浪费 � 数据读写需要加锁 � ⽀持多模型和模型多版本 困难 >15亿key/秒 近千台 只读版本 写版本 CPU型服务 Feature 2.2 Hotkey缓存优化 <10台 内存型服务 并发查询优化 数⼗台 ⽹络型服务 TB级模型实时上线 � 问题:TB模型实时多地传输和加载成本⾼0 码力 | 22 页 | 6.76 MB | 1 年前3动手学深度学习 v2.0
. 70 2.5.2 非标量变量的反向传播 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.5.3 分离计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 2.5.4 Python控制流的梯度计算 实战Kaggle比赛:预测房价 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 4.10.1 下载和缓存数据集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 4.10.2 Kaggle . . 4.2 带参数的层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 5.5 读写文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 50 码力 | 797 页 | 29.45 MB | 1 年前3OpenShift Container Platform 4.14 存储
5.3. 共享资源 CSI DRIVER OPERATOR 5.4. CSI 卷快照 5.5. CSI 卷克隆 5.6. 管理默认存储类 5.7. CSI 自动迁移 5.8. 在非正常节点关闭后分离 CSI 卷 5.9. ALICLOUD DISK CSI DRIVER OPERATOR 5.10. AWS ELASTIC BLOCK STORE CSI DRIVER OPERATOR 5 除了持久性存储外,Pod 和容器还需要临时或短暂的本地存储才能进行操作。此临时存储的生命周期不会 超过每个 pod 的生命周期,且此临时存储无法在 pod 间共享。 Pod 使用临时本地存储进行涂销空间、缓存和日志。与缺少本地存储相关的问题包括: Pod 无法检测到有多少可用的本地存储。 Pod 无法请求保证的本地存储。 本地存储是一个最佳资源。 pod 可能会因为其他 pod 填充本地存储而被 似,pod 会消耗节点资源, PVC 消耗 PV 资源。例如:pod 可以请求特定级别的资源,比如 CPU 和内 存,而 PVC 可以请求特定的存储容量和访问模式。例如:它们可以被加载为“只允许加载一次,可读写”, 或“可以加载多次,只读”。 3.2. 卷和声明的生命周期 PV 是集群中的资源。PVC 是对这些资源的请求,也是对该资源的声明检查。PV 和 PVC 之间的交互有以 下生命周期。 3.20 码力 | 215 页 | 2.56 MB | 1 年前3OpenShift Container Platform 4.10 可伸缩性和性能
KUBELET 参数 1.3. 修改不可用 WORKER 节点的数量 1.4. CONTROL PLANE 节点大小 1.5. 推荐的 ETCD 实践 1.6. 将 ETCD 移动到不同的磁盘 1.7. 分离 ETCD 数据 1.8. OPENSHIFT CONTAINER PLATFORM 基础架构组件 1.9. 移动监控解决方案 1.10. 移动默认 REGISTRY 1.11. 移动路由器 1 安装 TOPOLOGY AWARE LIFECYCLE MANAGER 16.5. 关于 CLUSTERGROUPUPGRADE CR 16.6. 更新受管集群上的策略 16.7. 使用容器镜像预缓存功能 16.8. 对 TOPOLOGY AWARE LIFECYCLE MANAGER 进行故障排除 第 第 17 章 章 创 创建性能配置集 建性能配置集 17.1. 关于性能配置集创建器 17 输入以下命令应用删除创建和同步设备的逻辑的修改版本: 上一步可防止节点重新引导。 其他 其他资 资源 源 Red Hat Enterprise Linux CoreOS (RHCOS) 1.7. 分离 ETCD 数据 对于大型、高密度的集群,如果键空间增长过大并超过空间配额,etcd 的性能将会受到影响。定期维护并 处理碎片化的 etcd,以释放数据存储中的空间。监控 Prometheus 以了解0 码力 | 315 页 | 3.19 MB | 1 年前3OpenShift Container Platform 4.9 构建应用程序
行的单独服务或应用程序。 在最简单的配置中,代理会原封不动转发请求。在比较复杂的设置中,可以复制传入的请求,同时将它们 发送到独立集群以及应用程序的本地实例,并且比较其结果。其他模式包括使 DR 安装的缓存保持活跃, 或抽样传入的流量来满足分析需要。 任何 TCP(或 UDP)代理都可以在所需的分片下运行。使用 oc scale 命令更改代理分片下服务请求的相 对数量。对于更复杂的流量管理,请考虑使用比例平衡功能自定义 同时运行新旧代码的应用程序必须要谨慎处理,以确保新代码写入的数据能被旧版代码读取和处理(或恰 当忽略)。这有时被称为架构演进,而且是一个复杂的问题。 这可采用多种形式:数据存储在磁盘、数据库或临时缓存中,或作为用户浏览器会话的一部分。虽然大多 数 Web 应用程序都支持滚动部署,但务必要测试并设计您的应用程序以便能处理它。 在一些应用程序中,同时运行新旧代码的时间是短暂的,因此程序错误或一些用户事务失败是可以接受 配置映射允许您将配置工件与镜像内容分离,从而使容器化应用程序可以移植。 以下部分定义配置映射以及如何创建和使用它们。 有关创建配置映射的详情,请参考创建和使用配置映射。 9.1. 了解配置映射 许多应用程序需要使用配置文件、命令行参数和环境变量的某些组合来进行配置。在 OpenShift Container Platform 中,这些配置工件与镜像内容分离,以便使容器化应用程序可以移植。0 码力 | 184 页 | 3.36 MB | 1 年前3OpenShift Container Platform 4.10 虚拟化
Platform 4.10 虚 虚拟 拟化 化 12 1 默认克隆方法设置为 copy(复制 复制)。 在某些情况下,多个虚拟机可以以读写模式挂载相同的 PVC,这可能会导致数据崩溃。 (BZ#1992753) 作为临时解决方案,请避免在使用多个虚拟机的读写模式中使用单个 PVC。 Pod Disruption Budget(PDB)可防止 pod 意外中断。如果 PDB 检测到 pod 中断,则 某些节点不会受到 OpenShift Virtualization 的影响。例如,您有与集群中运行的虚拟化不相关的 工作负载,希望这些工作负载与 OpenShift Virtualization 分离。 4.2.1.1. 如何将 如何将节点放置 点放置规则应用到虚 用到虚拟化 化组件 件 您可以通过直接编辑对应对象或使用 Web 控制台为组件指定节点放置规则。 对于 Operator Lifecycle 只有底层存储支持时才使用 Block。 访问模式 持久性卷访问模 式。 ReadWriteOnce (RWO) 卷可以被一个节点以读写模式挂 载。 第 第 8 章 章 虚 虚拟 拟机 机 51 ReadWriteMany (RWX) 卷可以被多个节点以读写模式挂 载。 注意 注意 对于一些功能 (如虚拟机在 节点间实时迁 移)需要这个 权限。 ReadOnlyMany (ROX)0 码力 | 307 页 | 3.45 MB | 1 年前3OpenShift Container Platform 4.10 构建应用程序
行的单独服务或应用程序。 在最简单的配置中,代理会原封不动转发请求。在比较复杂的设置中,可以复制传入的请求,同时将它们 发送到独立集群以及应用程序的本地实例,并且比较其结果。其他模式包括使 DR 安装的缓存保持活跃, 或抽样传入的流量来满足分析需要。 任何 TCP(或 UDP)代理都可以在所需的分片下运行。使用 oc scale 命令更改代理分片下服务请求的相 对数量。对于更复杂的流量管理,请考虑使用比例平衡功能自定义 同时运行新旧代码的应用程序必须要谨慎处理,以确保新代码写入的数据能被旧版代码读取和处理(或恰 当忽略)。这有时被称为架构演进,而且是一个复杂的问题。 这可采用多种形式:数据存储在磁盘、数据库或临时缓存中,或作为用户浏览器会话的一部分。虽然大多 数 Web 应用程序都支持滚动部署,但务必要测试并设计您的应用程序以便能处理它。 在一些应用程序中,同时运行新旧代码的时间是短暂的,因此程序错误或一些用户事务失败是可以接受 配置映射允许您将配置工件与镜像内容分离,从而使容器化应用程序可以移植。 以下部分定义配置映射以及如何创建和使用它们。 有关创建配置映射的详情,请参考创建和使用配置映射。 10.1. 了解配置映射 许多应用程序需要使用配置文件、命令行参数和环境变量的某些组合来进行配置。在 OpenShift Container Platform 中,这些配置工件与镜像内容分离,以便使容器化应用程序可以移植。0 码力 | 198 页 | 3.62 MB | 1 年前3OpenShift Container Platform 4.8 存储
除了持久性存储外,Pod 和容器还需要临时或短暂的本地存储才能进行操作。此临时存储的生命周期不会 超过每个 pod 的生命周期,且此临时存储无法在 pod 间共享。 Pod 使用临时本地存储进行涂销空间、缓存和日志。与缺少本地存储相关的问题包括: Pod 不知道有多少可用的本地存储。 Pod 无法请求保证的本地存储。 本地存储无法保证可以满足需求。 Pod 可能会因为其他 pod 已使用完本地存 似,pod 会消耗节点资源, PVC 消耗 PV 资源。例如:pod 可以请求特定级别的资源,比如 CPU 和内 存,而 PVC 可以请求特定的存储容量和访问模式。例如:它们可以被加载为“只允许加载一次,可读写”, 或“可以加载多次,只读”。 3.2. 卷和声明的生命周期 PV 是集群中的资源。PVC 是对这些资源的请求,也是对该资源的声明检查。PV 和 PVC 之间的交互有以 下生命周期。 3.2 spec 和 status,它们分别代表卷的规格和状态,例如: PersistentVolume 对 对象定 象定义 义示例 示例 持久性卷的名称。 卷可以使用的存储容量。 访问模式,用来指定读写权限及挂载权限。 重新声明策略,指定在资源被释放后如何处理它。 3.3.1. PV 类型 OpenShift Container Platform 支持以下持久性卷插件: AWS Elastic0 码力 | 118 页 | 1.60 MB | 1 年前3OpenShift Container Platform 4.13 虚拟化
作为临时解决方案,您可以使用连接到主机的二级网络接口,或切换到 OpenShift SDN 默认 CNI 供应商。 在某些情况下,多个虚拟机可以以读写模式挂载相同的 PVC,这可能会导致数据崩溃。 (BZ#1992753) 作为临时解决方案,请避免在使用多个虚拟机的读写模式中使用单个 PVC。 Pod Disruption Budget(PDB)可防止 pod 意外中断。如果 PDB 检测到 pod 中断,则 某些节点不会受到 OpenShift Virtualization 的影响。例如,您有与集群中运行的虚拟化不相关的 工作负载,希望这些工作负载与 OpenShift Virtualization 分离。 6.2.1.1. 如何将 如何将节点放置 点放置规则应用到虚 用到虚拟化 化组件 件 您可以通过直接编辑对应对象或使用 Web 控制台为组件指定节点放置规则。 对于 Operator Lifecycle 只有底层存储支持时才使用 Block。 访问模式 持久性卷访问模 式。 ReadWriteOnce (RWO) 卷可以被一个节点以读写模式挂 载。 第 第 10 章 章 虚 虚拟 拟机 机 87 ReadWriteMany (RWX) 卷可以被多个节点以读写模式挂 载。 注意 注意 对于一些功能 (如虚拟机在 节点间实时迁 移)需要这个 权限。 ReadOnlyMany (ROX)0 码力 | 393 页 | 4.53 MB | 1 年前3
共 141 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15