由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 设计一个大计算量的并行架构
相关主题
Finagle有人用过么问个 rxjava 的问题
请java大牛谈谈大并发的解决方案狗狗抛弃Java转投swift?
akka有人在公司用么?这东西成熟不?Java基于DI解决runtime dependency和异步执行,有啥好轮子?
rxjava 1.0版本发布了我来说说go的目标对手吧
为了解决block的问题而引入了fpakka/scala/jvm
感觉Scala要火大牛们给说说学习scala路径?
感觉vert.x上的callback hell比node上还要更丑陋Spark PK Akka 完胜呀
akka stream选什么http client?谈谈为什么上scala
相关话题的讨论汇总
话题: 建模话题: spark话题: 数据源话题: 需要话题: 算量
进入Programming版参与讨论
1 (共1页)
e***m
发帖数: 92
1
这是一个我碰到的实际问题,想和大家交流一下怎样设计软件架构.
有几万个数据源会持续地生成数据,我需要对每两个数据源之间做数学建模,建模需要
很多cpu cycle。随着新的数据的不断产生,建模要周期性的重复进行,建模的结果集
中存在一个数据库里。这个应用对latency要求比较高,而且数据源可能还会增加,自
然而然,建模和要用到的数据必须分布式的进行。
我不太想用Hadoop, storm,spark等通用的parallel computing框架,而是倾向于用比
较低层的parallel框架(比如vert.x,akka,finagle等)搭一个专门解决这个问题的架
构。请问大家有什么可推荐。
j********x
发帖数: 2330
2
kafka搭个cluster
这个应该数据传输是关键
z****e
发帖数: 54598
3
既然“建模要周期性的重复进行”
那这个怎么会对latency比较高呢?
你需要的应该只是一个异步构架吧?
需要能够迅速响应你的请求,而非长时间石沉大海一样的无影无踪
能够告诉你,它在working
vert.x配合rxjava应该够你用了
akka我反正当时用得很痛苦
scala一直给我感觉不是那么容易搞
另外你的数学模型处理本身也需要一个接口
还有楼上说的数据传输可能会成为瓶颈
vert.x的设计可以当一个司令部用
最近有个年代古老的卡通寄生兽有看不?
那个卡通大boss就是一个寄生兽头部控制四肢寄生兽的一个东西
如果是我来做,我就用vert.x当头
然后控制其他部位,每个部位写一个mod,然后deploy
p*****2
发帖数: 21240
4

不明白为什么不用spark

【在 z****e 的大作中提到】
: 既然“建模要周期性的重复进行”
: 那这个怎么会对latency比较高呢?
: 你需要的应该只是一个异步构架吧?
: 需要能够迅速响应你的请求,而非长时间石沉大海一样的无影无踪
: 能够告诉你,它在working
: vert.x配合rxjava应该够你用了
: akka我反正当时用得很痛苦
: scala一直给我感觉不是那么容易搞
: 另外你的数学模型处理本身也需要一个接口
: 还有楼上说的数据传输可能会成为瓶颈

z****e
发帖数: 54598
5
没说不用啊
但是需要一个司令部
vert.x和spark可以一起用

【在 p*****2 的大作中提到】
:
: 不明白为什么不用spark

e***m
发帖数: 92
6
谢谢大家的回复。
虽然建模要周期性的重复进行,但每次建完模,就需要立即知道模型以决定系统是不是
正常,所以对latency的要求很高。这可以被看作是一个实时监控系统。
相对于计算量来说,数据量并不大。因为是每两个数据源之间要做一次建模。如果有N
个数据源的话,就有N^2个建模。
我确实需要一个司令部来把数据源分发到不同的机器上,而且还要收集计算结果。
不太想用SPARK,因为这个问题里并没有太多的iteration,也没有什么中间变量要缓存
。SPARK可能不合适。当然,我没实战用过SPARK,不知对不对。另外,我一直觉得这个
问题很具体,对性能要求很高,不用SPARK而是直接从底层实现可能会更优化一些。

