最新 | 最热门 | 最高评价

+1  为什么极少有开源的Paxos库?

Tag: 分布式 | Paxos | Raft
ideawu 发于 2021年07月30日 00:24 | 点击: 1497 | 展开摘要
你是不是也很奇怪, Paxos 既然被称为唯一的共识算法(分布式一致性算法), 是分布式系统的基石, 那么为什么极少看到开源的 Paxos 库呢? 反观 Raft, 有 etcd 开源的 go 语言写的库, 有 PingCap(tidb)开源的 Rust 语言写的, 还有百度, 阿里等等公司开源的各种语言的库. 既然 Paxos 那么牛逼, 为什么江湖中只有它的传说, 却从来没有人见过它的身影呢?

原因很简单, Paxos(准确的说是 Basic Paxos) 是共识算法,

查看全文: http://www.udpwork.com/item/17979.html

+5  玩转Protocol Buffers

Tag: 分布式技术 | 搜索引擎 | Google | PB | Protocol Buffers | 动态消息 | 动态自描述消息 | 自描述消息
桂南 发于 2012年09月18日 10:09 | 点击: 9868 | 展开摘要
1. 人人都爱Protocol Buffers

1.1 Protocol Buffers(PB)是什么?

Protocol buffers are Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define ho

查看全文: http://www.udpwork.com/item/8132.html

+2  分布式知识的总结(V1.0)

Tag: Java | Web Service | acid | base | cap | 分布式
longhao 发于 2012年09月15日 16:32 | 点击: 11125 | 展开摘要
1:分布式理论

CAP(Eric Brewer)

    Web服务无法同时满足以下3个属性

Consistency(一致性),数据一致更新,所有数据变动都是同步的

Availability(可用性),每个操作都必须以可预期的响应结束

Partition tolerance(分区容错性),即使出现单个组件无法可用,操作依然可以完成

    在任何数据库设计中,一个Web应用至多只能同时支持上面的两个属性,不可能三者兼顾。

查看全文: http://www.udpwork.com/item/8117.html

+1  数据库事务ACID和锁

Tag: 分布式 | 数据库
ideawu 发于 2021年05月02日 13:30 | 点击: 745 | 展开摘要
数据库事务功能非常重要, 任何应用只要操作的多个对象之间有依赖(约束)关系, 都会不约而同地想到使用事务, 例如银行转账功能, 社交 App 中的粉丝关注功能, 购物网站下订单功能. 任何一个数据库系统, 如果不提供事务功能, 就不能减少用户(应用开发者)的某些麻烦, 因为用户不得不自己在应用层去实现类似事务的代码逻辑.

从用户的角度看, 如果数据库不提供事务, 他就要多写代码, 这让他很不爽. 所以, 即使是 KV 数据库, 也应该提供事务功能. 但是, 不仅事务功能的实

查看全文: http://www.udpwork.com/item/17453.html

+1  个性化离线实时分析系统pora

Tag: 分布式技术 | hbase | storm | ups | 个性化搜索 | 实时分析
悟时 发于 2012年11月26日 09:58 | 点击: 2224 | 展开摘要
1.业务场景

伴随着市场和技术的发展,个性化已经成为淘宝搜索的一个重要目标。简单来说,个性化就是让每个用户在使用淘宝搜索时都能够获取自己最想要的结果,而不再是千篇一律的展示。实现个性化最直接的手段就是通过分析用户的历史行为日志,为用户打上不同的标签,在搜索中根据这些标签来展示最贴近的结果。

在淘宝,用户属性分析是通过每天在云梯上定时运行的map reduce job来完成的,产出结果导入我们的在线kv存储ups中,搜索引擎通过查询ups获取用户属性来为用户返回个性化的结果

查看全文: http://www.udpwork.com/item/8744.html

+1  跨机房问题

Tag: 分布式架构 | 跨机房
chuanhui 发于 2011年08月23日 23:50 | 点击: 4282 | 展开摘要
跨机房问题一直都是一个老大难的问题,先看传统数据库的跨机房方案。

Master/Slave方案

这是最常用的方案,适用于大多数需求。Master将操作日志实时地发送到Slave,Slave当成Master的一个Hot Backup。Master宕机时,服务切换到Slave,需要修改客户端逻辑使得Master失效时自动寻找新的Master。

这个方案有一个问题就是数据库的Master和Slave一般不是强同步的,所以,切换到Slave后可能丢失宕机前的少量更新。如果将Ma

查看全文: http://www.udpwork.com/item/5684.html

+1  【分布式系统工程实现】CAP理论及系统一致性

