由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - real time distributed framework
相关主题
关于web client连接server的问题古德巴大牛,请看这个设计题
感觉vert.x的设计很一般呀MongoDB力压Cassandra
看来couchbase跟mongo是真的干上了貌似couchbase的性能很牛逼吗
Redis和Memcached有什么区别?MongoDB快超过Postgres了
傻逼太监懂个屁C*DynamoDB 只能在 create Table 时候建 indexes
ES怎么玩?mongo的sharding有人说不好 是什么原茵?
HOW WE DECIDED TO USE MONGO INSTEAD OF MYSQL这个表怎么理解
抛砖引玉,来谈谈functional programming普通的mobile app(ios,android) 用play 2好还是vert.x 好
相关话题的讨论汇总
话题: real话题: time话题: erlang话题: chat
进入Programming版参与讨论
1 (共1页)
p*****2
发帖数: 21240
1
如果需要做一个distributed real time app的话 都有哪些选择 需要scalable的
solution
我知道akka storm 可以做
mq有什么好的解决方案吗
要求就是底层都做好了 可以主要力量focus在Business logic
node有成熟方案吗?
go?
d*******r
发帖数: 3299
2
二爷是要做数据分析呢,还是要做 real time, 比如 chat, online gaming 之类?
w**z
发帖数: 8232
3
是啊,定义real time. 另外我们可能要重写chat. 有啥推荐的?

【在 d*******r 的大作中提到】
: 二爷是要做数据分析呢,还是要做 real time, 比如 chat, online gaming 之类?
p*****2
发帖数: 21240
4
数据分析基本就是spark了
主要是real time 发 email 但是量会很大

【在 d*******r 的大作中提到】
: 二爷是要做数据分析呢,还是要做 real time, 比如 chat, online gaming 之类?
p*****2
发帖数: 21240
5
你们现在chat用啥写的?
是不是理论上二郎最佳

【在 w**z 的大作中提到】
: 是啊,定义real time. 另外我们可能要重写chat. 有啥推荐的?
g*****g
发帖数: 34805
6
email is not realtime. More like up to 1 min latency and the requirement is
very relaxed. email bottleneck is on mail server, and it's fairly easy to
scale as there's no shared blocking.

【在 p*****2 的大作中提到】
: 数据分析基本就是spark了
: 主要是real time 发 email 但是量会很大

d*******r
发帖数: 3299
7
没具体写过,如果web的话,websocket估计不错吧

【在 w**z 的大作中提到】
: 是啊,定义real time. 另外我们可能要重写chat. 有啥推荐的?
P****i
发帖数: 12972
8
需求不明

【在 p*****2 的大作中提到】
: 如果需要做一个distributed real time app的话 都有哪些选择 需要scalable的
: solution
: 我知道akka storm 可以做
: mq有什么好的解决方案吗
: 要求就是底层都做好了 可以主要力量focus在Business logic
: node有成熟方案吗?
: go?

w**z
发帖数: 8232
9
一个open source 的烂货。Google chat, FB chat 都用二郎写的?

【在 p*****2 的大作中提到】
: 你们现在chat用啥写的?
: 是不是理论上二郎最佳

w**z
发帖数: 8232
10
那是client 端。我主要关心server 端咋整。没弄过, 不会啊。谁搞过, 说说看?

【在 d*******r 的大作中提到】
: 没具体写过,如果web的话,websocket估计不错吧
相关主题
ES怎么玩?古德巴大牛,请看这个设计题
HOW WE DECIDED TO USE MONGO INSTEAD OF MYSQLMongoDB力压Cassandra
抛砖引玉,来谈谈functional programming貌似couchbase的性能很牛逼吗
进入Programming版参与讨论
p*****2
发帖数: 21240
11
确实不是真正real time。不过batch也肯定不行。1 min latency没问题。
主要的需求是每个用户发email的时间 频率 多少 包括内容都不一样。这个需要一定的
实时计算 当然实时性要求也不高。 一旦决定什么时候发送 要尽快发送出去 有可能决
定的是几个小时之后。 user 量大 比如1 billion。每天平均每个user 2个email吧。

is

【在 g*****g 的大作中提到】
: email is not realtime. More like up to 1 min latency and the requirement is
: very relaxed. email bottleneck is on mail server, and it's fairly easy to
: scale as there's no shared blocking.

p*****2
发帖数: 21240
12
算了一下 比如每秒30k email 不考虑 server capacuty。

