MOSN 高性能网络扩展实践 - 王发康
MOSN 高性能网络扩展实践 王发康 2021 Gopher Meetup HZ About Me 王发康 蚂蚁集团 可信原生技术部,技术专家 蚂蚁集团技术专家,专注于高性能网络服务器研发,MOSN、Tengine 开源项目核 心成员,目前关注云原生 ServiceMesh、Nginx、Envoy、Istio 等相关领域。 喜欢开源,乐于分享。 https://github.com/wangfakang extension 可扩展性、灵活性、生态 价值意义 • 技术共享,融合 Envoy 和 MOSN 优势 • 增强 Envoy 和 GoLang 社区生态粘性 MoE Envoy 和 GoLong 生态打通 维护成本高、可扩展性弱 MoE 背景介绍 — 方案调研 方案名称 优势 劣势 Lua Extension Lua 编写简单业务处理方便 Lua 脚本语言,开发复杂功能不方便 支持的库(SDK)相对较少 倍); 需要扩展具备 gRPC server 能力, 多进程管理复杂 MOSN(GoLang) Extension 可复用 MOSN 现有的 filter 能力, 改造成本低; 研发效率高,灵活性高; GoLang 支持的库比较多(Consul、 Redis、Kafka etc),生态较好 引入 GoLang 扩展后,有一定性能损 耗,业务场景可接受,另外有优化 空间 扩展方案调研 MoE0 码力 | 29 页 | 2.80 MB | 1 年前3云原生安全威胁分析与能力建设白皮书(来源:中国联通研究院)
开发多个维度, 这打破了原有的信息安全视角。在应对不断出现的针对云原生基础设施、平台及 容器的安全威胁过程中,原有的安全体系也产生了变革。主要表现在如下几个方 面: 防护对象产生变化 安全管理的边界扩展到了容器层面,需要采用新的安全策略和工具来保护容 器的安全性,如容器镜像的验证和加密、容器漏洞扫描和运行时监测等。 架构的变化 多云及混合云下的应用架构及工作负载更加复杂,需要采用分布式安全策略 云服务商、安全企业提供的产品及服务的能力水平。 7 云原生应用保 护平台 (CNAPP)能 力要求 由中国信息通信研究院牵头编写,为了云原生应用保护平台(CNAPP)的 框架并对每个功能模块提出了能力要求,内容包含制品管理、基础设施配置 管理、运行时保护、双向反馈机制与环境适配能力,覆盖云原生应用的开发 运营全流程,适用于指导企业云原生应用运维保护能力建设,规范和测评云 原生应用保护产品质量 内核漏 洞产生,就需要考虑它是否能够用于容器逃逸。 危险配置导致的容器逃逸:Docker 容器基于 Linux 内核中的 Capabilities 特性划分特权集,以便进程可以只分配“执行特定功能”的特权,例如通过使用 privileged 参数获得所有特权集,使用 cap-add 和 cap-drop 参数增减特权集。 然而,无论是细粒度权限控制还是其他安全机制,用户都可以通过修改容器环境0 码力 | 72 页 | 2.44 MB | 1 年前322-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊
率低,故障排查慢,阻碍了软件价值的流动 无法满足用户对于业务快速研发、 稳定交付的要求 场景 1 如果生产中一台Web应用服务器故障,恢复这台服务器需要 做哪些事情? 场景 2 如果应用负载升高/降低,如何及时、按需扩展/收缩所 用资源? 场景 3 如果业务系统要升级,如何平滑升级?万一升级失败是 否能够自动回滚?整个过程线上业务持续运行不中断。 传统稳态业务环境难以高效承载敏态应用 发现故障 (假死) 创建 新实例 测试确认 服务正常运行 实例 加入集群 恢复正常 场景 1 如果生产中一台Web应用服务器故障,恢复这台服务器需要 做哪些事情? 场景 2 如果应用负载升高/降低,如何及时按需扩展/收缩所用 资源? 场景 3 如果业务系统要升级,如何平滑升级?万一升级失败是 否能够自动回滚?整个过程线上业务持续运行不中断。 传统稳态业务环境难以高效承载敏态应用 发现故障 (假死) 创建 新实例 新一代架构(微服务)应用的对承载平台提出新要求 传统实践中,主要采用虚机/物理机+SpringCloud等微服务框架的方式承载微服务应用。但在一个虚机/服务器上 部署多个微服务会产生如下问题—— • 资源预分配,短时间内难以扩展 • 缺乏隔离性,服务相互抢占资源 • 增加环境、网络(端口)和资源管理的复杂性,治理成本高 • 监控粒度难以满足微服务应用运维的需要,线上问题难以排查定位,往往需要研发介入 我们需要一种新型的、为云而生的业务承载平台,去应对上述问题。0 码力 | 42 页 | 11.17 MB | 5 月前31.3 MOSN 在云原生的探索及实践
Nginx、Envoy、Istio 等相关领域。 喜欢开源,乐于分享。 https://github.com/wangfakang MOSN 开源交流群2 目 录 MOSN 云原生演进历程 01 MOSN 网络层扩展思考和选型 02 对应解决方案和实践介绍 03 MOSN 开源进展同步 04 MOSN 云原生演进历程 MOSN 简介 — 演进历程 MOSN 从 Service Mesh 技术调 MOSN 简介 — 2021 roadmap 云原生 • 云原生网络平台建设 • 升级 Xprotocol 框架 • 支持 WASM • 区块链网络框架 • 代码热更新 • 高性能网络层扩展 • fastGRPC • 协程收敛 epoll 模型 • CGO 性能优化 • 支持 zipkin,Jaeger 等 • 支持 ZK,Nacos 等 • 支持 Dubbo 3.0 • thrift, kafka 等 协议 • 支持 Istio 1.10 • 支持 Ingress 和 Gateway • 推动 UDPA 多协议建 设 核心能力 微服务 性能优化 MOSN 网络层扩展思考和选型 MOE 背景介绍 — 什么是 MOE 处理性能高 (C++) 研发效能高 (GoLang、生态) 高性能、高研发效能、生态打通 MOE = MOSN + Envoy 相互融合,各取所长0 码力 | 36 页 | 35.61 MB | 1 年前3consul 命令行
consul命令行 ● advertise:广告地址用于将我们通告的地址更改为群集中的其他节点。默认情况下,-bind通告地 。但是,在某些情况下,可能存在无法绑定的可路由地址。此标志允许闲聊不同的地址以支持此功能 如果此地址不可路由,则该节点将处于恒定的振荡状态,因为其他节点将不可路由性视为故障。在Co sul 1.0及更高版本中,可以将其设置为 go-sockaddr 模板。 ● -advertise- 的详细信息,请参阅“ 配置 件”部分。 ● config-format:要加载的配置文件的格式。通常,Consul会从“.json”或“.hcl”扩展名中检测 置文件的格式。将此选项设置为“json”或“hcl”会强制Consul解释具有或不具有扩展名的任何文 ,以便以该格式进行解释。 原文链接:consul 命令行 ● data-dir:此标志为代理程序存储状态提供数据目录。这是所有代理商都需要的。该目录在重新启 升级时设置。您可以通过运 查看Consul支持的协议版本consul -v。 ● -raft-protocol:这控制用于服务器通信的Raft共识协议的内部版本。必须将其设置为3才能访问自 驾驶仪功能,但会有例外cleanup_dead_servers。Consul 1.0.0及更高版本默认为3(默认为2之前) 有关 详细信息,请参阅 Raft协议版本兼容性。 ● -raft-snapshot0 码力 | 5 页 | 346.62 KB | 1 年前3开源多集群应用治理项目Clusternet 在多点生活的云原生实践
运行情况展示 应用在多集群运 行状态收集 应用维护,日志 查看,故障排查 应用发布 Operator API • 对使用方屏蔽多单元、多集群的存在 • 提供简单的、无需运维介入的日常维护功能 • 结合监控,可以查看每个实例的运行情况 • 支持离线日志查看,减少对容器的理解 迭代历程 2017~2019 • 基于Helm包管理 • K8S java 客户端 • CI/CD流程耦合 replica 数量的逻辑 反思 • 新增一个无关的(HPA,Sidecar)功能都需要 Controller 适配是否合理? • 新增一个公有云类型都需要修改 Controller 是否合理? • 当新的需求来临应该怎么扩展? …… 需求 需求: • 最好能兼容现在的逻辑(Helm 发布) • 方便扩展 • 高级特性 …… 社区的力量 https://github.com/0 码力 | 22 页 | 17.18 MB | 1 年前309-harbor助你玩转云原生-邹佳
制品的安全分发(签名、漏洞扫描与安全策略) - 资源清理与垃圾回收 - 构建高可用(HA)制品仓库服务 - Harbor集成与扩展 - 路线图 - 参与贡献Harbor社区 云原生与制品管理 [1] 云原生(cloud-native)技术使组织能够在现代化和动态的环境下(如公有云、私有云 和混合云)构建和运行可扩展的应用程序。云原生典型技术包括容器、服务网络、 微服务、不可变基础设施和声明性API等。 v1.0 by 下载* 5K+ *: 数据周期10/02-10/16 (2周) 初识Harbor [2] – 社区 初识Harbor [3] – 整体架构 截止:v2.0 初识Harbor [4] – 功能 … 项目N 制品管理 访问控制(RBAC) Tag清理策略 Tag不可变策略 P2P预热策略 缓存策略 机器人账户 Webhooks 项目配置 插件式扫描器框架 DoSec P2P引擎 • 标准化Adapter接口定义 制品类型 • 遵循OCI规范 • annotation化的数据扩展 • UI自动渲染扩展数据 路线图 管理 分发 扩展性 Interrogation Service++(探针) Observability K8s Operator 1 2 3 来源: https://github0 码力 | 32 页 | 17.15 MB | 5 月前3中国移动磐舟DevSecOps平台云原生安全实践
核心价值 核心能力 灵活的低代码能力 实现页面组件、数据组件、功能组件的快 速编排,一线人员也能自助开发功能 双模敏态管理 以敏捷研发为引导,融合瀑布式管理需求, 形成普适、灵活的研发过程管理能力。 多用途制品库 兼容市面绝大多数开发语言制品,提供公 用、内部共享、私有等多种使用方式。兼 容市面上制品管理客户端。 全功能云IDE开发 每个云IDE都是一个云端小笔记本,一人一 本,多人可形成云端小局域网。可独立编 与CI/CD流水线集成,常态化检测,研发自行修复 IAST扫描结果提供DevSecOps常态化安全运营指标 通过将IAST集成到CI/CD流水线,在测试环境的构建过程中自动部署IAST检测逻辑,可以实现与功能测试同步进行的自动化 安全测试,给出漏洞的实际触发路径并提供实际可落地的修复建议。根据需求阶段提出的安全设计方案,配置IAST中的自定义规 则,基于IAST的扫描结果可以实现安全需求设计的闭环管 镜像通过发版。 安全测试-APP扫描 移动应用安全检测和个人信息合规检测能力,基于磐舟平台,容器化部署,紧邻租户业务系统,支持浏览器 访问及API。已对接磐舟CI/CD流程,资源可弹性管理,可满足高可用、高扩展、高容错等特征。 待检测APP APP自动化检测 APP安全检测报告 APP安全检测 个人信息保护专项检测 按照安全检测报告对APP进行整改 人工辅助 包含的服务 l Android 应用的自动化安0 码力 | 22 页 | 5.47 MB | 1 年前312-从数据库中间件到云原生——Apache ShardingSphere 架构演进-秦金卫
KingShard Vitess ? Spanner Aurora GaussDB PolarDB OceanBase TiDB Cockroach DB …… 3.分布式数据库 1.水平扩展性 2.计算存储分离 3.分布式事务 4.多副本机制 5.SQL接入支持 6.云原生支持 容量 性能 一致性 可高用 易用性 伸缩性 代替单机数据库(注意,主要解决容量问题)。 3.分布式数据库 是一套开源的分布式数据库中间件解决方案组成的生 态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款相互独立,却又能够 混合部署配合使用的产品组成。 它们均提供标准化的数据分片、分布式事务和 数据库治理功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的 应用场景。 5.数据库解决方案 Level 3:Sharding-Proxy中间件(3.x+) Level 2:Sharding-JDBC框架(10 码力 | 23 页 | 1.91 MB | 5 月前302. Kubevela 以应用为中心的渐进式发布 - 孙健波
工作负载类型 运维特征 发布/部署 CRD 注册中心 KubeVela 的 Application 对象 镜像与启动参数 多组件 如何扩容 扩容指标,实例数范围 组件类型 可灵活扩展的其 他能力 • 一个完整的应用描述文件(以 应用为中心) • 灵活的“schema”(参数由 能力模板自由组合) • 放置于应用代码库中(gitops 友好) • 无需学习 K8s 抽象封装方式 可作用的工作负载 K8s 对象模板 CUE 模板 Helm chart 封装 其他封装 Trait 自身 CRD对象 使用方式 (json schema) 示例:上线新功能 metrics 平台研发团队: ● 开发了一个新 Operator 叫做 metrics(监控) ● 编写一个 K8s 能力描述文件 metrics.yaml 平台管理员: ● 执行 $0 码力 | 26 页 | 9.20 MB | 1 年前3
共 23 条
- 1
- 2
- 3