S*w
2 楼
F的message设计,类似hdfs
有一个Directory, 当master
有n个data nodes
我的理解是
用户被分到其中data nodes中.
这个信息存在directory中
当发信给user_id, 要做
1. 连接directory service, 查找user_id的node
2. 把信存到[email protected]的记录里
有个问题
directory service 需要内存
假设1.5B user, 每个mapping 用10 byte
15B byte = 15G 内存
但是这么多request都到了directory service,
只是读还好, 可以load balancer
但是写怎么办
这里需要一个 concurrent hashmap,
lock, etc
性能总有限制啊?
有一个Directory, 当master
有n个data nodes
我的理解是
用户被分到其中data nodes中.
这个信息存在directory中
当发信给user_id, 要做
1. 连接directory service, 查找user_id的node
2. 把信存到[email protected]的记录里
有个问题
directory service 需要内存
假设1.5B user, 每个mapping 用10 byte
15B byte = 15G 内存
但是这么多request都到了directory service,
只是读还好, 可以load balancer
但是写怎么办
这里需要一个 concurrent hashmap,
lock, etc
性能总有限制啊?
c*2
3 楼
能这样转, check I-539 processing time at your service center
p*2
4 楼
为什么不能用in memory db?
【在 S***w 的大作中提到】
: F的message设计,类似hdfs
: 有一个Directory, 当master
: 有n个data nodes
: 我的理解是
: 用户被分到其中data nodes中.
: 这个信息存在directory中
: 当发信给user_id, 要做
: 1. 连接directory service, 查找user_id的node
: 2. 把信存到[email protected]的记录里
: 有个问题
【在 S***w 的大作中提到】
: F的message设计,类似hdfs
: 有一个Directory, 当master
: 有n个data nodes
: 我的理解是
: 用户被分到其中data nodes中.
: 这个信息存在directory中
: 当发信给user_id, 要做
: 1. 连接directory service, 查找user_id的node
: 2. 把信存到[email protected]的记录里
: 有个问题
l*g
6 楼
为何mapping要占内存要lock?如果只是一个算法呢?
w*z
7 楼
你可以设计算法,(consistent hash or something like that) 从 userID 就能知道
是哪个node。For distributed system, you don't want to have a global mapping.
【在 S***w 的大作中提到】
: F的message设计,类似hdfs
: 有一个Directory, 当master
: 有n个data nodes
: 我的理解是
: 用户被分到其中data nodes中.
: 这个信息存在directory中
: 当发信给user_id, 要做
: 1. 连接directory service, 查找user_id的node
: 2. 把信存到[email protected]的记录里
: 有个问题
是哪个node。For distributed system, you don't want to have a global mapping.
【在 S***w 的大作中提到】
: F的message设计,类似hdfs
: 有一个Directory, 当master
: 有n个data nodes
: 我的理解是
: 用户被分到其中data nodes中.
: 这个信息存在directory中
: 当发信给user_id, 要做
: 1. 连接directory service, 查找user_id的node
: 2. 把信存到[email protected]的记录里
: 有个问题
g*g
8 楼
Check Cassandra, Memcached, Redis design and you'll understand. The userId
can be hashed and distributed in a cluster. And any single piece of data can
be further replicated, consistency can be reached as long as read+write >
replication factor.
【在 S***w 的大作中提到】
: F的message设计,类似hdfs
: 有一个Directory, 当master
: 有n个data nodes
: 我的理解是
: 用户被分到其中data nodes中.
: 这个信息存在directory中
: 当发信给user_id, 要做
: 1. 连接directory service, 查找user_id的node
: 2. 把信存到[email protected]的记录里
: 有个问题
can be hashed and distributed in a cluster. And any single piece of data can
be further replicated, consistency can be reached as long as read+write >
replication factor.
【在 S***w 的大作中提到】
: F的message设计,类似hdfs
: 有一个Directory, 当master
: 有n个data nodes
: 我的理解是
: 用户被分到其中data nodes中.
: 这个信息存在directory中
: 当发信给user_id, 要做
: 1. 连接directory service, 查找user_id的node
: 2. 把信存到[email protected]的记录里
: 有个问题
S*w
10 楼
谢谢
Cassandra 我大概知道是用consistent hashing
没有master
应该没用户global mapping
所以你的意思是 其实这里不需要存mapping
用consistenthashing方法查询use id 的shard?
多谢指点
can
【在 g*****g 的大作中提到】
: Check Cassandra, Memcached, Redis design and you'll understand. The userId
: can be hashed and distributed in a cluster. And any single piece of data can
: be further replicated, consistency can be reached as long as read+write >
: replication factor.
Cassandra 我大概知道是用consistent hashing
没有master
应该没用户global mapping
所以你的意思是 其实这里不需要存mapping
用consistenthashing方法查询use id 的shard?
多谢指点
can
【在 g*****g 的大作中提到】
: Check Cassandra, Memcached, Redis design and you'll understand. The userId
: can be hashed and distributed in a cluster. And any single piece of data can
: be further replicated, consistency can be reached as long as read+write >
: replication factor.
S*w
14 楼
谢谢 大家指点
如醍醐灌顶
如醍醐灌顶
相关阅读
大规模多核并发的系统PK大规模多机并发的系统据说Bill Gates要回微软工作大家都买过机票吧goodbug属于屡教不改的,鼻青脸肿的就要再战大牛们何时组织华人码工协作会对抗老印?土豆视频加密 (转载)想起当年的国足老魏算了三个月,结论是做不了从vert.x的例子看脚本高手详解12306 IT架构与困境(转载)c++ class design issue算了,来这儿的都不是诚心讨论技术的呵呵,goodbug这个喷子在这打赌啊!老魏算了半天就是要告诉别人,某个硬件合格了说同步比异步快的根本不懂网站哥决定常驻这个版了蛋蛋亮个W2吧做ta还有法考题的以后应该给孩子们布置一个作业我还是对王垠持基本肯定态度nickmit你像是干实事的,要不你再发展发展你的系统?