p*****2 发帖数: 21240 | 1 还不如AKKA的设计有穿透力,为什么忽然貌似很火的样子?Java学Node能有前途吗? |
a***n 发帖数: 538 | 2 开源的东西易用比较重要吧,一般的程序员也不会去看设计和源码。 |
d*******r 发帖数: 3299 | 3 你这个"穿透力"是怎么说的呢?
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 还不如AKKA的设计有穿透力,为什么忽然貌似很火的样子?Java学Node能有前途吗?
|
p*****2 发帖数: 21240 | 4
大牛先解释一个,为什么不讨论一下Reactor?
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 你这个"穿透力"是怎么说的呢?
|
p*****2 发帖数: 21240 | 5
没看出来比Node易用在哪里呀。
【在 a***n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 开源的东西易用比较重要吧,一般的程序员也不会去看设计和源码。
|
d*******r 发帖数: 3299 | 6 不懂这个,还是看你说的
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 没看出来比Node易用在哪里呀。
|
p*****2 发帖数: 21240 | 7
大牛回去研究一下,给个summary。
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 不懂这个,还是看你说的
|
z****e 发帖数: 54598 | 8 这最大的区别就在于,不需要学阿
nodejs这些破烂之所以流行不就是因为不需要脑子就能用么?
vertx也不需要学就可以用
akka之类的要学,所以就等死
ejb最需要学了,这里有几个学会了? |
z****e 发帖数: 54598 | 9 不用bus的时候,跟nodejs一样简单,无脑
用bus的时候,就比nodejs简单,更无脑
所以综合起来,更无脑
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 大牛回去研究一下,给个summary。
|
d*******r 发帖数: 3299 | 10 自带 cluster 模式,自带 message bus, 自带 background worker thread,
node 搞这些还要另外折腾。
这些特性看着都很重要吧。
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 大牛回去研究一下,给个summary。
|
|
|
p*****2 发帖数: 21240 | 11
cluster node自带
message bus跟其他的比有什么优势?
worker thread node根本不需要呀。完全是一个折衷的东西。
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 自带 cluster 模式,自带 message bus, 自带 background worker thread, : node 搞这些还要另外折腾。 : 这些特性看着都很重要吧。
|
d*******r 发帖数: 3299 | 12 node 自带的 cluster 没有 vert.x 用起来白痴, 而且现在还是 "Stability: 1 -
Experimental" ?
http://nodejs.org/api/cluster.html
message bus 你说跟其他的比,是指跟 Rabbitmq 之类的比吗?就是自带的用起来更白
痴呀。
worker thread 很有用的,好不好。你总有东西需要block吧。同理,自带一个的话方
便懒人使用。
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : cluster node自带 : message bus跟其他的比有什么优势? : worker thread node根本不需要呀。完全是一个折衷的东西。
|
p*****2 发帖数: 21240 | 13
你这就业余了吧?Node是纯的async,没什么需要block的。
Node的clustr很好用,我正在用,没什么问题。况且这东西很容易做简单呀,根本不是
啥killing的问题。Node的cluster已经够白痴的了。
message bus的功能好像不强吧?我觉得没有专用的好用吧?
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : node 自带的 cluster 没有 vert.x 用起来白痴, 而且现在还是 "Stability: 1 - : Experimental" ? : http://nodejs.org/api/cluster.html : message bus 你说跟其他的比,是指跟 Rabbitmq 之类的比吗?就是自带的用起来更白 : 痴呀。 : worker thread 很有用的,好不好。你总有东西需要block吧。同理,自带一个的话方 : 便懒人使用。
|
d*******r 发帖数: 3299 | 14 Node 是纯的async的,但是你有时万一就想写个 block 的逻辑呢? 异步和同步都可以
写大多数逻辑不是吗。多种选择不是更方便。就是个方便问题。
都没啥是非上 vert.x 不可的,就看你喜欢一堆最专业的工具一起用,还是一套不是最
专业的凑合着用,懒人就选后一种。
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 你这就业余了吧?Node是纯的async,没什么需要block的。 : Node的clustr很好用,我正在用,没什么问题。况且这东西很容易做简单呀,根本不是 : 啥killing的问题。Node的cluster已经够白痴的了。 : message bus的功能好像不强吧?我觉得没有专用的好用吧?
|
p*****2 发帖数: 21240 | 15
为什么一定要block呢?reactor pattern应该是不允许block的。
大牛你先用用它那个event bus吧。回头给总结一下。我也没用过不好说。我是感觉如
果做的不够好,我可能根本不会用。所以优势就没了。
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : Node 是纯的async的,但是你有时万一就想写个 block 的逻辑呢? 异步和同步都可以 : 写大多数逻辑不是吗。多种选择不是更方便。就是个方便问题。 : 都没啥是非上 vert.x 不可的,就看你喜欢一堆最专业的工具一起用,还是一套不是最 : 专业的凑合着用,懒人就选后一种。
|
d*******r 发帖数: 3299 | 16 我用来了一阵再来说吧,二爷你太狡猾了,让别人去排雷,哈哈
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 为什么一定要block呢?reactor pattern应该是不允许block的。 : 大牛你先用用它那个event bus吧。回头给总结一下。我也没用过不好说。我是感觉如 : 果做的不够好,我可能根本不会用。所以优势就没了。
|
p*****2 发帖数: 21240 | 17
我学东西一定是能用在production上的。包括meteor也是这样。vert.x绝对还是太早了
。我需要看看别人的使用情况。我到不排斥这个东西。
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我用来了一阵再来说吧,二爷你太狡猾了,让别人去排雷,哈哈
|
d*******r 发帖数: 3299 | 18 恩,就是大家都这样,就没人去排雷了。这个确实也是个问题。
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 我学东西一定是能用在production上的。包括meteor也是这样。vert.x绝对还是太早了 : 。我需要看看别人的使用情况。我到不排斥这个东西。
|
z****e 发帖数: 54598 | 19 这孩子天赋真不错
一点就通
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : Node 是纯的async的,但是你有时万一就想写个 block 的逻辑呢? 异步和同步都可以 : 写大多数逻辑不是吗。多种选择不是更方便。就是个方便问题。 : 都没啥是非上 vert.x 不可的,就看你喜欢一堆最专业的工具一起用,还是一套不是最 : 专业的凑合着用,懒人就选后一种。
|
z****e 发帖数: 54598 | 20 就是一个简单的异步和端口监听器
没啥特别复杂的东西
其实你自己写都可以轻松写出来
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 恩,就是大家都这样,就没人去排雷了。这个确实也是个问题。
|
|
|
z****e 发帖数: 54598 | 21 jdbc设计时候就是blocked
如果让你搞一下数据库的话
是不是就不行了?
现实是复杂的,永远都有你没考虑到的情况
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 我学东西一定是能用在production上的。包括meteor也是这样。vert.x绝对还是太早了 : 。我需要看看别人的使用情况。我到不排斥这个东西。
|
d*******r 发帖数: 3299 | 22 我是能写得出来的,不吹牛。我就完整hack过C++版本的这种东西。
我觉得吧,框架这东西就得大家都用。不然你写一个,我写一个,还都不通用。于大家
发展都不利。
所以简单,好用,通用的框架是王道。希望vert.x 发展好点.
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 就是一个简单的异步和端口监听器 : 没啥特别复杂的东西 : 其实你自己写都可以轻松写出来
|
p*****2 发帖数: 21240 | 23
node不需要jdbc,纯异步。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : jdbc设计时候就是blocked : 如果让你搞一下数据库的话 : 是不是就不行了? : 现实是复杂的,永远都有你没考虑到的情况
|
z****e 发帖数: 54598 | 24 异步is ok
但是什么都异步
那这就有点问题了
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : node不需要jdbc,纯异步。
|
p*****2 发帖数: 21240 | 25
Node就是这样设计的。就是因为reactor pattern.所以我说过node+clojure什么都解决
了。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 异步is ok : 但是什么都异步 : 那这就有点问题了
|
z****e 发帖数: 54598 | 26 这个你要自己做集成
麻烦
VERT.X全搞定
简单
clojure的支持马上出来了
今天已经到beta2了
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : Node就是这样设计的。就是因为reactor pattern.所以我说过node+clojure什么都解决 : 了。
|
p*****2 发帖数: 21240 | 27
其实也不算麻烦。中间就是redis和mongo。再大点就是storm,hadoop啥的了。
vert.x我拿不准这个message bus到底质量如何。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这个你要自己做集成 : 麻烦 : VERT.X全搞定 : 简单 : clojure的支持马上出来了 : 今天已经到beta2了
|
p*****2 发帖数: 21240 | 28
First, you'll need to install Vert.x.
为什么还需要安装呢?
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 这个你要自己做集成 : 麻烦 : VERT.X全搞定 : 简单 : clojure的支持马上出来了 : 今天已经到beta2了
|
z****e 发帖数: 54598 | 29 把BIN目录放到PATH下面
这个很难么?
一般提这种无理要求的都是用WINDOWS的
其实也不难,自己写一个WIN脚本就行了
这已经是最傻瓜化了,要再傻瓜就过分了
JAVA安装基本上都要弄PATH
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : First, you'll need to install Vert.x. : 为什么还需要安装呢?
|
d*******r 发帖数: 3299 | 30 二爷你说说大项目 redis 和 mongo 的经验吧。现在我小项目用mongo,感觉 noSQL 是
要比 SQL 吃硬盘,吃内存。mongo的坑你们都遇到过哪些?给点调优经验和注意事项吧。
Redis我感觉很好用的样子,我知道有些人直接就用 memory db + snapshot 代替
mySQL 了 (我说的不是用 Redis 当 message bus 那种, 是除了 payment transaction
, 就不用 mySQL 之类了).
还有,Redis cluster 现在发展如何了?
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : First, you'll need to install Vert.x. : 为什么还需要安装呢?
|
|
|
z****e 发帖数: 54598 | 31 STORM很危险
VERT.X的MODULE完全可以替代STORM
倒腾STORM还是挺折腾的
又一个EJB
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : First, you'll need to install Vert.x. : 为什么还需要安装呢?
|
p*****2 发帖数: 21240 | 32
reactor就不需要安装呀。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 把BIN目录放到PATH下面 : 这个很难么? : 一般提这种无理要求的都是用WINDOWS的 : 其实也不难,自己写一个WIN脚本就行了 : 这已经是最傻瓜化了,要再傻瓜就过分了 : JAVA安装基本上都要弄PATH
|
d*******r 发帖数: 3299 | 33 你去Oracle网站安装个 JDK 1.7, 然后下载官网上的 Vert.x binary 包,在它目录里
直接就可以运行 ./vertx 了。
各种 script 的例子也可以直接运行, 相当无脑。
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : reactor就不需要安装呀。
|
p*****2 发帖数: 21240 | 34
吧。
transaction
redis坑很多,mongo坑不多。coltzhao的mongo经验比我更多。我的也不算是大项目。
如果真是大项目我上不上mongo也两说。
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 二爷你说说大项目 redis 和 mongo 的经验吧。现在我小项目用mongo,感觉 noSQL 是 : 要比 SQL 吃硬盘,吃内存。mongo的坑你们都遇到过哪些?给点调优经验和注意事项吧。 : Redis我感觉很好用的样子,我知道有些人直接就用 memory db + snapshot 代替 : mySQL 了 (我说的不是用 Redis 当 message bus 那种, 是除了 payment transaction : , 就不用 mySQL 之类了). : 还有,Redis cluster 现在发展如何了?
|
p*****2 发帖数: 21240 | 35
这个要看看再说。如果有比storm好的,当然可以上。vert。x的问题是没人用在
production上。所以现在做项目根本不敢用。
【在 z****e 的大作中提到】![](/moin_static193/solenoid/img/up.png) : STORM很危险 : VERT.X的MODULE完全可以替代STORM : 倒腾STORM还是挺折腾的 : 又一个EJB
|
d*******r 发帖数: 3299 | 36 redis坑很多, mongo坑不多??
二爷你展开说说呀. 拜托了.
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 这个要看看再说。如果有比storm好的,当然可以上。vert。x的问题是没人用在 : production上。所以现在做项目根本不敢用。
|
p*****2 发帖数: 21240 | 37
还要JDK1.7呀?Reactor都支持Java8了。
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 你去Oracle网站安装个 JDK 1.7, 然后下载官网上的 Vert.x binary 包,在它目录里 : 直接就可以运行 ./vertx 了。 : 各种 script 的例子也可以直接运行, 相当无脑。
|
d*******r 发帖数: 3299 | 38 应该是最低要求
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : 还要JDK1.7呀?Reactor都支持Java8了。
|
p*****2 发帖数: 21240 | 39
mongo很好用,基本上没什么坑。按照document做没什么意外。
redis的persistence做的很烂。做cache没话说,做database就有点扯了。另外redis的
design是for single server的。一个server handle不了很麻烦。
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : redis坑很多, mongo坑不多?? : 二爷你展开说说呀. 拜托了.
|
z****e 发帖数: 54598 | 40 如果抛开傻瓜化操作
我敢说,这些东西没有一个比ejb更好
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : mongo很好用,基本上没什么坑。按照document做没什么意外。 : redis的persistence做的很烂。做cache没话说,做database就有点扯了。另外redis的 : design是for single server的。一个server handle不了很麻烦。
|
|
|
d*******r 发帖数: 3299 | 41 请问你们Redis的 persistence 是用的 AOF 还是 RDB?
MongoDB有时候实在要搞跨越多个 collection/documents 的写操作 (有点像
transaction) ,这种情况的atomic你们咋搞呢?re-design,然后把多个 documents
合成一个 ...?
我看 Redis 还支持 transaction 呢.
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : mongo很好用,基本上没什么坑。按照document做没什么意外。 : redis的persistence做的很烂。做cache没话说,做database就有点扯了。另外redis的 : design是for single server的。一个server handle不了很麻烦。
|
p*****2 发帖数: 21240 | 42
Redis可以写server side的script,这个确实很强大,对于transaction来说。当然也
是限于单机。
Redis RDB要take double memory,这个很恶心,而且影响性能。所以用AOF会好很多。
当然更好的解决方案是分成很多小的instance。不过这样就需要做partition/
sharding了,额外工作很多。这些Mongo都没有问题, Sharding很容易。
Mongo一般来说相关逻辑都放在一个document里。一个document是atomic的操作。NOSQL
本身来说都是按照需求设计的。如果需求改动的话,就需要做migration了。如果跨
collection的话我觉得没什么好办法吧?我觉得如果transaction要求高也许应该上SQL。
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 请问你们Redis的 persistence 是用的 AOF 还是 RDB? : MongoDB有时候实在要搞跨越多个 collection/documents 的写操作 (有点像 : transaction) ,这种情况的atomic你们咋搞呢?re-design,然后把多个 documents : 合成一个 ...? : 我看 Redis 还支持 transaction 呢.
|
d*******r 发帖数: 3299 | 43 多谢多谢~~ !!
mongo部分跟我想的一样
Redis学到经验了。
二爷是一点不看好 Redis Cluster 的发展么: http://redis.io/topics/cluster-spec
Redis 真是为数不多支持 transaction 的 NoSQL DB 吧。虽然主要是内存DB,还是很
强大。
你们 message bus 难道就是用的 Redis? 让各个模块去 Redis 里面 pull messages?
我记得你提过 Kafka, 这个做 message queue 可以,做 message bus 是不是弱了点吧。
NOSQL
SQL。
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : Redis可以写server side的script,这个确实很强大,对于transaction来说。当然也 : 是限于单机。 : Redis RDB要take double memory,这个很恶心,而且影响性能。所以用AOF会好很多。 : 当然更好的解决方案是分成很多小的instance。不过这样就需要做partition/ : sharding了,额外工作很多。这些Mongo都没有问题, Sharding很容易。 : Mongo一般来说相关逻辑都放在一个document里。一个document是atomic的操作。NOSQL : 本身来说都是按照需求设计的。如果需求改动的话,就需要做migration了。如果跨 : collection的话我觉得没什么好办法吧?我觉得如果transaction要求高也许应该上SQL。
|
p*****2 发帖数: 21240 | 44
?
吧。
不是不看好,是这东西好像挺难产的。Redis本身还是挺好的一个东西,如果build low
latency的service非常有用,就是用起来没有mongo方便,developer要花很多时间折
腾。当然数据量小啥事没有。
我们基本没用message bus。我有一个小的service就是用Redis来搞的。总体的架构是
后台Clojure进行计算把结果放到Redis,Mongo。前台Node直接提取数据。
【在 d*******r 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 多谢多谢~~ !! : mongo部分跟我想的一样 : Redis学到经验了。 : 二爷是一点不看好 Redis Cluster 的发展么: http://redis.io/topics/cluster-spec : Redis 真是为数不多支持 transaction 的 NoSQL DB 吧。虽然主要是内存DB,还是很 : 强大。 : 你们 message bus 难道就是用的 Redis? 让各个模块去 Redis 里面 pull messages? : 我记得你提过 Kafka, 这个做 message queue 可以,做 message bus 是不是弱了点吧。 : : NOSQL
|
d*******r 发帖数: 3299 | 45 确实很多人这么用 Redis
low
【在 p*****2 的大作中提到】![](/moin_static193/solenoid/img/up.png) : : ? : 吧。 : 不是不看好,是这东西好像挺难产的。Redis本身还是挺好的一个东西,如果build low : latency的service非常有用,就是用起来没有mongo方便,developer要花很多时间折 : 腾。当然数据量小啥事没有。 : 我们基本没用message bus。我有一个小的service就是用Redis来搞的。总体的架构是 : 后台Clojure进行计算把结果放到Redis,Mongo。前台Node直接提取数据。
|