Tag: 分布式架构 | Bigtable | CAP | Dynamo | Eventually Consistent
chuanhui 发于 2010年11月06日 15:55 | 点击: 2454 | 展开摘要
印象中CAP理论开始流行是从Amazon Dynamo的论文开始的,Amazon的CTO还在他的博客中介绍了最终一致性的概念,从此以后,各种会议和交流中都少不了CAP的影子。然而,对于分布式系统工程设计和开发来说,CAP意味着什么呢?

CAP 理论由 Berkerly 的 Brewer 教授提出,三者的含义如下:

一致性 ( Consistency) :任何一个读操作总是能读取到之前完成的写操作结果;

可用性 ( Availability) :每一个操作

查看全文: http://www.udpwork.com/item/5327.html

+1  ZooKeeper Watches

Tag: translation | hadoop | programming | zookeeper | 分布式系统
gnawux 发于 2011年06月06日 10:30 | 点击: 3485 | 展开摘要
按:王旭(http://wangxu.me/blog, @gnawux)于2011年6月6日译自 ZooKeeper程序员指南 (http://zookeeper.apache.org/doc/r3.3.3/zookeeperProgrammers.html)的同名章节。似乎很少有文档提这个啊,我其实在看这个之前一直不明白这东东是怎么用的。

所有的Zookeeper读操作,包括getData()、getChildren()和exists(),都有一个开关,可以在操作的同时再

查看全文: http://www.udpwork.com/item/5188.html

+1  Facebook Haystack图片存储架构

Tag: 分布式架构 | Facebook Haystack,图片存储,淘宝TFS
chuanhui 发于 2010年12月05日 22:43 | 点击: 7888 | 展开摘要
OSDI 10中有一篇Facebook图片存储系统Haystack的论文,名称为”Finding a needle in Haystack: Facebook’s photo storage”。从这篇论文可以看出,数据量大的应用有时也并不复杂。

我们先给Facebook图片存储系统算一笔账。Facebook目前存储了260 billion图片,总大小为20PB,通过计算可以得出每张图片的平均大小为20PB / 260GB,约为800KB。

查看全文: http://www.udpwork.com/item/4068.html

+0  什么是分布式一致性

Tag: 分布式 | 数据库 | Paxos | Raft
ideawu 发于 2021年09月05日 10:49 | 点击: 1790 | 展开摘要
在工程实践上, 分布式一致性和多副本有关系, 如果没有多副本, 就没有分布式一致性的问题.

多副本的定义: 多副本可以放在多台机器上, 也可以放在同一个进程内的不同内存地址内, 或者一个副本在内存, 一个副本在硬盘. 只要同一个对象出现在多处, 或者在多处被引用, 就是多副本.

各个副本的写入操作序列必须先经过共识, 按同样的顺序写入, 因此所有副本的状态将是最终一致的(相同). 但是, 有可能单独地读取某个副本, 这就导致读操作在不同副本上发生的顺序并不相同, 这显然会

查看全文: http://www.udpwork.com/item/18147.html

+0  什么是日志复制状态机?

Tag: 分布式 | 数据库 | Paxos | Raft | 日志复制状态机
ideawu 发于 2021年08月05日 21:37 | 点击: 589 | 展开摘要
日志复制状态机, 也叫复制状态机, 是分布式数据库领域最重要的基石之一. 当前市面上所有实用的分布式数据库, 几乎都是用日志复制状态机技术来实现多副本. 像 MySQL 的主从同步, Redis 的主从同步, SSDB 的主从同步等, 是大家非常熟知的日志复制状态机的例子. 而更复杂的共识算法 Paxos, 以及最流行的分布式一致性协议 Raft, 前者的实现基本离不开日志复制状态机, 后者则是直接以日志复制状态机作为其核心组成.

那么, 什么是日志复制状态机呢? 首先,

查看全文: http://www.udpwork.com/item/18117.html

+0  Paxos 和 Raft 的结构差异

Tag: 分布式 | Paxos | Raft
ideawu 发于 2021年08月07日 09:09 | 点击: 693 | 展开摘要
如果用面向对象的方法来分析 Paxos 和 Raft 的对象层次结构关系, 我们会发现, 两者其实没那么多差异, 或者说, 这种差异我们平时在做面向对象建模和编写代码时经常使用.

Basic Paxos

type Entry struct {
promised_num int64
proposal_num int64
proposal_value []byte
}

Multi Paxos

type Node struct {
entries []struct

查看全文: http://www.udpwork.com/item/18116.html
|<<<1234567>>>| 一共12页, 133条记录