【Seata源码领读】揭秘 @GlobalTransactional 背后 RM 的黑盒操作之一阶段
Seata 从设计层面将事务参与者的角色分为 TC(事务协调器)、RM(资源管理器)、TM(事务管理器) ,传统的 XA 方案中, RM 是在数据库层,即依赖了 DB 的 XA 驱动能力,也会有典型的数据锁定和连接锁定的问题,为了规避 XA 带来的制约,Seata 将 RM 从 DB 层迁移出来,以中间件的形式放在应用层,完全剥离了分布式事务方案对数据库在协议支持上的要求。在 Seata 的 AT 模式中, RM 的能力是在数据源做了一层代理,Seata 在这层代理中干预业务 SQL 执行过程,加入分布式事务所需的逻辑,通过这种方式,Seata 真正做到了对业务代码无侵入,只需要通过简单的配置和声明,业务方就可享受 Seata 所带来的分布式事务能力;而且跟 XA 模式相比,当本地事务执行完可以立即释放本地事务锁定的资源,性能更好。
分布式系统设计中的并发访问解决方案 | 得物技术
随着互联网信息技术的飞速发展,数据量不断增大,业务逻辑也日趋复杂,对系统的高并发访问、海量数据处理的场景也越来越多。如何用较低成本实现系统的高可用、易伸缩、可扩展等目标就显得越发重要。
领域驱动设计问题域分析-以bilibili OGV业务为例
领域驱动设计作为一种设计思维方式从被提出到现在,社区也不断丰富了领域事件,事件溯源,CQRS等设计元模型。随着个人对领域驱动设计的理解不断深入,结合自身在项目中的实践经验,以目前bilibili OGV的业务为例通过领域驱动设计的分析设计建模方法,试图说明领域驱动设计的统一过程和思考方式,本篇文章只包含问题域分析,没有提及架构,设计模型和编码层面的内容。文章通过对价值需求分析方法,获取问题领域相关利益者,在相关利益者的基础上通过分析业务需求的业务流程和业务场景,在业务需求分析结果的业务流程图和业务用例图基础上,通过领域识别和划分得出领域划分结果领域映射图让问题领域变的清晰。
思考:如何写出让同事难以维护的代码?doge
本文从【程序命名&注释】【数据类型&类&对象】【控制执行流程】和【程序/结构设计】四个方面梳理了一些真实案例,相信通过这些案例你能迅速get技能:如何写出让同事难以维护的代码doge。
心心念念的优化完成了,虽然不是很完美
核心模块有个功能点,一直以来想着将其优化掉(虽然在线上稳定运行了这么多年),要么没时间,要么懒的搞,一拖再拖。期间也想了各种方案,无奈不是很完美,恰好吴老师进群了,随向有着20多年经验的吴老师进行了请教,也跟A总,E总等进行了讨论,慢慢的也有了优化思路,于是用了大概一天的时间,基于这几个大佬的方案,进行了优化。
提效新纪元-组件化开发在转转App中的应用-后端篇
组件化开发是一种利用可重用的软件构件来设计和开发计算机系统的过程。借助组件化开发可以实现最小化、高效交付。 平台基础体验部将业务逻辑抽象为组件,通过组合组件快速构建商品Feed流,研发效率整体提升2倍。组件化开发不仅带来效率的提升,同时极大地增加了代码复用性、降低了系统的复杂性等等。本文将详细介绍组件化开发的落地过程,为大家揭晓转转App快速迭代的奥秘。
一种KV存储的GC优化实践
从内部需求出发,我们基于TiKV设计了一款兼容Redis的KV存储。基于TiKV的数据存储机制,对于窗口数据的处理以及过期数据的GC问题却成为一个难题。本文希望基于从KV存储的设计开始讲解,到GC设计的逐层优化的过程,从问题的存在到不同层面的分析,可以给读者在类似的优化实践中提供一种参考思路。
初识滴滴交易策略之一:交易市场
滴滴作为一家共享出行公司,利用信息技术构建了实时的、智能的在线交易市场,在这个庞大运转的市场之中,滴滴秉承着用户价值至上的宗旨,不断通过技术提升来实现更高效的运转效率和更贴心的用户体验。
用VSCode基于Bazel打造Apple生态开发环境
提供B站相关技术的介绍和讲解最近AIGC的爆发引发了非常多行业的恐慌也包括程序员群体。如何掌握工具例如Copilot等是下一个时代最重要的能力。但是在当前苹果封闭的生态下,对于先进的生产力的渴望也是促使这篇文章诞生的原因。
技术派中的缓存一致性解决方案
在讲解实战部分之前,我们还是先回顾一下理论知识,根据网上的众多解决方案,我们总结出 6 种:
基于 Zabbix 系统监控 Windows、Linux、VMware
本文介绍了Zabbix 基本概念及其特点,阐述 Zabbix 系统环境搭建与基础安装,如何实现对各类操作系统、硬件设备、应用软件监控告警。来自项目实践,非常详细全面,值得收藏。
数据标准和数据质量:技术解析与典型案例
今天分享的主题为数据标准和数据质量。
网易云音乐实时数仓架构与低代码实践
本文将介绍网易云音乐的实时数仓架构和低代码平台的实践。分享包括四部分,第一部分总体介绍网易云音乐的实时数仓架构和技术架构。第二部分介绍流批模型的一致性实现思路。第三部分介绍网易云音乐在低代码实践中的成果。第四部分介绍网易云音乐实时数仓未来的规划。
分布式基石|最难 paxos 和最易 raft ?
有两个最出名的一致性协议:paxos 和 raft 。数学上已经严格证明了 paxos 的正确性,只要严格遵守它协议的约束,就能保证在分布式的恶劣环境下多副本数据的一致。我们来看一下吧!
2023年再不会K8S,就要被淘汰了,手把手带你飞
今天分享一下Kubernetes的入门级实战,丰富个人简历,提高面试level,给自己增加一点谈资,秒变面试小达人,BAT不是梦。
FinBench:金融场景下的图系统选型
FinBench,全称 Financial Benchmark,是蚂蚁集团基于业务实践总结出来并在 LDBC 组织下多厂商共同建设的金融图场景系统基准评测,本次分享题目为《FinBench:金融场景下的图系统选型》,该文章内容基于 TuGraph 社区 MeetUp 演讲实录整理。
百度关于互联互通的思考与实践
本文将分享百度在互联互通方面的思考与实践。
如何搭建好的数据指标体系?
本文将分享如何搭建电商数据指标体系。
基于公共信箱的全量消息实现
消息中台为百度App以及厂内百度系产品提供即时通讯的能力,提供包括私聊、群聊、聊天室、直播弹幕等用户沟通场景,并帮助业务通过消息推送触达用户。百度App存在需要以『低用户打扰』的形式触达全量用户的场景,而现有基于用户『私有信箱』通知拆分的机制,很难低成本、高时效的满足该场景诉求。基于上述问题,本文介绍了现有消息系统的主要组成,对比多种实现方案的差异,提出以『公有信箱』通知读扩散的方式,低成本、高时效的实现全量用户通知推送。
vivo 推送系统的容灾建设与实践
本文介绍了推送系统容灾建设和关键技术方案,以及实践过程中的思考与挑战。