《苗立尧-开源生态建设沙龙.pdf》由会员分享,可在线阅读,更多相关《苗立尧-开源生态建设沙龙.pdf(23页珍藏版)》请在三个皮匠报告上搜索。
1、Apache ShardingSphere 在云计算生态的探索和实践SphereEx 苗立尧2023.04.21单击添加标题分享大纲 Apache ShardingSphere 介绍 ShardingSphere on Cloud 生态探索自我介绍苗立尧SphereEx 云技术负责人 现专注于为 Apache ShardingSphere 构建云上解决方案 曾就职于株式会社、穿杨科技、蚂蚁金服、易宝支付等多家互联网公司 Linuxer&Gopher&Rustacean,开源极客,云原生布道师“容器时代”社区联合创始人 多个云原生开源项目贡献者 曾参与编写Tensorflow技术解析与实战、Is
2、tio Handbook单击添加标题Apache ShardingSphere 介绍全球最顶级的开源软件基金会管理超过两亿行代码成功孵化 300+顶级开源项目Apache 软件基金会顶级项目基金会认可社区活跃度学术界认可2021 年度 Apache 基金会年度报告代码提交量位列前十数据库顶会ICDE 2022 ICDE 2022 发表论文发表论文A Holistic and Pluggable Platform for Data Sharding18,000+Stars400+Contributors6,000+Forks12,000+Pull Requests出版Apache Shardin
3、gSphere Apache ShardingSphere 的权威指南的权威指南,有力阐述了如何在多模型数据库之上构建开放生态单击添加标题Apache ShardingSphere 介绍ShardingSphere 已入选了 CNCF 全景图,成为云原生数据库生态的重要组成部分单击添加标题ShardingSphere on Cloud 生态探索站在用户的视角:如何在云环境快速部署开箱体验?是否可以像管理代码一样管理基础设施变更?如何平稳地将数据从单机迁移到 ShardingSphere?如何透视系统的运行状态?云上的弹性如何实现?.站在 ShardingSphere 的视角:面向虚机和面向云的
4、差异是什么?如何在云主机、Kubernetes 上一键部署?如何面向云环境扩展 ShardingSphere,利用好云上各类能力?提高云环境中 ShardingSphere 的稳定性?.单击添加标题ShardingSphere on Cloud 生态探索面向虚机:易被污染的运行环境 冗杂的上线流程 通过冗余实现“弹性”有限的虚机环境,有限的计算、有限的存储 开发者关心“全栈”面向云:多租户的“干净”环境 即用即销的计算 近乎海量的分层存储 开发者聚焦应用和数据“开发和运维的心智变化”单击添加标题ShardingSphere on Cloud 生态探索ShardingSphere on Clou
5、d 生态探索合作社区61Stars21Contributors3 Versions202Pull Requests社区贡献者单击添加标题ShardingSphere on Cloud 生态探索目前状态:面向 Kubernetes 环境的 Helm Charts、Operator 面向多云的 CloudFormation 和 Terraform 通过混沌工程提升 ShardingSphere 稳定性 和 OpenSergo 社区共同推出了微服务下数据库治理标准 和 DatabaseMesh 社区共建云环境下数据库可靠性工程(DBRE)和 OpenGauss 实现 Point-In-Time Re
6、covery 联合方案 社区贡献了基于 WebAssembly 的 ShardingSphere 扩展 demo 参加 2023 年度的 GSoC,开源之夏.ShardingSphere 云上最佳实践CloudFormation Stack Template:部署架构和依赖通过代码进行描述 利用 VCS 对基础设施版本化 通过配置变更集管理变更 通过控制器检查配置并定期修正以实现声明式的配置单击添加标题ShardingSphere 云上最佳实践Terraform 的优势:可扩展 Provider 自动管理基础设施 基础设施即代码 无需重复开发单击添加标题ShardingSphere 云上最佳实
7、践 Helm install/ungrade/uninstall Snake YAML 可选的 server.yaml ArtifactHub单击添加标题ShardingSphere 云上最佳实践Operator v2:利用 Cluster 描述 ShardingSphere 集群 利用 ComputeNode 描述ShardingSphere Proxy 计算节点 利用 StorageNode 描述 AWS RDS 等存储节点 实现声明式的集群配置 实现存储节点的自动创建和注册 DatabaseClass CRD DBRE.单击添加标题ShardingSphere 云上最佳实践Compute
8、Node Spec:storageNodeConnector:声明 ShardingSphere 使用的数据库驱动 serverVersion:声明 ShardingSphere 的版本 副本数.portBindings:声明 Pod 端口和 Service 端口 serviceType:声明 Service 类型 bootstrap:声明 server.yaml 和 logback.xml,并渲染到 ConfigMap单击添加标题ShardingSphere 云上最佳实践 利用 kubectl 查看 ComputeNode 状态,展示就绪实例数、集群状态、服务 IP 端口等 可以利用 kub
9、ectl scale computenode 调整实例数量单击添加标题ShardingSphere on Cloud 生态探索单击添加标题ShardingSphere on Cloud 生态探索单击添加标题ShardingSphere on Cloud 生态探索以 Chaos Mesh 为例,支持 JVM Chaos#254 Exception:抛出自定义异常 GC:触发 GC Latency:增加方法执行延迟 Return:修改方法返回值 Stress:增加 JVM 压力 Rule:注入 Byteman 脚本ShardingSphereChaos 围绕能力场景构造混沌测试 CRD,如 Dis
10、tSQL、分片、加密、弹性等,由 operator 完成混沌测试的全生命周期管理。单击添加标题ShardingSphere on Cloud 生态探索Database Mesh 是一种以数据库为中心的治理框架:数据库是一等公民,一切抽象围绕数据库治理行为 面向工程师体验,无需关心数据库位置 面向云的原生机制开放扩展ShardingSphere on Cloud 生态探索ShardingSphere-on-Cloud 未来里程碑:云上部署如 Terraform 支持国内外主流公有云通过混沌工程持续提升 ShardingSphere 稳定性借助 Operator 实现 ShardingSphere 集群的Autopilot单击添加标题参与社区Apache ShardingSphere微信公众号SphereEx微信公众号SphereEx 官网:https:/sphere-Open SphereEx Community:https:/community.sphere- Apache ShardingSphere Website:https:/shardingsphere.apache.orgApache ShardingSphere GitHub:https:/ ShardingSphere Slack Channel:https:/邮箱:itsphere- THANKS