乐趣区

关于数据库:Apache-ShardingSphere-企业行|走进腾讯

为进一步理解各家厂商的利用场景与深层次需要,晋升企业研发团队在应用 Apache ShardingSphere 的效率,Apache ShardingSphere 社区开启了【走进企业】系列流动。这次,Apache ShardingSphere 来到了深圳腾讯总部,面向腾讯的研发同学进行了相干技术分享。

2021 年 11 月,Apache ShardingSphere 核心技术团队来到深圳腾讯总部,与腾讯各条业务线的技术同学开展了深度交换和探讨。会上,Apache ShardingSphere PMC Chair、SphereEx 公司创始人张亮对 Apache ShardingSphere 能力都做了具体的介绍。

据悉,腾讯在多个业务场景下利用了 Apache ShardingSphere。随着 Apache ShardingSphere 5.0.0 正式版的更新,Database Plus 理念与可插拔架构在肯定水平上重塑了 Apache ShardingSphere 生态。因而张亮受邀来到现场与腾讯各条业务线的工程师们对开源生态建设、Apache 软件基金会、ShardingSphere 场景解决方案等话题开展了探讨。

01 对于如何做开源

过来几年在开源社区上,国内用户大多是表演程序下载和代码援用的角色,在社区建设方面却鲜有波及。最近几年随着开源理念在国内推广,开始涌现出越来越多抱有强烈技术情怀的同学。正是有这些同学的退出,逐步沉闷了国内的开源市场,也慢慢将国外优良的开源理念引入到国内的开源我的项目中来,近几年也开始涌现出越来越多优良的国产开源我的项目,国人对于开源的关注度也愈发低落。

  • 需接受项目前期的孤单与苦闷

当然,对于一款新生开源我的项目而言,社区的建设和经营并非只是将我的项目代码公开在 GitHub 上这么简略而已,要进入到 Apache 孵化器也并非易事。对于一个好的开源我的项目而言,评判规范并非只是局限于理念超前、技术先进等,更多是在技术影响力、团队影响力、生态建设、开发者群体等多方面所积攒的深厚根底。

进入到 Apache 孵化器后,即使有了 Apache 导师的辅导,依然须要度过一段孤单和苦闷的开发阶段。因为开源是一项乐趣与苦闷并存的工作,既然想要享受开源所带来的乐趣与成就感,就要首先接受项目前期只有本人在默默耕耘的苦闷期间。

  • 坚守工程师本人的完美主义

首先,作为工程师,要把握动静布局的思考能力。这就要求咱们工程师将眼光放久远,为将来的设计、需要的变动留出缺口,尽可能提供多种可能性。同时咱们要站在全局的角度来进行布局,既关注眼前,也专一将来,深信眼下本人所做的事件,尤其是在开源社区中所做的致力,肯定会在将来某个工夫点施展其对应的价值。

其次,年龄永远都不是评判一个人能力强弱的规范。兴许工夫的增长并不会对你的代码速度带来多少晋升,但过往的教训和对于业务的了解肯定会让你防止很多不必要的坑。优雅的代码设计,周全的思考逻辑,强壮的代码自身以及欠缺的架构思考等等,这些都是价值连城。如果团队里有一名坚守数十年如一日的工程师,他在团队中无疑将会起到定心丸的作用,对整个团队的效力晋升反而是助力作用。

最初,跳出舒服区,被动向行业深处去摸索。对于工程师而言,本身价值的体现不能只是在技术水平上,还体现在对于业务的了解上。因而,工程师应该被动抉择一些有深度、有挑战的工作,造就本人对于业务设计和进度把控的能力,面向长期指标去致力,同时为满足短期指标而随时做出调整,让工程师自身的成长适应所设定的指标去后退。

  • 践行 Apache Way

The Apache Way 的外围准则是“社区高于代码”,衰弱社区的优先级远高于优良的代码。“社区高于代码”的格言在 Apache 社区中常常失去增强,因为 ASF 宣称衰弱的社区比良好的代码更重要。弱小的社区总是能够纠正其代码的问题,而不衰弱的社区可能会致力以可继续的形式保护代码库。

以 Apache ShardingSphere 为例,作为一款 Apache 顶级开源我的项目,Apache ShardingSphere 当初仍然在踊跃号召大家参加到开源社区中来,毕竟社区才是一款开源我的项目的外围,开发者才是社区的基石。毕竟大家每天接触到的只是身边这群人,所做的工作也只是办公室里的这些事,每天被『局限』在这个圈子中。而通过开源,则能够让本人的工作连贯到世界,让本人可能抛开书本真正投入到我的项目中来,关上视线,逐步造就凋谢、单干的精力,从新发现自己当下所产生的价值。

02 Apache ShardingSphere 在不同场景下的劣势

Apache ShardingSphere 反对 JDBC 接入、Proxy 接入等多种形式,用户能够按具体需要来做选型,在原有集群之上来做分片、读写拆散、数据迁徙等相干操作。其中,用户能够齐全以 JDBC 的形式去应用 Apache ShardingSphere,齐全兼容 JDBC 和各种 ORM 框架,不需额定的部署和依赖即可能实现分布式治理、程度扩大、数据加密等一系列操作,且 Apache ShardingSphere JDBC 模式的性能显著优于 Proxy;

其次,Apache ShardingSphere 反对独自分库、独自分表和同时分库分表等灵便的分片形式,并且提供四种不同的分片策略以及可能让用户自行实现分片算法,使得用户可能更加自在地控制数据分片;

最初,Apache ShardingSphere 可插拔架构提供了数十个基于 SPI 的扩大点,基于此,Apache ShardingSphere 默认实现了数据分片、读写拆散、数据加密、影子库压测、高可用等性能,开发者能够非常不便的对性能进行定制化扩大。


目前,Apache ShardingSphere 已更新 5.0.0 正式版。随同着此次更新,Apache ShardingSphere 也正式将产品定位转向以 Database Plus 为外围的全新畛域。除在数据库下层提供弱小的增量能力之外,Database Plus 架构也为开发者和用户凋谢了高度可扩大的数据库生态,为 Apache ShardingSphere 将来的倒退指明了方向。

退出 Apache ShardingSphere GitHub 社区: https://github.com/apache/shardingsphere

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

欢送关注咱们的公众号(SphereEx),第一工夫获取资讯。

退出移动版