- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
苗立尧-Apache ShardingSphere 的云原生探索与实践-ShardingSphere Meetup 上海站
展开查看详情
1 .「Apache ShardingSphere 2023 Meetup」 Apache ShardingSphere 的 云原生探索与实践 苗立尧
2 .目录 1 • ShardingSphere 简介 02 2 • Database Plus:从云下到云上 03 3 • 云原生场景下的典型解决方案 03 4 • 社区进展与未来规划
3 .01 ShardingSphere 介绍
4 .数据库碎片化与云原生浪潮 微服务带来了快速响应市场的能力,增加了部署、上线、更新、 测试等管理维护的复杂度。 以 Kubernetes 为代表的云原生浪潮帮助解放了运维的生产力, 使得微服务上线发布和治理提升了一个新台阶。 随着业务场景越来越多元,数据应用的方案呈现烟囱状,对数据 的管控有孤岛化的趋势,摆在技术人员面前的是“选型难、成本 高、管控复杂”等问题。 Uber Microservice https://twitter.com/msuriar/status/1110244877424578560/photo/1
5 .ShardingSphere 介绍 全球最顶级的开源软件基金会 管理超过两亿行代码 成功孵化 300+ 顶级开源项目 17,000+ Stars 12,000+ Pull Requests 6,000+ Forks 400+ Contributors 基金会认可 Apache 软件基金会顶级项目` 社区活跃度 2021 年度 Apache 基金会年度报告代码提交量 位列前十 学术界认可 数据库顶会 ICDE 2022 发表论文《A Holistic and Pluggable Platform for Data Sharding》 出版《Apache ShardingSphere 的权威指南》,有力阐述了 如何在多模型数据库之上构建开放生态
6 .ShardingSphere 与 CNCF ShardingSphere 已入选了 CNCF 全景图,成为云原生数据库生态的重要组成部分
7 .02 Database Plus:从云下到云上
8 .讨论云化到底在讨论什么 多、平、快、省
9 .ShardingSphere 的架构设计
10 .“如何把一只大象塞到冰箱里” 云下的数据库高可用 vs 多 AZ 云数据库
11 .云原生十二要素
12 .云化的机遇和挑战 • 云配置版本化 • 基础设施代码化 • 自服务化 • 运维自动化 • 多数据源联邦化 • ...
13 .03 云原生场景下的典型解决方案
14 .数据库上云用户最关心的九个问题 快速部署 迁移 高可用 灾备 备份 安全合规 故障排查 配置 监控报警
15 .云上快速部署 云上的部署效率极高,通常都会有多种工具链帮助加速部署,比如云上版本的 Puppet 和 Ansible。而近几年火热的 Infrastructure as Code 大大简化了版本化的部署过程。 如 AWS 提供了丰富的应用部署工具集,包括 OpsWork、SystemManager、CloudFormation 等,可以统一配置 VPC、子网、 安全组等基础网络环境,同时可以部署 EC2、节点组、自动扩容组等计算资源,实例运行的时候自动启动指定应用。 ShardingSphere Proxy 得益于其简洁的部署架构,将治 理节点、计算节点和存储节点分离开,并根据需要组合不 同的实例,进行快速的部署。
16 .云上数据源高可用 在云上,通常会引入 Region、Availability Zone 的概念用来 描述部署位置,并基于此构建不同的高可用方案。 比如 AWS 的 RDS 都有单 AZ 和多 AZ 的部署方式,并有多种 灾备切换方式。 ShardingSphere 自身的去状态化保证其良好的弹性能力,而 它还提供了 Database Discovery 能力,实现用户应用无感知 的数据库维护升级和灾备切换。
17 .云上数据弹性迁移 为了将存量数据或遗留数据库系统迁移至云上,一般都会 通过 Data Migration Service 的方式进行。如 AWS 的 DMS 等。 DMS 提供的迁移能力,可以以并行任务的方式将数据从 本地或原有的云服务上迁移至 AWS RDS,配合 Schema Conversion Tool 还可以实现 Schema 元数据变更。 ShardingSphere 在面对存量数据分片、分片键变更等场 景里同样支持数据迁移,类似 DMS,配置简单,最小化 数据不可用的时间窗口以及保证数据的正确性。
18 .云上可观测性 对于可观测性建设的一个要点是尽量减少信息孤岛的影响。云上通常已经具备了从软件到硬件整套分层的监控和洞察能力, 还可以配合通知服务、Serverless 服务等,构建多种指标消费渠道。 AWS RDS 就提供了 CloudWatch 和 Performance Insight 两种丰富的监控和透视指标,并支持报警和事件处理。 ShardingSphere 利用 Agent 采集数据,弥补了从原 有监控的不足,帮助用户更清楚地发现热点分片、慢 SQL 瓶颈、DistSQL 统计信息等,形成完整的监控洞 察链路。 CloudWatch 指标还可以被展示到 Grafana,构成完 整的端到端监控大屏。
19 .云上影子库 2022年初的时候,Apache ShardingSphere 联合 Apache APISIX 和 Apache Skywalking 共同推出 了 Cyborgflow 项目,实现从网关到数据的全链路、 可观测的压测方案。 在 AWS 上可以利用多套 RDS 或者 Aurora Clone 快速部署一套用于压测的数据库实例,和 ShardingSphere 的影子库能力二者相互配合,通过 Hint 或基于列的影子算法,将数据请求路由到影子 库,实现全链路的压测能力。
20 .云上加密洗数 数据安全是重中之重,不同的行业有着对应的审计要求, 比如细粒度的认证授权、操作日志需要脱敏保留、数据传 输加密、机密数据加密存储等。 如 AWS 上提供了多种安全和合规工具,比如 KMS, CloudHSM 以及 CMK 帮助解决加密相关的问题。 ShardingSphere 提供了强悍的数据加密能力,通过逻辑 列、密文列、明文列和查询辅助列的组合,实现对业务影 响最小、用户体验友好的数据加密体验。
21 .云上日志审计 而对于数据库行为审计,除了可以通过在 RDS 配置中进行实现 外,还可以通过 ShardingSphere 进行表级别的权限控制,以及 敏感操作事件推送。这些事件记录被存储在 CloudWatch LogGroups 对应的 S3 中,以满足审计检查需要,同时这些事 件还可以导入 OpenSearch 进行分析,或者发送至 Lambda 进 行更具体的计算等。 ShardingSphere 是数据保护的第一道屏障。
22 .你好!Kubernetes
23 .云原生交付:Helm Charts
24 .基础设施和运维即代码:ShardingSphere-Operator Helm Operato Charts r Pattern
25 .基础设施和运维即代码:ShardingSphere-Operator Operator 的架构设计 挑战: • 配置复杂 • 治理节点依赖 • 虚拟机和云上部署行为不同 • 弹性和水平扩容
26 .案例一:云上快速部署和高可用 AWS RDS Instance Multi-AZ AWS Aurora
27 .案例二:分片 1. 注册存储节点 2. 创建分片规则 3. 创建逻辑表
28 .案例二:分片 5. 逻辑表插入和查询 6. 数据源1查询 7. 数据源2查询
29 .案例三:加密 1. 注册存储节点 2. 创建加密规则 3. 创建逻辑表 4. 查看物理表属性