Apache ShardingSphere 企业行|走进中商惠民

2023-11-23 05:18

本文主要是介绍Apache ShardingSphere 企业行|走进中商惠民,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为进一步了解各家厂商的应用场景与深层次需求,提升企业研发团队在使用 Apache ShardingSphere 的效率,Apache ShardingSphere 社区开启了【走进企业】系列活动。

近日,Apache ShardingSphere 核心技术团队应邀来到中商惠民公司总部,PMC 潘娟与中商惠民的技术同学在开源生态建设、云原生以及在特定场景下的解决方案等话题展开了深度交流和探讨。

中商惠民立足社区,构建互联网+社区+民生平台,根据不同群体的需求创新推出 B2B、B2C 和 B2F 三大服务体系,通过供应链升级、产品升级、服务升级、金融升级、技术升级、品牌升级这六大升级模式,驱动传统社区超市的经营转型,赋能社区超市(便利店)成为社区综合服务的中心,构建社区消费和服务的新生态。在此基础上,为支持多业态的创新发展,更高效地处理大体量数据所带来的一系列问题,中商惠民的技术团队联系 Apache ShardingSphere 社区,双方进行了一次深入的技术探讨。

Apache ShardingSphere 的云上解决方案--Database Mesh

Apache ShardingSphere 借力 Database Mesh 打造数据访问治理利器,革新数据库上云方式,在数据库流量的云原生管控方面实现有效补充。

1. 云原生数据库访问接入代理工具

随着云原生理念在全球范围内的普及,Kubernetes 已经成为云原生操作系统的事实标准,以 Sidecar 在 Kubernetes 环境治理流量已经成为业内普遍接受的部署模式。然而在云原生层面的数据流量管控却呈现出空白,缺少一款能够管理云上数据流量的工具。

由 Apache ShardingSphere 核心团队所打造的一款高性能数据库访问接入代理,可以实现 SQL 负载均衡、SQL 审计、可观测性等能力,并对用户应用无侵入。用户完全可以将其视作为一款部署于 Kubernetes 上的数据流量网关。

2. 面向整个数据库行业的解决方案--Database Mesh

在云原生数据库管控层面,需要配套相应的数据面板和控制面板。发展到一定阶段后,所有云上数据库流量的管理和控制都可以交由 Database Mesh 体系来进行管理,既可以管理普通的数据库,也可以搭配 ShardingSphere-Proxy。

Database Mesh 提供了完全隔离不同环境的能力,运维工程师只需变更数据面板到分布式数据库的网络配置,可适配开发环境、测试环境以及生产环境。对工程师完全屏蔽了数据库所在的具体网络地址,开发工程师只需面向本地数据库进行开发,无需感知分布式数据库的存在。通过 Database Mesh 提供的云原生服务,未来可通过接收控制面板发送的指令,来执行限流、熔断、基于标签的路由等工作。

Database Mesh 是面向整个数据库行业的解决方案,不强制与 Apache ShardingSphere 绑定使用。但将 Database Mesh 与 Apache ShardingSphere 配合使用,能够通过私有协议有效提升交互的性能,形成更加一体化的 Database Mesh 有机解决方案。

如何判断业务是否需要分片?

数据分片是指按照某个维度,将单一数据库中的数据拆分至多个数据库或表中存储,从而达到提升性能和可用性的目的。

首先要明确为什么要采用分片策略?

  • 数据库存储节点性能受限、数据库查询性能降低

数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作、增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO 等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。

  • 业务关联性问题

如果业务都集中在一起,后端的调整势必会影响到前端业务,所以数据量和性能是一方面,对前端业务的影响也应该加入到考虑之中。

数据体量是一个维度,但并不是决定性的因素。是否选择分片策略,应该根据场景具体需要和线上业务运营情况来决定。毕竟分片最显著的效益在于存储性能和查询效率的提升。在大多数面向用户的场景下,企业需要首先考虑性能问题,此时分片的作用就会更加突出。而在某些对性能、效率没有要求的场景下,即便线上跑着 1 亿体量的数据,对于企业管理和业务运转没有产生直接影响,也不需要对其进行分片。

企业为什么应该参与到开源社区中

在开源社区的贡献,是工程师的另一张简历。

对于公司管理而言,要让工程师感觉到他本身的工作是有价值的、有创造性的,而并非只是按照业务需求按部就班完成功能实现。若要发挥工程师的主观能动性以及创造力,开源无疑是最好的方式。

