Redian新闻
>
请教一个 F的message设计问题, 不能理解
avatar
请教一个 F的message设计问题, 不能理解# Programming - 葵花宝典
w*7
1
请问能否这样转,多长时间可以办下来?
多谢多谢。
avatar
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
性能总有限制啊?
avatar
c*2
3
能这样转, check I-539 processing time at your service center
avatar
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]的记录里
: 有个问题

avatar
S*w
5

晕 根本没想过

【在 p*****2 的大作中提到】
: 为什么不能用in memory db?
avatar
l*g
6
为何mapping要占内存要lock?如果只是一个算法呢?
avatar
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]的记录里
: 有个问题

avatar
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]的记录里
: 有个问题

avatar
S*w
9
这个我也想过
不过立马毙了 觉得不太好用
如何增加一个机器 岂不是要重新改算法?
需要人为干预

mapping.

【在 w**z 的大作中提到】
: 你可以设计算法,(consistent hash or something like that) 从 userID 就能知道
: 是哪个node。For distributed system, you don't want to have a global mapping.

avatar
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.

avatar
w*z
11
That is what I was talking about.

【在 S***w 的大作中提到】
: 谢谢
: Cassandra 我大概知道是用consistent hashing
: 没有master
: 应该没用户global mapping
: 所以你的意思是 其实这里不需要存mapping
: 用consistenthashing方法查询use id 的shard?
: 多谢指点
:
: can

avatar
g*g
12
F probably uses MySQL sharding to achieve this, but the idea is the same.

【在 S***w 的大作中提到】
: 谢谢
: Cassandra 我大概知道是用consistent hashing
: 没有master
: 应该没用户global mapping
: 所以你的意思是 其实这里不需要存mapping
: 用consistenthashing方法查询use id 的shard?
: 多谢指点
:
: can

avatar
S*w
13
谢谢大牛
你们什么都懂

【在 w**z 的大作中提到】
: That is what I was talking about.
avatar
S*w
14
谢谢 大家指点
如醍醐灌顶
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。