 Elasticity and state migration: Part I - CS 591 K1: Data Stream Processing and Analytics Spring 2020dataflow with sources S1, S2, … Sn and rates λ1, λ2, … λn identify the minimum parallelism πi per operator i, such that the physical dataflow can sustain all source rates. S1 S2 λ1 λ2 S1 S2 π=2 serialization send message waiting waiting 13 ??? Vasiliki Kalavri | Boston University 2020 14 o1 src o2 back-pressure target: 40 rec/s 10 rec/s 100 rec/s Which operator is the bottleneck? What if Boston University 2020 14 o1 src o2 back-pressure target: 40 rec/s 10 rec/s 100 rec/s Which operator is the bottleneck? What if we scale ο1 x 4? How much to scale ο2? o1 cannot keep up waiting for0 码力 | 93 页 | 2.42 MB | 1 年前3 Elasticity and state migration: Part I - CS 591 K1: Data Stream Processing and Analytics Spring 2020dataflow with sources S1, S2, … Sn and rates λ1, λ2, … λn identify the minimum parallelism πi per operator i, such that the physical dataflow can sustain all source rates. S1 S2 λ1 λ2 S1 S2 π=2 serialization send message waiting waiting 13 ??? Vasiliki Kalavri | Boston University 2020 14 o1 src o2 back-pressure target: 40 rec/s 10 rec/s 100 rec/s Which operator is the bottleneck? What if Boston University 2020 14 o1 src o2 back-pressure target: 40 rec/s 10 rec/s 100 rec/s Which operator is the bottleneck? What if we scale ο1 x 4? How much to scale ο2? o1 cannot keep up waiting for0 码力 | 93 页 | 2.42 MB | 1 年前3
 OpenShift Container Platform 4.10 可伸缩性和性能启动前设置联网。因此,运行 10 个 pod 的系统实际上会运行 20 个容器。 注意 注意 云供应商的磁盘 IOPS 节流可能会对 CRI-O 和 kubelet 产生影响。当节点上运行大量 I/O 高负载的 pod 时,可能会出现超载的问题。建议您监控节点上的磁盘 I/O,并使用有足够 吞吐量的卷。 podsPerCore 根据节点中的处理器内核数来设置节点可运行的 pod 数量。例如:在一个有 4 个处理器内 14225400Ki pods: 500 1 ... $ oc get kubeletconfigs set-max-pods -o yaml spec: kubeletConfig: maxPods: 500 machineConfigPoolSelector: matchLabels: custom-kubelet: Instance Settings → Change instance type。 d. 将实例更改为较大的类型,确保类型与之前选择相同,并应用更改。例如,您可以将 m6i.xlarge 更改为 m6i.2xlarge 或 m6i.4xlarge。 OpenShift Container Platform 4.10 可伸 可伸缩 缩性和性能 性和性能 12 e. 启动实例。 f. 如果您的0 码力 | 315 页 | 3.19 MB | 1 年前3 OpenShift Container Platform 4.10 可伸缩性和性能启动前设置联网。因此,运行 10 个 pod 的系统实际上会运行 20 个容器。 注意 注意 云供应商的磁盘 IOPS 节流可能会对 CRI-O 和 kubelet 产生影响。当节点上运行大量 I/O 高负载的 pod 时,可能会出现超载的问题。建议您监控节点上的磁盘 I/O,并使用有足够 吞吐量的卷。 podsPerCore 根据节点中的处理器内核数来设置节点可运行的 pod 数量。例如:在一个有 4 个处理器内 14225400Ki pods: 500 1 ... $ oc get kubeletconfigs set-max-pods -o yaml spec: kubeletConfig: maxPods: 500 machineConfigPoolSelector: matchLabels: custom-kubelet: Instance Settings → Change instance type。 d. 将实例更改为较大的类型,确保类型与之前选择相同,并应用更改。例如,您可以将 m6i.xlarge 更改为 m6i.2xlarge 或 m6i.4xlarge。 OpenShift Container Platform 4.10 可伸 可伸缩 缩性和性能 性和性能 12 e. 启动实例。 f. 如果您的0 码力 | 315 页 | 3.19 MB | 1 年前3
 1.3 MOSN 在云原生的探索及实践江西农信 Mesh 阿里云 CDN 2019年双11 2019年12月 2020年6月 2020年7月 2020年12月 2021年 MOSN 简介 — 开源社区 Committer 非蚂蚁 蚂蚁 定位:云原生网络代理平台 开源理念  社区是开源软件发展的动力  借力开源,反哺开源  持续向云原生演进 Star: 3100 Committer: 10 Contributor: proxy_golang,类 似 proxy_wasm ,方便 Nginx、 OpenResty 等也能够支持 GoLang 扩 展。 MOE 方案介绍 — 功能职责 MOSN 做业务扩展 • 扩展非 xDS 服务发现 • 扩展 L4/L7 filter • 扩展 Xprotocol 支持 • Debug 及 Admin 管理 • Metrics 监控统计 Envoy 复用基础能力 • 复用高效 Proxy-golang API • Filter manager MOE 方案介绍 — TraceID 事例 相关问题点 Envoy 和 MOSN 如何交互(1、2、 4、5) 内存如何管理(2、4) 阻塞操作处理(2) GMP 中 P 资源问题(3) 服务发现如何兼容(1、2) 如何 Debug recover 失效如何处理 …… MOE 方案介绍 — MOSN 和 Envoy0 码力 | 36 页 | 35.61 MB | 1 年前3 1.3 MOSN 在云原生的探索及实践江西农信 Mesh 阿里云 CDN 2019年双11 2019年12月 2020年6月 2020年7月 2020年12月 2021年 MOSN 简介 — 开源社区 Committer 非蚂蚁 蚂蚁 定位:云原生网络代理平台 开源理念  社区是开源软件发展的动力  借力开源,反哺开源  持续向云原生演进 Star: 3100 Committer: 10 Contributor: proxy_golang,类 似 proxy_wasm ,方便 Nginx、 OpenResty 等也能够支持 GoLang 扩 展。 MOE 方案介绍 — 功能职责 MOSN 做业务扩展 • 扩展非 xDS 服务发现 • 扩展 L4/L7 filter • 扩展 Xprotocol 支持 • Debug 及 Admin 管理 • Metrics 监控统计 Envoy 复用基础能力 • 复用高效 Proxy-golang API • Filter manager MOE 方案介绍 — TraceID 事例 相关问题点 Envoy 和 MOSN 如何交互(1、2、 4、5) 内存如何管理(2、4) 阻塞操作处理(2) GMP 中 P 资源问题(3) 服务发现如何兼容(1、2) 如何 Debug recover 失效如何处理 …… MOE 方案介绍 — MOSN 和 Envoy0 码力 | 36 页 | 35.61 MB | 1 年前3
 Envoy原理介绍及线上问题踩坑微服务架构通过细粒度的服务解耦拆分,带来缩短开发周期、独立部署、易扩展等好处的同时,同时带来对服务发现、负 载均衡、熔断等能力前所未有的诉求。 • 第一阶段为dubbo、SpringCloud侵入式开发框架,语言强相关。 • 非侵入服务网格最早为2016年Linkerd。 • 2017年,Goole、IBM、Lyft发布Istio。Istio目前为服务网格的事实标准,并且是2019年Github增长最快的TOP 10开源 Istio_redirect iptables SO_ORIG INAL_DS T 路 由 上 游 连 接 池 12.localhost app2 15.lo 1 2 3.非本 POD、 非 Envoy 自身 4.DNAT 5 6 7. UID=1337 8 9 10.跳 过普 通端 口 11.DNAT 1 3 14.lo 网络发送 • outbound方向:本POD内发起对外调用流量 reserved. Page 11 Envoy网络及线程模型 主线程 初始化 日 志 线 程 读 取 配 置 x D S 监 听 网络事件 启 动 工 作 线 程 定时器事件 a d m i n 请 求 X D S 更 新 合 并 s t a t 刷 新 D N S 调度器 工作线程 网络事件 定时器事件 监 听 器 监 听 过 滤 器 释 放 内 存 记 录 s t0 码力 | 30 页 | 2.67 MB | 1 年前3 Envoy原理介绍及线上问题踩坑微服务架构通过细粒度的服务解耦拆分,带来缩短开发周期、独立部署、易扩展等好处的同时,同时带来对服务发现、负 载均衡、熔断等能力前所未有的诉求。 • 第一阶段为dubbo、SpringCloud侵入式开发框架,语言强相关。 • 非侵入服务网格最早为2016年Linkerd。 • 2017年,Goole、IBM、Lyft发布Istio。Istio目前为服务网格的事实标准,并且是2019年Github增长最快的TOP 10开源 Istio_redirect iptables SO_ORIG INAL_DS T 路 由 上 游 连 接 池 12.localhost app2 15.lo 1 2 3.非本 POD、 非 Envoy 自身 4.DNAT 5 6 7. UID=1337 8 9 10.跳 过普 通端 口 11.DNAT 1 3 14.lo 网络发送 • outbound方向:本POD内发起对外调用流量 reserved. Page 11 Envoy网络及线程模型 主线程 初始化 日 志 线 程 读 取 配 置 x D S 监 听 网络事件 启 动 工 作 线 程 定时器事件 a d m i n 请 求 X D S 更 新 合 并 s t a t 刷 新 D N S 调度器 工作线程 网络事件 定时器事件 监 听 器 监 听 过 滤 器 释 放 内 存 记 录 s t0 码力 | 30 页 | 2.67 MB | 1 年前3
 OpenShift Container Platform 4.7 更新集群. . . . . . . 目 目录 录 第 第 1 章 章 了解 了解 OPENSHIFT UPDATE SERVICE 1.1. 关于 OPENSHIFT UPDATE 服务 1.2. 非受管 OPERATOR 的支持策略 第 第 2 章 章 更新集群概述 更新集群概述 2.1. 了解 OPENSHIFT UPDATE SERVICE 2.2. 安装和配置 OPENSHIFT UPDATE 由 Operator 和一个或多个应用程序实例组成。 1.2. 非受管 OPERATOR 的支持策略 OpenShift Container Platform 4.7 更新集群 更新集群 4 Operator 的 管理状态 决定了一个 Operator 是否按设计积极管理集群中其相关组件的资源。如果 Operator 设置为 非受管(unmanaged) 状态,它不会响应配置更改,也不会收到更新。 状态,它不会响应配置更改,也不会收到更新。 虽然它可以在非生产环境集群或调试过程中使用,但处于非受管状态的 Operator 不被正式支持,集群管 理员需要完全掌控各个组件的配置和升级。 可使用以下方法将 Operator 设置为非受管状态: 独立 独立 Operator 配置 配置 独立 Operator 的配置中具有 managementState 参数。这可以通过不同的方法来访问,具体取 决于 Operator。例如,Red0 码力 | 62 页 | 716.72 KB | 1 年前3 OpenShift Container Platform 4.7 更新集群. . . . . . . 目 目录 录 第 第 1 章 章 了解 了解 OPENSHIFT UPDATE SERVICE 1.1. 关于 OPENSHIFT UPDATE 服务 1.2. 非受管 OPERATOR 的支持策略 第 第 2 章 章 更新集群概述 更新集群概述 2.1. 了解 OPENSHIFT UPDATE SERVICE 2.2. 安装和配置 OPENSHIFT UPDATE 由 Operator 和一个或多个应用程序实例组成。 1.2. 非受管 OPERATOR 的支持策略 OpenShift Container Platform 4.7 更新集群 更新集群 4 Operator 的 管理状态 决定了一个 Operator 是否按设计积极管理集群中其相关组件的资源。如果 Operator 设置为 非受管(unmanaged) 状态,它不会响应配置更改,也不会收到更新。 状态,它不会响应配置更改,也不会收到更新。 虽然它可以在非生产环境集群或调试过程中使用,但处于非受管状态的 Operator 不被正式支持,集群管 理员需要完全掌控各个组件的配置和升级。 可使用以下方法将 Operator 设置为非受管状态: 独立 独立 Operator 配置 配置 独立 Operator 的配置中具有 managementState 参数。这可以通过不同的方法来访问,具体取 决于 Operator。例如,Red0 码力 | 62 页 | 716.72 KB | 1 年前3
 OpenShift Container Platform 4.14 镜像Samples Operator 将停止为非 Source-to-Image (Non-S2I) 镜像流和模板 提供以下更新: 新镜像流和模板 更新现有镜像流和模板,除非它是 CVE 更新 根据 OpenShift Container Platform 生命周期策略日期和支持指南,Cluster Samples Operator 将提供对 Non-S2I 镜像流和模板的支持。 Cluster 将继续支持 S2I 构建器镜像和模板,并接受更新。S2I 镜像流和模板包括: Ruby Python Node.js Perl PHP HTTPD Nginx EAP Java Webserver .NET Go 从 OpenShift Container Platform 4.16 开始,Cluster Samples Operator 将停止管 理非 S2I 镜像流和模板 Operator 在镜像流中保留已弃用的镜像流标签,因为用户可能有使用已弃用的镜像流标 $ oc edit configs.samples.operator.openshift.io/cluster -o yaml apiVersion: samples.operator.openshift.io/v1 kind: Config # ... 第 第 2 章 章 配置 配置 CLUSTER SAMPLES0 码力 | 118 页 | 1.13 MB | 1 年前3 OpenShift Container Platform 4.14 镜像Samples Operator 将停止为非 Source-to-Image (Non-S2I) 镜像流和模板 提供以下更新: 新镜像流和模板 更新现有镜像流和模板,除非它是 CVE 更新 根据 OpenShift Container Platform 生命周期策略日期和支持指南,Cluster Samples Operator 将提供对 Non-S2I 镜像流和模板的支持。 Cluster 将继续支持 S2I 构建器镜像和模板,并接受更新。S2I 镜像流和模板包括: Ruby Python Node.js Perl PHP HTTPD Nginx EAP Java Webserver .NET Go 从 OpenShift Container Platform 4.16 开始,Cluster Samples Operator 将停止管 理非 S2I 镜像流和模板 Operator 在镜像流中保留已弃用的镜像流标签,因为用户可能有使用已弃用的镜像流标 $ oc edit configs.samples.operator.openshift.io/cluster -o yaml apiVersion: samples.operator.openshift.io/v1 kind: Config # ... 第 第 2 章 章 配置 配置 CLUSTER SAMPLES0 码力 | 118 页 | 1.13 MB | 1 年前3
 OpenShift Container Platform 4.7 镜像设置环境变量 避免默认密码 避免 sshd 对持久性数据使用卷 4.1.2. OpenShift Container Platform 特定准则 启用 Source-to-Image (S2I) 的镜像 支持任意用户 id 使用服务进行镜像间通信 提供通用库 使用环境变量进行配置 设置镜像元数据 集群 日志记录 存活 (liveness) 和就绪 (readiness) 探针 模板 资源上设置镜像触发器 第 第 9 章 章 镜 镜像配置 像配置资 资源 源 9.1. 镜像控制器配置参数 9.2. 配置镜像 REGISTRY 设置 9.2.1. 添加特定的 registry 9.2.2. 阻塞特定的 registry 9.2.3. 允许不安全的 registry 9.2.4. 添加允许镜像短名称的 registry 9.2.5. 为镜像 registry 访问配置额外的信任存储 9 在镜像流中保留已弃用的镜像流标签,因为用户可能有使用已弃用的镜像流标 签的部署。 $ oc edit configs.samples.operator.openshift.io/cluster -o yaml apiVersion: samples.operator.openshift.io/v1 kind: Config ... OpenShift Container Platform 40 码力 | 123 页 | 1.20 MB | 1 年前3 OpenShift Container Platform 4.7 镜像设置环境变量 避免默认密码 避免 sshd 对持久性数据使用卷 4.1.2. OpenShift Container Platform 特定准则 启用 Source-to-Image (S2I) 的镜像 支持任意用户 id 使用服务进行镜像间通信 提供通用库 使用环境变量进行配置 设置镜像元数据 集群 日志记录 存活 (liveness) 和就绪 (readiness) 探针 模板 资源上设置镜像触发器 第 第 9 章 章 镜 镜像配置 像配置资 资源 源 9.1. 镜像控制器配置参数 9.2. 配置镜像 REGISTRY 设置 9.2.1. 添加特定的 registry 9.2.2. 阻塞特定的 registry 9.2.3. 允许不安全的 registry 9.2.4. 添加允许镜像短名称的 registry 9.2.5. 为镜像 registry 访问配置额外的信任存储 9 在镜像流中保留已弃用的镜像流标签,因为用户可能有使用已弃用的镜像流标 签的部署。 $ oc edit configs.samples.operator.openshift.io/cluster -o yaml apiVersion: samples.operator.openshift.io/v1 kind: Config ... OpenShift Container Platform 40 码力 | 123 页 | 1.20 MB | 1 年前3
 OpenShift Container Platform 4.8 日志记录hift Logging Bug Fix 5.4.4 。 1.5.1. 程序错误修复 在此次更新之前,非拉丁字符在 Elasticsearch 中无法正确显示。在这个版本中,Elasticsearch 可 以正确显示所有有效的 UTF-8 符号。(LOG-2794) 在此次更新之前,非拉丁字符在 Fluentd 中无法正确显示。在这个版本中,Fluentd 可以正确地 显示所有有效的 UTF-8 g. 点 Install。 h. 验证您是否安装了 LokiOperator。访问 Operators → Installed Operators 页面,并查找 "LokiOperator." i. 确保 LokiOperator 列在所有 Status 为 Succeeded 的项目中。 1.9.4. 程序错误修复 在此次更新之前,cluster-logging-operator 使用集群范围的角色和绑定来建立 在更新前,一些日志条目没有被识别为 UTF-8 字节,这会导致 Elasticsearch 拒绝消息并阻塞整 OpenShift Container Platform 4.8 日志 日志记录 记录 48 在更新前,一些日志条目没有被识别为 UTF-8 字节,这会导致 Elasticsearch 拒绝消息并阻塞整 个缓冲的有效负载。在这个版本中,被拒绝的载荷会丢弃无效的日志条目并重新提交剩余的条目 来解决这个问题。(LOG-1499)0 码力 | 223 页 | 2.28 MB | 1 年前3 OpenShift Container Platform 4.8 日志记录hift Logging Bug Fix 5.4.4 。 1.5.1. 程序错误修复 在此次更新之前,非拉丁字符在 Elasticsearch 中无法正确显示。在这个版本中,Elasticsearch 可 以正确显示所有有效的 UTF-8 符号。(LOG-2794) 在此次更新之前,非拉丁字符在 Fluentd 中无法正确显示。在这个版本中,Fluentd 可以正确地 显示所有有效的 UTF-8 g. 点 Install。 h. 验证您是否安装了 LokiOperator。访问 Operators → Installed Operators 页面,并查找 "LokiOperator." i. 确保 LokiOperator 列在所有 Status 为 Succeeded 的项目中。 1.9.4. 程序错误修复 在此次更新之前,cluster-logging-operator 使用集群范围的角色和绑定来建立 在更新前,一些日志条目没有被识别为 UTF-8 字节,这会导致 Elasticsearch 拒绝消息并阻塞整 OpenShift Container Platform 4.8 日志 日志记录 记录 48 在更新前,一些日志条目没有被识别为 UTF-8 字节,这会导致 Elasticsearch 拒绝消息并阻塞整 个缓冲的有效负载。在这个版本中,被拒绝的载荷会丢弃无效的日志条目并重新提交剩余的条目 来解决这个问题。(LOG-1499)0 码力 | 223 页 | 2.28 MB | 1 年前3
 大规模微服务架构下的Service Mesh探索之路我们有太多的扩展和定制 • 而且,proxy不仅仅用于mesh Istio • 控制平面:Istio是目前做的最好的 • 认可Istio的设计理念和产品方向 • 性能和稳定性是目前最大问题 • 对非k8s环境的支持不够理想 • 没有提供和侵入式框架互通的解决方案Sofa Mesh:istio的增强扩展版 Pilot Auth Mixer Envoy Pilot Auth Mixer Golang HSF RPC最大的改变:合并部分Mixer功能 Pilot Auth Mixer Golang Sidecar Mixer ü Mixer三大功能: • Check – 同步阻塞 • Quota – 同步阻塞 • Report – 异步批量 ü 合并Check和Quota ü Report暂时保留在Mixer中 list rbac quota Check和Quota 的Adapter ü 按照Istio的设计,每次请求Envoy都 要执行对Mixer的两次远程调用: • 转发前执行Check(包含Quota) • 转发后执行Report ü 我们的观点: • 需要请求同步阻塞等待的功能都应该在 Sidecar中完成 • 远程调用带来的性能开销代价太高 • 其他尽量优化为异步或者批量Istio的解决方案:添加Mixer Cache ü 缓存的工作方式: • Sidecar0 码力 | 37 页 | 7.99 MB | 6 月前3 大规模微服务架构下的Service Mesh探索之路我们有太多的扩展和定制 • 而且,proxy不仅仅用于mesh Istio • 控制平面:Istio是目前做的最好的 • 认可Istio的设计理念和产品方向 • 性能和稳定性是目前最大问题 • 对非k8s环境的支持不够理想 • 没有提供和侵入式框架互通的解决方案Sofa Mesh:istio的增强扩展版 Pilot Auth Mixer Envoy Pilot Auth Mixer Golang HSF RPC最大的改变:合并部分Mixer功能 Pilot Auth Mixer Golang Sidecar Mixer ü Mixer三大功能: • Check – 同步阻塞 • Quota – 同步阻塞 • Report – 异步批量 ü 合并Check和Quota ü Report暂时保留在Mixer中 list rbac quota Check和Quota 的Adapter ü 按照Istio的设计,每次请求Envoy都 要执行对Mixer的两次远程调用: • 转发前执行Check(包含Quota) • 转发后执行Report ü 我们的观点: • 需要请求同步阻塞等待的功能都应该在 Sidecar中完成 • 远程调用带来的性能开销代价太高 • 其他尽量优化为异步或者批量Istio的解决方案:添加Mixer Cache ü 缓存的工作方式: • Sidecar0 码力 | 37 页 | 7.99 MB | 6 月前3
 大数据时代的Intel之Hadoop000 180,000 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 Exponential Growth 内容仓库– 海量/非结构化 传统非结构化数据 传统结构化数据 企业托管服务中的数据 Linear Growth Source: IDC, 2011 Worldwide Enterprise Storage 数据量 多样化 传统数据 大数据 GB -> TB TB -> PB以上 数据量稳定,增长不快 持续实时产生数据, 年增长率超过60% 主要为结构化数据 半结构化,非结构化, 多维数据 ―大数据‖ 挃数据集的大小超过了现有典型的数据库软件和工具的处理能力。不此同时,及时捕捉、 存储、聚合、管理这些大数据以及对数据的深度分析的新技术和新能力,正在快速增长,就像预 gion server活跃,总体性能会很差 • “加盐” • 过多的compaction和compaction丌及时 • 尽量避免:比方说增加compaction thread数,防止阻塞写入 • 过多的split • 预分配region 大对象的高效存储(IDH2.3) 在交通、金融等领域,要求存储大量的图片 • 将图片存入HBase,引起大量的compaction0 码力 | 36 页 | 2.50 MB | 1 年前3 大数据时代的Intel之Hadoop000 180,000 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 Exponential Growth 内容仓库– 海量/非结构化 传统非结构化数据 传统结构化数据 企业托管服务中的数据 Linear Growth Source: IDC, 2011 Worldwide Enterprise Storage 数据量 多样化 传统数据 大数据 GB -> TB TB -> PB以上 数据量稳定,增长不快 持续实时产生数据, 年增长率超过60% 主要为结构化数据 半结构化,非结构化, 多维数据 ―大数据‖ 挃数据集的大小超过了现有典型的数据库软件和工具的处理能力。不此同时,及时捕捉、 存储、聚合、管理这些大数据以及对数据的深度分析的新技术和新能力,正在快速增长,就像预 gion server活跃,总体性能会很差 • “加盐” • 过多的compaction和compaction丌及时 • 尽量避免:比方说增加compaction thread数,防止阻塞写入 • 过多的split • 预分配region 大对象的高效存储(IDH2.3) 在交通、金融等领域,要求存储大量的图片 • 将图片存入HBase,引起大量的compaction0 码力 | 36 页 | 2.50 MB | 1 年前3
共 554 条
- 1
- 2
- 3
- 4
- 5
- 6
- 56














 
  
 