【在 p*****2 的大作中提到】
: 确实不是真正real time。不过batch也肯定不行。1 min latency没问题。
: 主要的需求是每个用户发email的时间 频率 多少 包括内容都不一样。这个需要一定的
: 实时计算 当然实时性要求也不高。 一旦决定什么时候发送 要尽快发送出去 有可能决
: 定的是几个小时之后。 user 量大 比如1 billion。每天平均每个user 2个email吧。
:
: is

p*****2
发帖数: 21240
13
你是关心数据库?
websocket也包括server端吧 比如node
websocket应该比较先进了
我记得fg都是单向pull的吧

【在 w**z 的大作中提到】
: 那是client 端。我主要关心server 端咋整。没弄过, 不会啊。谁搞过, 说说看?
p*****2
发帖数: 21240
14
二郎应该不烂吧
最适合写实时通信了
要不akka?

【在 w**z 的大作中提到】
: 一个open source 的烂货。Google chat, FB chat 都用二郎写的?
p*****2
发帖数: 21240
15
http://doc.akka.io/docs/akka/1.3.1/scala/tutorial-chat-server.h

【在 p*****2 的大作中提到】
: 二郎应该不烂吧
: 最适合写实时通信了
: 要不akka?

w**z
发帖数: 8232
16
这不错。可以研究下。

【在 p*****2 的大作中提到】
: http://doc.akka.io/docs/akka/1.3.1/scala/tutorial-chat-server.h
w**z
发帖数: 8232
17
用node? http://code.tutsplus.com/tutorials/using-nodejs-and-websockets-to-build-a-chat-service--net-34482

【在 p*****2 的大作中提到】
: 你是关心数据库?
: websocket也包括server端吧 比如node
: websocket应该比较先进了
: 我记得fg都是单向pull的吧

P****i
发帖数: 12972
18
不想操心的话,用sns;自己搞的话,kafka + whatever

【在 w**z 的大作中提到】
: 那是client 端。我主要关心server 端咋整。没弄过, 不会啊。谁搞过, 说说看?
w**z
发帖数: 8232
19
你这email 是做market campaign用的?

【在 p*****2 的大作中提到】
: 算了一下 比如每秒30k email 不考虑 server capacuty。
P****i
发帖数: 12972
20
或者说spam

【在 w**z 的大作中提到】
: 你这email 是做market campaign用的?
相关主题
MongoDB快超过Postgres了这个表怎么理解
DynamoDB 只能在 create Table 时候建 indexes普通的mobile app(ios,android) 用play 2好还是vert.x 好
mongo的sharding有人说不好 是什么原茵?有大牛用最浅显易懂的方式解释一下vert.x到底是什么东西么?
进入Programming版参与讨论
w**z
发帖数: 8232
21
你这是queue.我要的是real time chat. 不太一样。

【在 P****i 的大作中提到】
: 不想操心的话,用sns;自己搞的话,kafka + whatever
w**z
发帖数: 8232
22
一天每人两个,有点过分了。

【在 P****i 的大作中提到】
: 或者说spam
P****i
发帖数: 12972
23
哦,我还以为你说的是京二的email呢
chat就用websocket吧,socket.io的经典例子就是chat

【在 w**z 的大作中提到】
: 你这是queue.我要的是real time chat. 不太一样。
w**z
发帖数: 8232
24
好,有空看看websocket.

【在 P****i 的大作中提到】
: 哦,我还以为你说的是京二的email呢
: chat就用websocket吧,socket.io的经典例子就是chat

j********x
发帖数: 2330
25
load balancer + stateless worker
全部自己造轮子
马工就是要自己玩才有意思
玩别人的毫无乐趣

【在 p*****2 的大作中提到】
: 如果需要做一个distributed real time app的话 都有哪些选择 需要scalable的
: solution
: 我知道akka storm 可以做
: mq有什么好的解决方案吗
: 要求就是底层都做好了 可以主要力量focus在Business logic
: node有成熟方案吗?
: go?

p*****2
发帖数: 21240
26
mq只有kafka能支持这个througput吗?我kafka还算熟 其他的没用过
kafka producer这边大概怎么设计?consumer上storm就比较合适了

【在 P****i 的大作中提到】
: 不想操心的话,用sns;自己搞的话,kafka + whatever
p*****2
发帖数: 21240
27


【在 w**z 的大作中提到】
: 你这email 是做market campaign用的?
p*****2
发帖数: 21240
28
只是估计一个量

【在 w**z 的大作中提到】
: 一天每人两个,有点过分了。
p*****2
发帖数: 21240
29
这个用akka应该就行了

