重新审视分布式系统:永远不会有完美的一致性方案……
如今使用的几乎所有软件都是分布式系统的一部分,手机上的应用程序与托管在云中的服务一起工作,托管服务本身就是大规模的分布式系统,通常运行在遍布全球的机器上,大数据系统和大规模数据库分布在许多机器上,大多数科学计算和机器学习系统在多个处理器上并行工作,即使是传统的桌面操作系统以及诸如电子表格和文字处理器
几种主流的分布式定时任务,你知道哪些?
中文详细注释的开源项目RPC框架Dubbo源码解析网络应用框架Netty源码解析消息中间件RocketMQ源码解析数据库中间件
这样实现分布式锁,才叫优雅!
概述提到分布式锁大家都会想到如下两种:基于Redisson组件,使用redlock算法实现基于ApacheCurator,利用Zookeeper的临时顺序节点模型实现今天我们来说说第三种,使用SpringIntegration实现。SpringIntegration在基于Spring的应用程序中实现
深入理解分布式缓存设计
前言在高并发的分布式的系统中,缓存是必不可少的一部分。没有缓存对系统的加速和阻挡大量的请求直接落到系统的底层,系统是很难撑住高并发的冲击,所以分布式系统中缓存的设计是很重要的一环。下面就来聊聊分布式系统中关于缓存的设计以及过程中遇到的一些问题。缓存的收益与成本使用缓存我们得到以下收益:加速读写。因为
分布式缓存,就该这样设计!
前言在高并发的分布式的系统中,缓存是必不可少的一部分。没有缓存对系统的加速和阻挡大量的请求直接落到系统的底层,系统是很难撑住高并发的冲击,所以分布式系统中缓存的设计是很重要的一环。下面就来聊聊分布式系统中关于缓存的设计以及过程中遇到的一些
深入理解分布式缓存设计
前言在高并发的分布式的系统中,缓存是必不可少的一部分。没有缓存对系统的加速和阻挡大量的请求直接落到系统的底层,系统是很难撑住高并发的冲击,所以分布式系统中缓存的设计是很重要的一环。下面就来聊聊分布式系统中关于缓存的设计以
三种分布式锁详解!
作者:zhong0316链接:https://www.jianshu.com/p/a64df8dcfadeJava中的锁主要包括synchronized锁和JUC包中的锁,这些锁都是针对单个JVM实例上的锁,对于分布式环境如果我们需要加锁就显得无能为力。在单个JVM实例上,锁的竞争者通常是一些不同的
从产品到平台 PingCAP的坚持与探索|鱼论
近年来发展势头强劲的国产数据库在云时代再次迎来了新一轮增长爆发,在技术更新迭代中,不论是锁定分布式还是对“HTAP”“云原生”的先一步探索,PingCAP作为新兴国产数据库厂商,在短短6年间其核心产品TiDB便跃居成为国内最受开发者欢迎的国产开源数据库,这家独角兽企业有着怎样的故事和哪些独到见解?我
业界标杆:分布式缓存与DB秒级一致的灵活设计实践
作者介绍大卫,携程服务端开发经理,对应用架构设计、云原生、代码整洁之道有浓厚兴趣。一、前言爆款项目是2020年携程的一个新项目,目标是将全品类、高性价比的旅行商品统一集合在一个频道供用户选购。出于这样的业务定位,项目有三个特点:高流量部分商品会成为热卖商品承担下单职能那么在系统设计之初,就必须考虑下
4800 Star!一文看懂分布式数据库 YugabyteDB
作者:EricFuhttps://ericfu.me/yugabyte-db-introduction/YugabyteDB是一个全球部署的分布式数据库,和国内的TiDB和国外的CockroachDB类似,也是受到Spanner论文启发,所以在很多地方这几个数据库存在不少相似之处。与Cockroac
干货!如何设计实现一个通用的分布式事务框架?
来源:https://www.bytesoft.org/一个TCC事务框架需要解决的当然是分布式事务的管理。关于TCC事务机制的介绍,可以参考TCC事务机制简介。TCC事务模型虽然说起来简单,然而要基于TCC实现一个通用的分布式事务框架,却比它看上去要复杂的多,不只是简单的调用一下Confirm/C
1_oracle asm磁盘组异常_全库重构恢复
1.内容介绍由于服务器掉电、人为误操作等原因造成asm磁盘组无法挂载,数据库无法启动,业务系统面试数据丢失的风险,本文主要测试以下问题,1、asm磁盘metadata损坏,全库datafile重构恢复。2、优化多个tempfile与datafile重突3、优化重构数据块日志显示2.环境检查SQL&g
1.4 w字,25 张图让你彻底掌握分布式事务原理
本文提纲如下0.前言1.单数据源事务&多数据源事务2.常见分布式事务解决方案2.1.分布式事务模型2.2.二将军问题和幂等性2.3.两阶段提交(2PC)&三阶段提交(3PC)方案2.4.TCC方案2.5.事务状态表方案2.6.基于消
为什么 OLAP 需要列式存储
为什么这么设计(Why’sTHEDesign)是一系列关于计算机领域中程序设计决策的文章,我们在这个系列的每一篇文章中都会提出一个具体的问题并从不同的角度讨论这种设计的优缺点、对具体实现造成的影响。如果你有想要了解的问题,可以在文章下面留言。ClickHouse是最近比较热门的用于在线分析处理的(O
字节跳动自研强一致在线 KV &表格存储实践 - 下篇
本文转载自微信公众号“字节跳动技术团队” 架构实践专栏,原文链接:
字节跳动自研强一致在线 KV &表格存储实践 - 上篇
本文转载自微信公众号“字节跳动技术团队” 架构实践专栏,原文链接:字节跳动自研强一致在线 KV &表格存储实践 - 上篇团队缺人,有意者私聊或者发送简历到 wudi.rd at
Spanner的分布式事务实现
Spanner要满足的externalconsistency是指:后开始的事务一定可以看到先提交的事务的修改。所有事务的读写都加锁可以解决这个问题,缺点是性能较差。特别是对于一些workload中只读事务占比较大的系统来说不可接受。为了让只读事务不加任何锁,需要引入多版本。在单机系统中,维护一个递增
使用multi-paxos实现日志同步应用
paxos说multi-paxos之前先简要说一下paxospaxos是在多个成员之间对某个值(提议)达成一致的一致性协议。这个值可以是任何东西。比如多个成员之间进行选主,那么这个值就是主的身份。在把multi-paxos协议应用在日志同步中时,这个值就是一条日志。网上讲paxos的文章已经很多了,
Linearizability, Serializability and Strict Serializability
这几个概念比较容易混淆,原因是Serializability是数据库领域的概念,而Linearizability是分布式系统,并发编程领域的东西,在这个分布式SQL时代,自然Linearizability和Serializability会经常一起出现。Serializability:数据库领域的AC
详解CockroachDB事务处理系统
本文提到的一些术语,比如Serializability和Linearizability,解释看Linearizability,SerializabilityandStrictSerializability。本文中观点大部分都是参考了CockroachDB多篇官方blog,设计文档,代码以及相关资料,