毕竟大家每天接触到的只是身边这群人,所做的工作也只是办公室里的这些事,每天被『局限』在固定的圈子中。而通过开源,对于工程师来说可以将自己的工作连接到世界,让自己能够抛开书本将视野真正投入到技术中来,逐渐培养开放、合作的精神,重新发现自己当下所产生的价值。

只有当团队中参与开源的工程师数量多了起来,才能慢慢在公司内部形成这种开源的文化。如果能够成功培养工程师优雅的代码设计、周全的思考逻辑习惯,进而健壮自身项目代码质量以及完善的架构思考等等,这些对于工程师和公司团队而言都是无价之宝。如果团队里有一名这样坚守十年如一日的工程师,他在团队中无疑将会起到定心丸的作用,对整个团队的效能提升反而是助力作用。而这也正是公司参与到开源所能产生的最大价值。

在内部培养了开源文化和氛围后,如果团队有自研工具等产品,都能够以公司名义放到 GitHub 上。哪怕不做任何的推广、运营,只需要将项目放置在 GitHub 上,当用户有需求时,自然会与你的项目产生互动,甚至主动为项目做出相应的贡献和补充。所以公司参与开源的第一步,是迈出去。如果公司愿意主动去做,愿意让自己的能力开源出去,以公司行为所塑造的号召力和影响力,将能够在开源这条路上走得更快更远。

794ded044066e11182844c63ae577639.png

【联系我们】

如果您在业务中有应用 Apache ShardingSphere,想要快速了解、接入 Apache ShardingSphere 5.0 新生态,希望借此机会在团队内部举办一场关于 Apache ShardingSphere 的技术分享,欢迎在公众号后台中留下您的姓名、公司、职位、电话等信息,或扫描下方二维码添加官方小助手,备注“走进企业”,会有专人与您对接。

在沟通过后如果双方认为产品和场景均非常匹配,Apache ShardingSphere 社区的核心团队将会走进您的企业,与各条研发线的工程师们现场沟通,解答关于 Apache ShardingSphere 的任何疑问。

8fc43e10e107d732350485f5b31e1f63.png

这篇关于Apache ShardingSphere 企业行|走进中商惠民的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/415610

相关文章

SpringBoot整合Apache Flink的详细指南

《SpringBoot整合ApacheFlink的详细指南》这篇文章主要为大家详细介绍了SpringBoot整合ApacheFlink的详细过程,涵盖环境准备,依赖配置,代码实现及运行步骤,感兴趣的... 目录1. 背景与目标2. 环境准备2.1 开发工具2.2 技术版本3. 创建 Spring Boot

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Spring Boot 整合 Apache Flink 的详细过程

《SpringBoot整合ApacheFlink的详细过程》ApacheFlink是一个高性能的分布式流处理框架,而SpringBoot提供了快速构建企业级应用的能力,下面给大家介绍Spri... 目录Spring Boot 整合 Apache Flink 教程一、背景与目标二、环境准备三、创建项目 & 添

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

ShardingSphere之读写分离方式

《ShardingSphere之读写分离方式》:本文主要介绍ShardingSphere之读写分离方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录ShardingSphere-读写分离读写分离mysql主从集群创建 user 表主节点执行见表语句项目代码读写分

解决Maven项目报错:failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题

《解决Maven项目报错:failedtoexecutegoalorg.apache.maven.plugins:maven-compiler-plugin:3.13.0的问题》这篇文章主要介... 目录Maven项目报错:failed to execute goal org.apache.maven.pl

深入理解Apache Kafka(分布式流处理平台)

《深入理解ApacheKafka(分布式流处理平台)》ApacheKafka作为现代分布式系统中的核心中间件,为构建高吞吐量、低延迟的数据管道提供了强大支持,本文将深入探讨Kafka的核心概念、架构... 目录引言一、Apache Kafka概述1.1 什么是Kafka?1.2 Kafka的核心概念二、Ka

使用Apache POI在Java中实现Excel单元格的合并

《使用ApachePOI在Java中实现Excel单元格的合并》在日常工作中,Excel是一个不可或缺的工具,尤其是在处理大量数据时,本文将介绍如何使用ApachePOI库在Java中实现Excel... 目录工具类介绍工具类代码调用示例依赖配置总结在日常工作中,Excel 是一个不可或缺的工http://

Apache伪静态(Rewrite).htaccess文件详解与配置技巧

《Apache伪静态(Rewrite).htaccess文件详解与配置技巧》Apache伪静态(Rewrite).htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令,主要的... 一、.htAccess的基本作用.htaccess是一个纯文本文件,它里面存放着Apache服务器