Apache RocketMQ 从入门到实战作者简介 丁威,《RocketMQ 技术内幕》作者,RocketMQ 官方社区优秀布道师,荣获 CSDN2020 博客之星亚军;担任中通快递研发中心资深架构师,维护『中间件兴趣圈』公 众号,主打成体系剖析 Java 主流中间件,尝试从源码分析、架构设计、实战、故障分析等 维度深刻揭晓中间件技术,已覆盖 RocketMQ、Dubbo、Sentienl、Kafka、Canal、 MyCat 1. 扎实的 Java 基础功底 一个开源项目的底层都会涉及到存储,这就要求具备一定的数据结构基础,JAVA 集 合框架中的类自然成为了我们突破数据结构最好的老师,其次是 java 并发,即多线程、并 发容器、锁等课题,这方面可以好好学习一下 JUC 框架。最后最好是具备一些网络方面的 知识,例如 NIO、Netty。 2. 持续输出能力 成为一个开源项目的 contributions Nameserver 集群中数据一致性采取的最终一致性。 2. Broker 消息存储服务器,分为两种角色:Master 与 Slave,上图中呈现的就是 2 主 2 从的部 署架构,在 RocketMQ 中,主服务承担读写操作,从服务器作为一个备份,当主服务器存 在压力时,从服务器可以承担读服务(消息消费)。所有 Broker,包含 Slave 服务器每隔 30s 会向 Nameserver 发送心跳包,心跳包中会包含存在在0 码力 | 165 页 | 12.53 MB | 1 年前3
RocketMQ v3.2.4 开发指南接口,一旦收到消息,Consumer 对象立 刻回调 Listener 接口方法。 Pull Consumer Consumer 的一种,应用通常主劢调用 Consumer 的拉消息方法从 Broker 拉消息,主劢权由应用控制。 Producer Group 一类 Producer 的集合名称,返类 Producer 通常収送一类消息,丏収送逡辑一致。 Consumer Group 消费。 顺序消息 消费消息的顺序要同収送消息的顺序一致,在 RocketMQ 中,主要挃的是尿部顺序,即一类消息为满足顺 序性,必须 Producer 单线程顺序収送,丏収送到同一个队列,返样 Consumer 就可以挄照 Producer 収送 的顺序去消费消息。 普通顺序消息 顺序消息的一种,正常情冴下可以保证完全的顺序消息,但是一旦収生通信异常,Broker Broker 集群中只 要有一台机器丌可用,则整个集群都丌可用,服务可用性大大降低。 如果服务器部署为同步双写模式,此缺陷可通过备机自劢切换为主避免,丌过仍然会存在几分钟的服务丌 可用。(依赖同步双写,主备自劢切换,自劢切换功能目前迓未实现) 目前已知的应用只有数据库 binlog 同步强依赖严格顺序消息,其他应用绝大部分都可以容忍短暂乱序,推 荐使用普通的顺序消息。 Message Queue0 码力 | 52 页 | 1.61 MB | 1 年前3
OpenShift Container Platform 4.8 安装DNS 名称与本地主机名不同,则必须修改 --quayHostname。 2. 当镜像 registry 在代理后面设置时,会使用 --sslCheckSkip,并且公开的主机名与内部 Quay 主 机名不同。当用户不希望在安装过程中对提供的 Quay 主机名验证证书时,也可以使用它。 其他 其他资 资源 源 使用 SSL 保护到 Red Hat Quay 的连接 OpenShift Container 相同的架构。有效值为 amd64 (默认 值)。 字符串 compute.hyperthrea ding 是否在计算机器上启用或禁用并发多线 程或超 超线 线程 程。默认情况下,启用并发多 线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled compute.name 使用 compute 上安装 上安装 71 controlPlane.hypert hreading 是否在 control plane 机器上启用或禁用 并发多线程或超 超线 线程 程。默认情况下,启 用并发多线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled controlPlane.name 使用0 码力 | 2586 页 | 27.37 MB | 1 年前3
OpenShift Container Platform 4.10 安装quayHostname 标志不支持使用 IP 地址的安装。需要使用主机名进行安装。 2. 当镜像 registry 在代理后面设置时,会使用 --sslCheckSkip,并且公开的主机名与内部 Quay 主 机名不同。当用户不希望在安装过程中对提供的 Quay 主机名验证证书时,也可以使用它。 3.2.9. Mirror registry for Red Hat OpenShift 发现注记 mirror 第 第 4 章 章 在 在 ALIBABA 上安装 上安装 93 compute.hyperthrea ding 是否在计算机器上启用或禁用并发多 线 线 程或超 程或超线 线程 程。默认情况下,启用并发 多线程以提高机器内核的性能。 重要 重要 如果您禁用并发多线 程,请确保您的容量规 划考虑机器性能显著降 低的情况。 enabled 或 Disabled compute.name 必须指定相同的架构。有效值为 amd64 (默认值)。 字符串 controlPlane.hypert hreading 是否在 control plane 机器上启用或禁用 并发多 线 线程或超 程或超线 线程 程。默认情况下, 启用并发多线程以提高机器内核的性 能。 重要 重要 如果您禁用并发多线 程,请确保您的容量规 划考虑机器性能显著降 低的情况。 enabled 或 Disabled controlPlane0 码力 | 3142 页 | 33.42 MB | 1 年前3
OpenShift Container Platform 4.7 安装最低 IBM Z 系统环境 硬件要求 操作系统要求 IBM Z 网络连接要求 z/VM 客户虚拟机的磁盘存储 存储/主内存 9.1.3.6. 首选 IBM Z 系统环境 硬件要求 操作系统要求 IBM Z 网络连接要求 z/VM 客户虚拟机的磁盘存储 存储/主内存 9.1.3.7. 证书签名请求管理 9.1.4. 创建用户置备的基础架构 9.1.4.1. 用户置备的基础架构对网络的要求 最低 IBM Z 系统环境 硬件要求 操作系统要求 IBM Z 网络连接要求 z/VM 客户虚拟机的磁盘存储 存储/主内存 9.2.3.6. 首选 IBM Z 系统环境 硬件要求 操作系统要求 IBM Z 网络连接要求 z/VM 客户虚拟机的磁盘存储 存储/主内存 9.2.3.7. 证书签名请求管理 9.2.4. 创建用户置备的基础架构 9.2.4.1. 用户置备的基础架构对网络的要求 硬件要求 操作系统要求 IBM Power 客户机虚拟机的磁盘存储 PowerVM 客体虚拟机的网络 存储/主内存 11.1.2.6. 推荐的 IBM Power 系统要求 硬件要求 操作系统要求 IBM Power 客户机虚拟机的磁盘存储 PowerVM 客体虚拟机的网络 存储/主内存 11.1.2.7. 证书签名请求管理 11.1.3. 创建用户置备的基础架构 11.1.3.1.0 码力 | 2276 页 | 23.68 MB | 1 年前3
OpenShift Container Platform 4.13 安装JSON 或 YAML 格式的 Kubernetes API 对象的规格。配置文件可以包含部署、配置映射、secret 和 daemonset 等。 Kubelet 在集群的每个节点上运行的一个主节点代理,以确保容器在 pod 中运行。 负载 负载均衡器 均衡器 负载均衡器是客户端的单点联系。API 的负载均衡器在 control plane 节点之间分布传入的流量。 Machine Config quayHostname 标志不支持使用 IP 地址的安装。需要使用主机名进行安装。 2. 当镜像 registry 在代理后面设置时,会使用 --sslCheckSkip,并且公开的主机名与内部 Quay 主 机名不同。当用户不希望在安装过程中对提供的 Quay 主机名验证证书时,也可以使用它。 4.2.10. Mirror registry for Red Hat OpenShift 发现注记 mirror 决定池中机器的指令集合架构。目前, 不支持具有不同架构的集群。所有池都 必须指定相同的架构。有效值为 amd64 (默认值)。 字符串 compute: 超线程: 是否在计算机器上启用或禁用并发多 线 线 程或超 程或超线 线程 程。默认情况下,启用并发 多线程以提高机器内核的性能。 重要 重要 如果您禁用并发多线 程,请确保您的容量规 划考虑机器性能显著降 低的情况。 enabled 或 Disabled0 码力 | 4634 页 | 43.96 MB | 1 年前3
OpenShift Container Platform 4.6 在vSphere 上安装相同的架构。有效值为 amd64 (默认 值)。 字符串 compute.hyperthread ing 是否在计算机器上启用或禁用并发多线 程或超线程。默认情况下,启用并发多 线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled compute.name 使用 compute 时需要此值。机器池的 amd64 (默认 值)。 字符串 controlPlane.hyperth reading 是否在 control plane 机器上启用或禁用 并发多线程或超线程。默认情况下,启 用并发多线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled controlPlane.name 使用 controlPlane control plane 池。 是否要启用或禁用并发多线程或超线程。默认情况下,启用并发多线程以提高机器内核的性能。您 可以通过将参数值设为 Disabled 来禁用。如果您在某些集群机器上禁用并发多线程,则必须在所有 集群机器上禁用。 重要 重要 如果禁用并发多线程,请确保在容量规划时考虑到机器性能可能会显著降低的问题。 如果您禁用并发多线程,则计算机必须至少使用 8 个 CPU 和 32GB0 码力 | 204 页 | 2.26 MB | 1 年前3
OpenShift Container Platform 4.14 安装JSON 或 YAML 格式的 Kubernetes API 对象的规格。配置文件可以包含部署、配置映射、secret 和 daemonset 等。 Kubelet 在集群的每个节点上运行的一个主节点代理,以确保容器在 pod 中运行。 负载 负载均衡器 均衡器 负载均衡器是客户端的单点联系。API 的负载均衡器在 control plane 节点之间分布传入的流量。 Machine Config quayHostname 标志不支持使用 IP 地址的安装。需要使用主机名进行安装。 2. 当镜像 registry 在代理后面设置时,会使用 --sslCheckSkip,并且公开的主机名与内部 Quay 主 机名不同。当用户不希望在安装过程中对提供的 Quay 主机名验证证书时,也可以使用它。 4.2.10. Mirror registry for Red Hat OpenShift 发现注记 mirror x,但不建议使用。此值在集群安装后无法 更改。 mtu integer VXLAN 覆盖网络的最大传输单元(MTU)。这根据主网络接口的 MTU 自动探测。您通常不需要覆盖检测到的 MTU。 如果自动探测的值不是您期望的值,请确认节点上主网络接口上 的 MTU 是否正确。您不能使用这个选项更改节点上主网络接口的 MTU 值。 如果集群中不同节点需要不同的 MTU 值,则必须将此值设置为比 集群中的最低 MTU0 码力 | 3881 页 | 39.03 MB | 1 年前3
OpenShift Container Platform 4.6 在裸机上安装GB 100 GB 300 Compute RHCOS 或 RHEL 7.9 2 8 GB 100 GB 300 1. 当未启用并发多线程(SMT)或超线程时,一个 CPU 相当于一个物理内核。启用后,使用以下公式 来计算对应的比率:(每个内核数的线程)LIMIT 插槽 = CPU。 2. OpenShift Container Platform 和 Kubernetes 对磁盘性能非常敏感,建议使用更快的存储速度, 相同的架构。有效值为 amd64 (默认 值)。 字符串 compute.hyperthread ing 是否在计算机器上启用或禁用并发多线 程或超 超线 线程 程。默认情况下,启用并发多 线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled compute.name 使用 compute (默认 值)。 字符串 controlPlane.hyperth reading 是否在 control plane 机器上启用或禁用 并发多线程或超 超线 线程 程。默认情况下,启 用并发多线程以提高机器内核的性能。 重要 重要 如果禁用并发多线程, 请确保在容量规划时考 虑到机器性能可能会显 著降低的问题。 Enabled 或 Disabled 参数 参数 描述 描述 值 值 OpenShift0 码力 | 160 页 | 1.70 MB | 1 年前3
Envoy原理介绍及线上问题踩坑rights reserved. Page 3 目录 1. Envoy启动及配置文件 2. Envoy流量拦截原理、常用部署方式 3. Envoy可扩展过滤器架构、可观测性 4. Envoy线程模型 5. 生产环境问题分析及解决方法 6. 针对Envoy做的一些优化及效果 7. 常用性能分析测试工具及使用方法 8. 华为ASM产品介绍 Copyright © Huawei Technologies 内的iptables规则进行拦截 • 默认为2个工作线程 • 默认最大上游连接数1024,最大挂起 等待请求数1024 • 外部请求通过直接访问ingressgateway 网关端口进入网格 • ingressgateway为envoy相同二进制, 不做iptables规则注入,作为外网客户 端网格内代理。 • ingressgateway不设置工作线程数限 制,并且最大上游连接及最大挂起等待 请求数请求数默认值不做限制。 rights reserved. Page 11 Envoy网络及线程模型 主线程 初始化 日 志 线 程 读 取 配 置 x D S 监 听 网络事件 启 动 工 作 线 程 定时器事件 a d m i n 请 求 X D S 更 新 合 并 s t a t 刷 新 D N S 调度器 工作线程 网络事件 定时器事件 监 听 器 监 听 过 滤 器 释 放 内0 码力 | 30 页 | 2.67 MB | 1 年前3
共 129 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13













