首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/5326906/blog/5535795

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

揭露数据不一致的利器 —— 实时核对系统

本文首发于微信公众号“Shopee技术团队” 摘要 随着企业业务发展,以及微服务化大趋势下单体服务的拆分,服务间的通信交互越来越多。与单体服务不同,微服务间的数据往往需要通过额外的手段来保障一致性,例如事务消息、异步任务补偿等。除了从机制上最大程度保障以外,如何观测并及时发现数据不一致也非常重要。 本文介绍 Shopee Financial Products 团队设计和开发的实时核对系统(Real-time Checking System),它接入简单,只需根据核对需求配置对应的核对规则,实现了规则热加载,并能在不侵入业务的前提下对系统数据进行实时监测对比,及时发现数据的不一致。系统落地至今,已在 Shopee 多个产品线推广使用,帮助不同团队快速发现线上数据不一致问题,为数据保驾护航。 1. 背景 1.1 系统数据的不一致性 在日常的开发迭代中我们能发现,系统的数据有时并不按照我们设想的那样进行变更。常见的场景如:用户进行了还款(Repay),系统 A 收到了还款请求后调用系统 B,将已冻结的账户进行解冻,但因为某些原因(如系统故障、网络分区等),解冻的请求没有抵达 B,或者解冻成功...

以字节跳动内部 Data Catalog 架构升级为例聊业务系统的性能优化

背景 字节跳动 Data Catalog 产品早期,是基于 LinkedIn Wherehows 进行二次改造,产品早期只支持 Hive 一种数据源。后续为了支持业务发展,做了很多修修补补的工作,系统的可维护性和扩展性变得不可忍受。比如为了支持数据血缘能力,引入了字节内部的图数据库 veGraph,写入时,需要业务层处理 MySQL、ElasticSearch 和 veGraph 三种存储,模型也需要同时理解关系型和图两种。更多的背景可以参照之前的文章。 新版本保留了原有版本全量的产品能力,将存储层替换成了 Apache Atlas。然而,当我们把存量数据导入到新系统时,许多接口的读写性能都有严重下降,服务器资源的使用也被拉伸到夸张的地步,比如: 写入一张超过 3000 列的 Hive 表元数据时,会持续将服务节点的 CPU 占用率提升到 100%,十几分钟后触发超时 一张几十列的埋点表,上下游很多,打开详情展示时需要等 1 分钟以上 为此,我们进行了一系列的性能调优,结合 Data Catlog 产品的特点,调整了 Apache Atlas 以及底层 Janusgraph 的实现或配...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。