【在 j********x 的大作中提到】
: load balancer + stateless worker
: 全部自己造轮子
: 马工就是要自己玩才有意思
: 玩别人的毫无乐趣

g*****g
发帖数: 34805
30
这个既然是share nothing,很容易写的。起一堆mail server 前面有load balancer就
行。我做过。
你写的是client端的代码。可以event随时触发,batch的话速度也是你自己控制的,想
起几个线程就起几个。

【在 p*****2 的大作中提到】
: 确实不是真正real time。不过batch也肯定不行。1 min latency没问题。
: 主要的需求是每个用户发email的时间 频率 多少 包括内容都不一样。这个需要一定的
: 实时计算 当然实时性要求也不高。 一旦决定什么时候发送 要尽快发送出去 有可能决
: 定的是几个小时之后。 user 量大 比如1 billion。每天平均每个user 2个email吧。
:
: is

相关主题
这次Scala学Clojure有点不地道了感觉vert.x的设计很一般呀
akka这些东西都是通信转行过来忽悠的看来couchbase跟mongo是真的干上了
关于web client连接server的问题Redis和Memcached有什么区别?
进入Programming版参与讨论
w**z
发帖数: 8232
31
我们用PHP搞的。开些PHP process, scan user info,就开始发了。我们发的慢,一秒
几百而已。京二那一秒几十k. 要小心,别搞爆了。

PHP

【在 g*****g 的大作中提到】
: 这个既然是share nothing,很容易写的。起一堆mail server 前面有load balancer就
: 行。我做过。
: 你写的是client端的代码。可以event随时触发,batch的话速度也是你自己控制的,想
: 起几个线程就起几个。

y**********u
发帖数: 6366
32
有考虑过用tornado吗?
就是fb以前cto搞得那个小屁公司做的

【在 w**z 的大作中提到】
: 一个open source 的烂货。Google chat, FB chat 都用二郎写的?
l**********n
发帖数: 8443
33
tornado or twisted or greenlet.
tornado is the easiest.

【在 y**********u 的大作中提到】
: 有考虑过用tornado吗?
: 就是fb以前cto搞得那个小屁公司做的

w**z
发帖数: 8232
34
Python 估计不太好sell. Java/Scala 或node based 比较容易说服高层。

【在 l**********n 的大作中提到】
: tornado or twisted or greenlet.
: tornado is the easiest.

p*****2
发帖数: 21240
35
分布式的话 threads管理起来容易吗

【在 g*****g 的大作中提到】
: 这个既然是share nothing,很容易写的。起一堆mail server 前面有load balancer就
: 行。我做过。
: 你写的是client端的代码。可以event随时触发,batch的话速度也是你自己控制的,想
: 起几个线程就起几个。

l**********n
发帖数: 8443
36
real time is all about state management
g*****g
发帖数: 34805
37
这种没冲突的没啥难度。多线程难在于同步,这个没啥要同步的。

【在 p*****2 的大作中提到】
: 分布式的话 threads管理起来容易吗
l**********n
发帖数: 8443
38
用Message Queue实现异步。用WebSocket Push。
c*****e
发帖数: 3226
39
go, java, Erlang 应该都没问题, Erlang 和 go 本身已经是带 distributed
process 库了, java 用 akka.估计没问题。 你要是真的特意追求实时,特别是
audio/video process, c/c++ 是不可避免的。

【在 p*****2 的大作中提到】
: 如果需要做一个distributed real time app的话 都有哪些选择 需要scalable的
: solution
: 我知道akka storm 可以做
: mq有什么好的解决方案吗
: 要求就是底层都做好了 可以主要力量focus在Business logic
: node有成熟方案吗?
: go?

p*****2
发帖数: 21240
40
near real time足够了
go的distributed process好用吗
erlang现学肯定不成
akka做distributed不知道成熟度如何
其实我到觉得erlang可能最合适

【在 c*****e 的大作中提到】
: go, java, Erlang 应该都没问题, Erlang 和 go 本身已经是带 distributed
: process 库了, java 用 akka.估计没问题。 你要是真的特意追求实时,特别是
: audio/video process, c/c++ 是不可避免的。

相关主题
Redis和Memcached有什么区别?HOW WE DECIDED TO USE MONGO INSTEAD OF MYSQL
傻逼太监懂个屁C*抛砖引玉,来谈谈functional programming
ES怎么玩?古德巴大牛,请看这个设计题
进入Programming版参与讨论
p*****2
发帖数: 21240
41
比如需要多少台servers
每台server起多少threads
server down了怎么办
thread crash怎么办
也不是一定不需要同步
比如计算和发送 同一个user可能同时发生
计算好了的发送可能由于realtime event而取消 或者增加 replace 等等