【在 z****e 的大作中提到】
: 既然“建模要周期性的重复进行”
: 那这个怎么会对latency比较高呢?
: 你需要的应该只是一个异步构架吧?
: 需要能够迅速响应你的请求,而非长时间石沉大海一样的无影无踪
: 能够告诉你,它在working
: vert.x配合rxjava应该够你用了
: akka我反正当时用得很痛苦
: scala一直给我感觉不是那么容易搞
: 另外你的数学模型处理本身也需要一个接口
: 还有楼上说的数据传输可能会成为瓶颈

z****e
发帖数: 54598
7
需要汇总数据,所以用vert.x比较容易解决这个需求
其他server的话,汇总数据要自己写,bus要自己建,vert.x自己就有bus
可以直接用
然后latency这个需求,这个用异步可以很容易解决
看看rxjava的subscribe,把你需要callback的部分放到subscribe中去就好了
这样一旦建模完成就可以callback回来,然后你要怎么弄就怎么弄了
唯一的问题是这两个刚做出来没多久,可以参考的文档不多
不过本身你这个需求就比较另类,没有太多的轮子可以直接用
所以如果不怕文档少的话,就放手做吧
spark用起来比vertx麻烦不少,而且spark主要是建模容易
跟hdfs等数据源的接口比较容易做
如果你是自己建模的话,不用spark也没啥大不了的
做吧

N

【在 e***m 的大作中提到】
: 谢谢大家的回复。
: 虽然建模要周期性的重复进行,但每次建完模,就需要立即知道模型以决定系统是不是
: 正常,所以对latency的要求很高。这可以被看作是一个实时监控系统。
: 相对于计算量来说,数据量并不大。因为是每两个数据源之间要做一次建模。如果有N
: 个数据源的话,就有N^2个建模。
: 我确实需要一个司令部来把数据源分发到不同的机器上,而且还要收集计算结果。
: 不太想用SPARK,因为这个问题里并没有太多的iteration,也没有什么中间变量要缓存
: 。SPARK可能不合适。当然,我没实战用过SPARK,不知对不对。另外,我一直觉得这个
: 问题很具体,对性能要求很高,不用SPARK而是直接从底层实现可能会更优化一些。

e***m
发帖数: 92
8
有道理。我来看看rxjava和vert.x。多谢。

【在 z****e 的大作中提到】
: 需要汇总数据,所以用vert.x比较容易解决这个需求
: 其他server的话,汇总数据要自己写,bus要自己建,vert.x自己就有bus
: 可以直接用
: 然后latency这个需求,这个用异步可以很容易解决
: 看看rxjava的subscribe,把你需要callback的部分放到subscribe中去就好了
: 这样一旦建模完成就可以callback回来,然后你要怎么弄就怎么弄了
: 唯一的问题是这两个刚做出来没多久,可以参考的文档不多
: 不过本身你这个需求就比较另类,没有太多的轮子可以直接用
: 所以如果不怕文档少的话,就放手做吧
: spark用起来比vertx麻烦不少,而且spark主要是建模容易

1 (共1页)
进入Programming版参与讨论
相关主题
谈谈为什么上scala为了解决block的问题而引入了fp
akka, play, spark怎么学?感觉Scala要火
自学 scala,akka, play,spark 再刷leetcode,有机会进t 么感觉vert.x上的callback hell比node上还要更丑陋
上scala有一个直接的好处akka stream选什么http client?
Finagle有人用过么问个 rxjava 的问题
请java大牛谈谈大并发的解决方案狗狗抛弃Java转投swift?
akka有人在公司用么?这东西成熟不?Java基于DI解决runtime dependency和异步执行,有啥好轮子?
rxjava 1.0版本发布了我来说说go的目标对手吧
相关话题的讨论汇总
话题: 建模话题: spark话题: 数据源话题: 需要话题: 算量