关于数据库:ShardingSphere-在数十个联通政务热线场景中的应用稳定高效可复制

4次阅读

共计 2430 个字符,预计需要花费 7 分钟才能阅读完成。

联通数科整合中国联通“云、大、物、智、链、安”(云计算、大数据、物联网、人工智能、区块链、平安)等能力,面向智慧城市、数字政府、工业互联网、生态环保、文化游览等畛域,联通数科已积攒大量行业标杆案例,胜利为客户提供更加丰盛、业余的产品和服务。

一、我的项目背景

随着“互联网 + 政务服务”政策的继续发力,越来越多的中央政府开始着手打造“互联网 +”环境下的政务服务平台。

近年来,联通数科先后助力数十个政务热线平台上线,以晋升政务服务能力,局部我的项目如下图。

政务热线业务有并发高、数据量大的特点,咱们每拨打一次政务热线,即产生一条工单记录。相比以往,疫情期间的热线业务量更是翻了数倍。

在政务热线的工单模块中,为满足大规模、海量数据以及高稳固的业务需要,联通数科采纳 ShardingSphere 对工单信息进行分片存储,在政民互动的桥梁中构建坚硬的桥墩

二、业务挑战

政务热线是政府与企业、大众互动的次要渠道,以繁多号码面对公众,提供 7 * 24 服务。除受理工单外,还包含了话务、知识库、语音对答及智能坐席等业务。

在零碎布局阶段,数据库层作为业务零碎的基石,技术选型过程更为审慎。零碎的稳固是硬性指标,其次是性能,性能间接影响热线业务的服务能力,同时还要具备易于保护和治理的特点,便于系统升级及后盾保护。

在数据库架构选型中,政务热线系统对架构要求如下:

  • 成熟稳固
  • 高性能
  • 易保护
  • 业务代码低耦合

三、抉择 ShardingSphere 的理由

通过技术团队多轮调研测试,包含稳定性、产品性能、接入形式及性能等,最终抉择“ShardingSphere + MySQL”分布式数据库解决方案

  • 理念先进

随业务利用场景多元化倒退,数据库已呈碎片化趋势,「Database Plus」旨在数据库下层建设规范和生态,为数据库提供增量能力,可避免数据库绑定、实现自主可控,冲破原有数据库性能局限,晋升数据基础设施整体性能下限。

  • 成熟稳固 / 案例多

ShardingSphere 于 2016 年开源,通过多年的研发迭代,产品历经多个头部互联网大型场景打磨,成熟稳固、值得信赖。

  • 性能全面

ShardingSphere 除了具备 Sharding 能力外,数据加解密和影子库的性能也是作为联通技术团队评估的指标,通过一套技术栈既可解决平安和压测的场景需要。ShardingSphere 为政务热线零碎建设及架构扩大,提供了更多的能力反对。

  • 高兼容 / 接入不便

ShardingSphere 与 MySQL 协定兼容,语法反对度也十分高,在开发过程中简直不必思考 SQL 的反对问题,接入十分不便。

  • 高性能

政务热线忙时有数千坐席在线,工单记录以千万记录为起始单位,对性能有明确的要求。ShardingSphere-JDBC 定位为轻量级的 Java 框架,压测后果数据现实,可满足政务零碎服务能力要求。

  • 易运维

在 JDBC 良好的性能根底之上,ShardingSphere 还提供了对运维人员敌对的 Proxy,应用罕用的客户端即可间接拜访,上手保护较容易。

除了以上五个维度的衡量,选型中也参考了其余数据库中间件产品,以下表格是 ShardingSphere 和 Mycat 的比对。

Apache ShardingSphere Mycat
开源协定 Apache-2.0 GPL-2.0/GPL-3.0
接入端 客户端 / 代理端 代理端
数据库反对 客户端:任意
代理端:MySQL/PG/openGauss
MySQL、Oracle、DB2、SQL Server、PostgreSQL 等
性能 客户端:损耗低
代理端:损耗高
损耗高
读写拆散
数据加密
全链路压测
社区成熟度 Apache 软件基金会
信通院可信认证
社区活跃度高
集体 / 三方社区
社区活跃度个别
商业公司反对

四、解决方案

因为“ShardingSphere+MySQL”具备稳固、易用及性能极致等特点,该计划在联通数科的多个政务热线我的项目中复制应用。

  • 部署形式

ShardingSphere-JDBC 和 ShardingSphere-Proxy 混合应用的形式,兼顾了零碎性能和可维护性。

  • 分片键 / 分片算法

政务热线的工单表绝对较大,且应用逻辑简略,因而在分片设计上,选取工单 ID 作为分片键,通过哈希算法散布数据。

  • 迁徙

新建我的项目不波及历史数据,因而无需思考数据迁徙环节,上线即间接应用。

  • 施行过程

回顾数个已上线的我的项目,因为技术计划评估较全面,且屡次复制计划,施行过程并没有遇到“坑”。

  • 零碎架构

政务热线业务模块采纳了微服务架构,节点在十几到几十不等,以具体省市规模决定。在数据库层,应用物理机部署 3 节点 MHA,每个政务热线零碎个别须要 4 套 MHA 来撑持业务。

五、用户收益

  • 业务角度

    • 反对客户端模式,最大化保障了政务热线 对性能的要求
    • 零碎稳固,为业务连续性带来无力的撑持。
  • 研发角度

    • 兼容良好,兼容支流数据库 SQL 语法,对接即可应用;
    • 性能全面,读写拆散、数据加密及全链路压测计划,零碎扩展性强。
  • 运维角度
  • 反对代理端模式,为运维人员提供了 良好的保护入口
  • 技术选型角度

    • 避免数据库绑定,为将来降级提供了足够的灵便度撑持。

六、总结

通过联通数科政务热线的多个案例,验证了 ShardingSphere 在政务场景的能力,也进一步阐明了 ShardingSphere 无行业限度的特点。

目前我国数字政府建设已进入全面提速阶段,联通数科和 ShardingSphere 通力合作,心愿助力更多政务热线我的项目落地,打造更多高效、便捷和平安的政务热线。

如果大家对 Apache ShardingSphere 有任何疑难或倡议,欢送在 GitHub issue 列表提出,或可返回中文社区交换探讨。

GitHub issue:https://github.com/apache/sha…

5.1.2 版本下载链接:https://shardingsphere.apache…

奉献指南:https://shardingsphere.apache…

中文社区:https://community.sphere-ex.com/

正文完
 0