【在 g*****g 的大作中提到】
: 这种没冲突的没啥难度。多线程难在于同步,这个没啥要同步的。
p*****2
发帖数: 21240
42
这个是关键

【在 l**********n 的大作中提到】
: real time is all about state management
q*c
发帖数: 9453
43
这东西没有同步,啥不行啊?上机器就好了?

【在 p*****2 的大作中提到】
: 算了一下 比如每秒30k email 不考虑 server capacuty。
d*******r
发帖数: 3299
44
大牛说说 go的distributed process 呢

【在 c*****e 的大作中提到】
: go, java, Erlang 应该都没问题, Erlang 和 go 本身已经是带 distributed
: process 库了, java 用 akka.估计没问题。 你要是真的特意追求实时,特别是
: audio/video process, c/c++ 是不可避免的。

g*****g
发帖数: 34805
45
这种最常见的做法就是zookeeper做leader election,leader做分发和监控。至于
event导致数据变化,你大可以通过锁数据库进行,反正锁的粒度只在一个用户上,不
会有啥问题。

【在 p*****2 的大作中提到】
: 比如需要多少台servers
: 每台server起多少threads
: server down了怎么办
: thread crash怎么办
: 也不是一定不需要同步
: 比如计算和发送 同一个user可能同时发生
: 计算好了的发送可能由于realtime event而取消 或者增加 replace 等等

p*****2
发帖数: 21240
46

如果1 billion user什么db比较合适? C*做锁不是特别合适吧?
还是SQL DB加 sharding?
zookeeper这招不错。大牛知道akka怎么保证ha吗?

【在 g*****g 的大作中提到】
: 这种最常见的做法就是zookeeper做leader election,leader做分发和监控。至于
: event导致数据变化,你大可以通过锁数据库进行,反正锁的粒度只在一个用户上,不
: 会有啥问题。

p*****2
发帖数: 21240
47

F还真是二郎
Facebook (the Erlang based chat)

【在 w**z 的大作中提到】
: 好,有空看看websocket.
g*****g
发帖数: 34805
48
可以用啥数据库要看商业逻辑的具体要求,不是那么机械的。

【在 p*****2 的大作中提到】
:
: F还真是二郎
: Facebook (the Erlang based chat)

p*****2
发帖数: 21240
49
那你在说说你的方案例里thread crash怎么办?任务怎么重新分配。

【在 g*****g 的大作中提到】
: 可以用啥数据库要看商业逻辑的具体要求,不是那么机械的。
g*****g
发帖数: 34805
50
弄个标志位,活干完了回写数据库。zookeeper保证了一直会有一个 leader把没干完的
活分发下去。

【在 p*****2 的大作中提到】
: 那你在说说你的方案例里thread crash怎么办?任务怎么重新分配。
相关主题
MongoDB力压CassandraDynamoDB 只能在 create Table 时候建 indexes
貌似couchbase的性能很牛逼吗mongo的sharding有人说不好 是什么原茵?
MongoDB快超过Postgres了这个表怎么理解
进入Programming版参与讨论
p*****2
发帖数: 21240
51
看了一下。 感觉自己要造不少东西。二郎可能更合适。java分布式还是太底层了。
http://bbs.chinaunix.net/thread-1844009-1-1.html

【在 g*****g 的大作中提到】
: 弄个标志位,活干完了回写数据库。zookeeper保证了一直会有一个 leader把没干完的
: 活分发下去。

g*****g
发帖数: 34805
52
Java的轮子是最全的,一个 zookeeper都没那么好写。

【在 p*****2 的大作中提到】
: 看了一下。 感觉自己要造不少东西。二郎可能更合适。java分布式还是太底层了。
: http://bbs.chinaunix.net/thread-1844009-1-1.html

p*****2
发帖数: 21240
53

没错。不过对于新型框架来说,还是落后了。我们这里就是全Java搞了一套,虽然有轮
子还是问题很多。

【在 g*****g 的大作中提到】
: Java的轮子是最全的,一个 zookeeper都没那么好写。
c*****e
发帖数: 3226
54
java 的轮子是多,好多都不完美,用起来不顺手,因为每个人都在造轮子,而不是合
力提高做一个最好的轮子。

【在 g*****g 的大作中提到】
: Java的轮子是最全的,一个 zookeeper都没那么好写。
d******e
发帖数: 2265
55
多real time?

【在 p*****2 的大作中提到】
: 如果需要做一个distributed real time app的话 都有哪些选择 需要scalable的
: solution
: 我知道akka storm 可以做
: mq有什么好的解决方案吗
: 要求就是底层都做好了 可以主要力量focus在Business logic
: node有成熟方案吗?
: go?

d******e
发帖数: 2265
56
不算太real time 发email,python上celery

【在 p*****2 的大作中提到】
: 数据分析基本就是spark了
: 主要是real time 发 email 但是量会很大

d******e
发帖数: 2265
57
后台发email ,celeryde最典型应用。这个根本不需要造轮子。直接配一下就用了。

【在 p*****2 的大作中提到】
: 看了一下。 感觉自己要造不少东西。二郎可能更合适。java分布式还是太底层了。
: http://bbs.chinaunix.net/thread-1844009-1-1.html

g*****g
发帖数: 34805
58
You can say this on every language.

【在 c*****e 的大作中提到】
: java 的轮子是多,好多都不完美,用起来不顺手,因为每个人都在造轮子,而不是合
: 力提高做一个最好的轮子。

e***m
发帖数: 92
59
what about Vert.x in this use case?

【在 p*****2 的大作中提到】
:
: 没错。不过对于新型框架来说,还是落后了。我们这里就是全Java搞了一套,虽然有轮
: 子还是问题很多。

p*****2
发帖数: 21240
60

应该还是合适的,起码比硬上Java会容易很多。vertx的message bus也不是persistent
吧?而且不分布式?
我觉得完成这套东西node.js+mongo+redis应该是够了。

【在 e***m 的大作中提到】
: what about Vert.x in this use case?
相关主题
普通的mobile app(ios,android) 用play 2好还是vert.x 好akka这些东西都是通信转行过来忽悠的
有大牛用最浅显易懂的方式解释一下vert.x到底是什么东西么?关于web client连接server的问题
这次Scala学Clojure有点不地道了感觉vert.x的设计很一般呀
进入Programming版参与讨论
y**********u
发帖数: 6366
61
大牛对mongo有什么看法?感觉在production 上不是很稳定

persistent

【在 p*****2 的大作中提到】
:
: 应该还是合适的,起码比硬上Java会容易很多。vertx的message bus也不是persistent
: 吧?而且不分布式?
: 我觉得完成这套东西node.js+mongo+redis应该是够了。

c*****e
发帖数: 3226
62
that is not true for Erlang. its OTP 就很强大了。

【在 g*****g 的大作中提到】
: You can say this on every language.
p*****2
发帖数: 21240
63

我们这里还行。你怎么配的?

【在 y**********u 的大作中提到】
: 大牛对mongo有什么看法?感觉在production 上不是很稳定
:
: persistent

y**********u
发帖数: 6366
64
我们在我来之前用过,最后一致觉得这玩意不靠谱就扔掉了
不过好像ebay也在用

【在 p*****2 的大作中提到】
:
: 我们这里还行。你怎么配的?

p*****2
发帖数: 21240
65
优缺点都明显
有点是document nosql跟node配合无缝
功能最强大nosql 跟 sql最接近
in memory performance好
ha sharding 自动支持
缺点是太占memory scale不方便 跟其他nosql比起来显得很昂贵
但是具体用什么要看use case了
我发现一个问题就是很多人设计系统都想一个东西解决 我一般是在mongo redis
cassandra中综合考虑 很可能三个都用

【在 y**********u 的大作中提到】
: 我们在我来之前用过,最后一致觉得这玩意不靠谱就扔掉了
: 不过好像ebay也在用

W****n
发帖数: 141
66
kafka + spark streaming
1 (共1页)
进入Programming版参与讨论
相关主题
普通的mobile app(ios,android) 用play 2好还是vert.x 好傻逼太监懂个屁C*
有大牛用最浅显易懂的方式解释一下vert.x到底是什么东西么?ES怎么玩?
这次Scala学Clojure有点不地道了HOW WE DECIDED TO USE MONGO INSTEAD OF MYSQL
akka这些东西都是通信转行过来忽悠的抛砖引玉,来谈谈functional programming
关于web client连接server的问题古德巴大牛,请看这个设计题
感觉vert.x的设计很一般呀MongoDB力压Cassandra
看来couchbase跟mongo是真的干上了貌似couchbase的性能很牛逼吗
Redis和Memcached有什么区别?MongoDB快超过Postgres了
相关话题的讨论汇总
话题: real话题: time话题: erlang话题: chat