Kubernetes Operator 实践 - MySQL容器化Kubernetes Operator 实践 —— MySQL 容器化 刘林 搜狗资深工程师 关于我 搜狗商业平台研发部 资深开发工程师 l 主要从事商业平台研发工作,在构建高性能、高可用大规模 系统方面有丰富的实践经验 l 目前专注于云计算、DevOps 等相关领域,负责搜狗商业云 平台的设计研发工作 刘林 1. 背景介绍 2. Operator 的基本原理 3. MySQL MySQL Operator 设计实践 4. 小结 搜狗商业平台 技术体系广 服务多迭代快 搜狗产品矩阵 商业平台 信息流广告 搜索广告 品牌广告 代理商 广告主 技术体系 CRM 广告平台 物料展现 审核平台 大数据平台 基础架构 Golang C++ JavaScript Java Python 质量要求高 业务响应快 故障恢复快 Cluster1 • 机器资源利用率不高 • 服务管理复杂 问题 有状态服务的需求越来越多 有状态服务容器化 1. 背景介绍 2. Operator 的基本原理 3. MySQL Operator 设计实践 4. 小结 无状态服务 服务调度 有状态服务集群 服务调度 状态保存 集群管理 有状态服务 服务调度 状态保存 带来的新挑战 服务调度 状态存储 集群管理 成员管理 扩缩容0 码力 | 42 页 | 4.77 MB | 1 年前3
如何用 MySQL 构建全方位高可用应用并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 6 并不仅仅是可靠地存储数据 支持高可用性的各个层 数据的冗余访问路径 数据冗余存储 冗余应用服务器 数据路由 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 MySQL Cluster 从数据库 • 会话线程:处理来自应用程序的查询 - 将 数据写入主数据库,将关联事件写入二进制 日志 • 转储线程:读取二进制日志中的事件,然后 将其发送到从数据库 • I/O 线程:接收复制事件,并将其存储在从 数据库的中继日志中 • SQL 线程:读取从数据库的中继日志中的复 制事件,然后将其应用到从数据库 MySQL 复制工作流 会话 二进制 日志 和/或其附属公司。保留所有权利。 为何进行复制? •将数据库从“主服务器”复制到“从服务器” – 数据的冗余副本奠定了高可用性的基础 – 通过在复制场中进行分布式查询来扩展 主 从 Web/应用服务器 写入和读取 读取 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 9 •异步 – MySQL 默认设置 – 并行:主数据库向应 用程序发送确认,在0 码力 | 40 页 | 2.19 MB | 1 年前3
Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波《MySQL 容器化部署实践》 演讲者/王晓波 背景 ■ 同程旅游早期的数据库都以单库的MySQL。 ■ MySQL的单库,导致TPS最终还是会成为一个瓶颈。 ■ MySQL+DB中间件解决水平拆分问题。 ■ MySQL水平拆分的引入会使数据库实例数量大幅上升,传统运维手段维护成本高,交付能力差。 MySQL数据库为何要Docker化 1.MySQL数据库迅速爆炸式增长后,服务器规模不断增大,快速部署是个问题。 随着业务的发展,扩容数据库的不方便不快捷,也是个问题。 3.大量数据量小的数据库系统也单独部署在物理机,浪费问题突出。 4.DBA的数据库自动化标准化运维的需求。 5.Docker在同程的大规模使用,应用部署环境100%容器化,有Docker丰富的经验 。 让数据库的部署点单化开启 2核4G 4核4G 4核8G 8核8G 8核16G 16核16G 16核64G 32核64G 32核128G 资源管理|资源调度 复制与迁移|高可用保障|备份恢复 自 动 化 运 维 应用 DB中间件 数据存储 应用 VIP 告警分析 告警发送 指标画图 趋势预测 自定义脚本 Open API 数据校验 实例迁移 秒级监控诊断 慢日志分析 资源池调度 调度规则 容器调度 资源池 容器及实例创建 应用交付 资源申请 IO类型 配置 为了保证MySQL的高可用,需要在D0 码力 | 32 页 | 7.11 MB | 1 年前3
运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳Group Replication原理解析与实践经验 徐春阳 MGR原理 MGR vs SEMI-SYNC MRG实践经验 • 支持多节点并发执行事务。如何保证从各个节点并发执行 的事务在每个节点以相同的顺序被应用/执行.------paxos协 议的功能。 • 自动地事务冲突检测。节点之间不能”同时”操作主键相同 记录,如果冲突,只有一个节点成功。------冲突检测。 inspected */! }! ! delete packet;! ��incoming������ ���/packet! MGR原理 MGR vs Semi-Sync MRG实践经验 MGR vs Semi-sync����! Semi-sync! MGR! ����� mysql5.7! refman! MGR vs Semi-Sync� �! �������� Single primary���MGR���� ����������������! MGR�������������� ����������! MRG原理 MGR vs Semi-Sync MGR实践经验 Group_replication_bootstrap_group参数须谨慎 DDL操作注意事项 当心secondary节点变成可写节点 规避大事务 Secondary��������0 码力 | 32 页 | 9.55 MB | 1 年前3
谈谈MYSQL那点事读写性能都非常优秀 • 能够承载大数据量的存储和访问 能够承载大数据量的存储和访问 • 拥有自己独立的缓冲池,能够缓存数据和索引 拥有自己独立的缓冲池,能够缓存数据和索引 MySQL 架构设计—应用架构 强一致性 对读一致性的权衡,如果是对读写实时性要求非常高的话, 就将读写都放在 M1 上面, M2 只是作为 standby 。 比如,订单处理流程,那么对读需要强一致性,实时写实 途径,实际中尽可能两者兼顾。 MySQL 架构设计—高可用架构 系统优化:硬件、架构 系统优化:硬件、架构 服务优化 服务优化 应用优化 应用优化 MySQL MySQL 优化方式 优化方式 影响性能的因素 影响性能的因素 应用程序 应用程序 查询 查询 事务管理 事务管理 数据库设计 数据库设计 数据分布 数据分布 网络 网络 操作系统 操作系统 硬件 配置合理的 MySQL MySQL 服务器,尽量在应用本身达到一 服务器,尽量在应用本身达到一 个 个 MySQL MySQL 最合理的使用 最合理的使用 针对 针对 MyISAM MyISAM 或 或 InnoDB InnoDB 不同引擎进行不同定制 不同引擎进行不同定制 性配置 性配置 针对不同的应用情况进行合理配置 针对不同的应用情况进行合理配置 针对 针对 my.cnf0 码力 | 38 页 | 2.04 MB | 1 年前3
MySQL 企业版功能介绍MySQL 企业版提供了全面的高级功能、管理工具和技术支持,实现了高水平的 MySQL 可扩展性、安全性、可靠性和无故障运行时间。 MySQL 企业版可在开发、部署和管理业务关键型 MySQL 应用的过程中降低风险、削减成本和减 少复杂性。MySQL 企业版具有以下独特优势: 使用 Oracle MySQL 服务云轻松设置、运行和管理云中的 MySQL 使用 MySQL SQL 注入) 对现有 MySQL 应用实施基于策略的审计合规性 通过 MySQL Enterprise Monitor 提高数据库性能和可用性 通过 MySQL Query Analyzer 查明影响数据库性能的 SQL 代码 使用超过 225 个 MySQL 顾问程序实施 MySQL 优秀实践 通过 MySQL Workbench 凭借经济高效、可靠、高性能且可扩展的电子商务、联机事务处理和嵌入式数据库应用 成为全球使用广泛的开源数据库。它是一种事务安全、符合 ACID 标准的集成式数据库,支持全 面的提交、回滚、崩溃恢复和行锁定功能。MySQL 不仅简便易用、易于扩展、性能卓越,而且 还提供了一整套数据库驱动程序和可视化工具,可帮助开发人员和 DBA 自主构建和管理 MySQL 应用。MySQL 数据库具备以下特性:0 码力 | 6 页 | 509.78 KB | 1 年前3
Oracle 和 MySQL 性能优化感悟移动APP性能监测实践(iOS篇) 杨凯 杨凯 杨凯@听云 iOS研发工程师 yangkai@tingyun.com 关于APM APM的终极使命 APM价值的直接体现 监测的根本在数据获取 监控 技术 NSURLProtocol Method swizzling Isa swizzling Isa swizzling+NSProxy Others NSURLProtocol NSURLProtocol 关于NSURLProtocol 基本步骤 应用场景 优点/缺点/坑 1、定一个NSURLProtocol子类 2、注册这个类 3、NSURLProtocol子类实现 method swizzling 拦截的要点: • 拦截到 • 调回去 • 名词约定:原始方法、代理方法 method swizzling 原理 typedef struct objc_method *Method; 加“代理方法” 2、调用method_exchangeImplementations交换IMP 3、确保你的“代理方法”调用了“原始方法” method swizzling 原理 基本步骤 应用场景 优点/缺点/坑 method swizzling(改进版) 原理 基本步骤 小例子 优点 • 利用block作为IMP • 利用自动变量的截取 存储原始IMP 原理:修改isa指针0 码力 | 19 页 | 3.82 MB | 1 年前3
MySQL 8.0.17 调优指南(openEuler 20.09)MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle 旗下产品。MySQL是最流行的关系型数据库管理系统之一,在Web应用方面,MySQL 是最好的RDBMS (Relational Database Management System,关系数据库管理系 统)应用软件之一。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将 所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 I/O,Network I/O,如果是某个硬件指标有问题,需要深入的进行分析。 4. 如果硬件指标都没有问题,需要查看数据库相关指标,例如:等待事件、内存命 中率等。 5. 如果以上指标都正常,应用程序的算法、缓冲、缓存、同步或异步可能有问题, 需要具体深入的分析。 瓶颈点 说明 硬件/规格 一般指的是CPU、内存、磁盘I/O方面的问题,分为服务器硬件瓶 颈、网络瓶颈(对局域网可以不考虑)。0 码力 | 11 页 | 223.31 KB | 1 年前3
MySQL高可用 - 多种方案只是要手工切换从服务器比较麻烦,后面会介绍的 MMM 能将从服务器自动切 换)并且还能实现数据库的读写分离的情况,这样 backup 机器也能用起来,提 高系统资源的利用率,减少 master 端的负载。应用中读数据库配置读 VIP,写数 据库配置写 VIP。这个方案也能够很方便的进行单台数据库的管理维护以及切换 工作。比如进行大表的表结构更改、数据库的升级等都是非常方便的。 3.5 方案实战 3 VIP Role description 10.1.1.176 Read 应用配置的读取 IP,也可以在前端加 lvs 等,做负载均衡 。三台数据库每台一个 浮动 VIP 10.1.1.177 Read 10.1.1.178 Read 10.1.1.179 Write 应用配置的写入的 VIP,单点写入。 6.5.2 MMM 的安装 在安装 mmm0 码力 | 31 页 | 874.28 KB | 1 年前3
MySQL 数据库架构灾难恢复解决方案手动故障转移) 无写入性能影响 特点 • 简单易用 • 熟悉的界面和可用性 mysqlsh,CLONE,... • 在线添加/删除节点/集群 • 路由器集成, 拓扑结构发生变化时无需重新配置 应用程序 M ySQL InnoDB ClusterSet – 3 个数据中心 Copyright @ 2021 Oracle and/or its affiliates. 14 / 55 MySQL and/or its affiliates. 24 / 55 Copyright @ 2021 Oracle and/or its affiliates. 路由器集成 25 / 55 将应用程序配置为连接到本地 MySQL 路由器以连接到 ClusterSet Copyright @ 2021 Oracle and/or its affiliates. 路由器集成 26 / 550 码力 | 52 页 | 3.07 MB | 1 年前3
共 10 条
- 1













