peter peter
4年前
Go:分布式锁实现原理与最佳实践
分布式锁应用场景很多应用场景是需要系统保证幂等性的(如api服务或消息消费者),并发情况下或消息重复很容易造成系统重入,那么分布式锁是保障幂等的一个重要手段。另一方面,很多抢单场景或者叫交易撮合场景,如dd司机抢单或唯一商品抢拍等都需要用一把“全局锁”来解决并发造成的问题。在防止并发情况下造成库存超卖的场景,也常用分布式锁来解决。实现
Wesley13 Wesley13
3年前
Volatile关键字
Volatile关键字①volatile的两个特点1保证线程(CPU)之间的可见性;(也就是保证数据一致性)简单解释一下:一个线程将一个值的数值改变时,另一个使用该数值的线程能看到这种改变;2禁止指令重排序(禁止乱序执行);这个和单例
Wesley13 Wesley13
3年前
Go项目的目录结构
项目目录结构如何组织,一般语言都是没有规定。但Go语言这方面做了规定,这样可以保持一致性1、一般的,一个Go项目在GOPATH下,会有如下三个目录:|bin|pkg|src其中,bin存放编译后的可执行文件;pkg存放编译后的包文件;src存放项
Wesley13 Wesley13
3年前
ubuntu18.04 安装mongodb 数据库
工具:系统:ubuntu18.04 64位 数据库:mongodbGUI:Robo3T      描述:在win下面使用Robo3T 连接Mongodb数据库一.安装mongodb1. 导入公钥  Ubuntu软件包管理器apt(高级软件包工具)需要软件分销商的GPG密钥来确保软件包的一致性和真实性。
Stella981 Stella981
3年前
Raft协议
在很多分布式系统场景下,并不需要解决拜占庭将军问题(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.868qkl.com%2Fjiaocheng%2Fmingci%2FByzantinefailures.html),也就是说,在这些分布式系统的实用场景下,其假设条件不需要考虑拜占
Easter79 Easter79
3年前
Spring事务(二):Spring事务的特点
事务特性实现事务必须满足以下四大特性:Atomicity(原子性):构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行。Consistency(一致性):数据库在事务执行前后,完整性没有被破坏。(转账前后,钱的总数不变)Durability(持久性):事务执行成功后必须全部写入磁盘。
Stella981 Stella981
3年前
OpenStack块存储nova
对swift对象存储的内部原理和相关技术可以查找对象存储、一致性哈希等文章,新浪有几篇技术分享介绍的很好,推荐看一看。一、相关概念LVM存储常用术语物理存储介质(PhysicalMedia):物理存储设备,如磁盘或者磁盘上的分区,是存储系统的最底层实体。物理卷(PV,PhysicalVolume):硬盘分区或从逻
Wesley13 Wesley13
3年前
CEPH总结
ceph简介Ceph是一个分布式存储系统,诞生于2004年,是最早致力于开发下一代高性能分布式文件系统的项目。随着云计算的发展,ceph乘上了OpenStack的春风,进而成为了开源社区受关注较高的项目之一。ceph基本结构!(http://uploadimages.jianshu.io/upload_images/4
Wesley13 Wesley13
3年前
MAPREDUCER学习笔记
MAPREDUCE基本原理      一,概念理解  1,Mapreduce是一个分布式运算程序的编程架构,相对于HDFS来说就是客户端。其核心功能就是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并运行在一个hadoop集群上。  2,基本整体架构:MEAppMaster,MapTask,R
Stella981 Stella981
3年前
DataBus概述
1\.概述Databus是一个低延迟、可靠的、支持事务的、保持一致性的数据变更抓取系统。由LinkedIn于2013年开源。Databus通过挖掘数据库日志的方式,将数据库变更实时、可靠的从数据库拉取出来,业务可以通过定制化client实时获取变更并进行其他业务逻辑。Databus有以下特点: