p*****2 发帖数: 21240 | 1 先说说vert.x的三大特点
1. polyglot
2. node on JVM
3. event bus
再说说各种语言
1. Scala: Tim Fox 说vert.x对AKKA的优势就是可以支持多语言。可是Scala玩的就是
心跳。人家认定了Scala就是最好的语言,你支持多语言跟人家有啥关系呀?所以
coltzhao根本就不屑vert.x
2. JS: Tim Fox 说vert.x 比node强的是performance。可是Node的performance已经非
常强大了,除非真的性能出现问题解决不了,否则不会转换平台的。再说Node强大的
eco system也不是vert.x可以比拟的。最后,vert.x还不是copy node来的?
3. Python: 说到python就不得不提到公孙大神,公孙的态度非常明显,python系的根
本不刁JVM系的。而且就算zhaoce大牛也认定了jython没人用。
4. Ruby: Ruby程序员以不注重performance而闻名,不然eventmachine早就火起来了。
当然很多ruby程序员已经意识到这个问题了,所以纷... 阅读全帖 |
|
z****e 发帖数: 54598 | 2 http://vertx.io/blog/vert-x3-says-hello-to-npm-users/
13th July 2015 by pmlopes
In programming literature it has become the standard to create a hello world
program as the first example. In this
article I’ll be demonstrating how NPM users can quickly get started with
vert.x. You will see that it is not
that different and in fact it can be done using the tools you’re used to.
Note that although we are using NPM we are
not relying on node.js, all javascript code runs on the JVM.
Hello World Exampl... 阅读全帖 |
|
l*******o 发帖数: 250 | 3 not every time, but happened several times at least. Only got issues with
this site.
C:\dev\vert.x>gvim bin\vertx.bat
C:\dev\vert.x>vertx run Server.java
"C:\Java\jdk1.7.0_45/bin/java.exe" -Djava.util.logging.config.file="c:\
dev\vert.x\bin\..\conf\logging.properties" -Dvertx.home="c:\dev\
vert.x\bin\.." -Dvertx.clusterManagerFactory="org.vertx.java.spi.cluster.
impl.hazelcast.HazelcastClusterManagerFactory" -classpath ";c:\dev\
vert.x\bin\..\conf;c:\dev\vert.x\bin\..\lib\*" org.vertx.java.... 阅读全帖 |
|
z****e 发帖数: 54598 | 4
struts现在已经没多少人在用了
我看struts一些子项目都停止开发了
基本上被spring mvc所取代
现在比较常见的common legacy组合应该是
spring + tomcat + hibernate
这几个都比较难替代,虽然vert.x效率要高点
但是legacy code应该都不会改
vert.x主要的竞争领域在于web service部分
以及将来很快就要到来的streaming部分
借用rxjava的推力,应该vert.x的应用领域会得到进一步的拓展
vert.x跟spring mvc, node.js, akka甚至ejb这些都有竞争
甚至还把手伸向了hdfs,script language support这种领域
但是又都不完全重合,所以vert.x的前景会比较看好
因为随便一个领域成功了,就会把其他部分给带动起来
当有人意识到用vert.x搞一整套eco有多么轻松之后
他们就不会在回到以前那种system integration的阶段去了
因为integration是比较折腾的一件事,要对付不同系统
要测试,要写代码,比较麻烦,vert.x简单很多 |
|
z****e 发帖数: 54598 | 5 jvm上从来都是随便凑组合的
grails, spring, hibernate, ibatis, struts……
你爱用什么就用什么
问题在于,我为什么要那么折腾呢?
就你的那一套组合
又node.js,又jvm,又clojure,还有message的东东
db不能支持node.js的异步,需要额外加一层做io,如果新人不懂js还要培训半天
越做越heavy,框架一堆,干嘛呢这是,做得跟企业一样
企业又都不怎么用这些lightweight东西,你的那些产品全部都是标版自己lightweight
什么意思?不就是贪图上手快,简单,便捷么?
要是象你那样,前端后端挨个搞,对比ibm那一套,竞争优势在哪里?
ibm斗你们跟玩一样,你这么多组合,能优化么?ibm可以哦
人家可以从os开始往上一层一层做优化,最后效率秒掉你这些组合没有任何问题
而且人家consultants是西装领带,疼校毕业的mba,搞不好家里还是某个王公贵族之后
你们请得起几个这样的做sales?所以用你这一套跟这些it公司去硬碰硬,完全就是以
卵击石
以己短攻彼之长,vmware本身就是做企业开发的,跟ibm和amaz... 阅读全帖 |
|
z****e 发帖数: 54598 | 6 新特性里面最典型的一条就是不再要求用户打成zip包了
直接.js, .class, .groovy, .ruby什么就可以install了
以前vert.x 2时代需要打成mod,写一个mod.json,然后install
这样做略微繁琐了点,以后不用了,直接verticle的源代码就可以直接安装并运行了
以前2时代虽然也可以,但是不推荐这么使用
vert.x的verticle跟akka的actor是一个idea,就是actor模型
另外一个改变就是减少对ide的依赖
所有的hello world例子里面,都可以直接从main函数启动vert.x
这样在ide中run的时候就不再需要额外的plugin支持
直接就可以右键点击,选择run application,就可以run了
以前跟eclipse集成略显麻烦,需要找到vert.x自身的main函数
然后怎样怎样,以后不用了,甚至你可以自己用java命令行运行
第三个就是vert.x可以直接打成fat jar包并export
这样你在任何一个有jdk的地方都可以直接运行
不再需要修改path,设置vertx home这些
第四个新增mu... 阅读全帖 |
|
z*******3 发帖数: 13709 | 7 vert.x最有趣的就是想怎么做就怎么做
比如有人为了vert.x 3做了typescript的语言support
https://github.com/michel-kraemer/vertx-lang-typescript
还有人正在做php的vert.x 3的support
社区有人提议过做lua的support,不过这些语言都比较小众
除了第一个以外,其他两个都缺人投入
官方语言支持,在3.1可能会加入
clojure
scala
python
和ceylon
客户端方面,除了自己倒腾tcp,udp,http这些以外
目前vert.x bus的客户端有c++版本
我看了下,好像bus通信用的是websocket
算了,这个协议不熟悉,还是直接用udp吧,省得麻烦
听说fb用这个协议比较多
vert.x最好一点就是,无论它做什么
都留下来足够的余地让你自由选择
比如做web,光一个html template
就可以选择
Handlebars
Jade,
MVEL
Thymeleaf
这样你熟悉哪个,就可以用哪个
就很像eclipse当年成功的经验,它只做一些基本的功能
剩下的东西... 阅读全帖 |
|
z*******3 发帖数: 13709 | 8
这一批人都是red hat那个项目组的project odd
http://projectodd.org/
vert.x曾经也是这个项目组的一员
那个项目组还做了很多除了vert.x以外的其他东西
比如不同的jvm上的js引擎
因为他们对于rhino也就是mozilla的js引擎在jvm上实现的效率不满意
所以自己搞了一个,v3用的是red hat开发的js引擎nashorn,而非mozilla的rhino
还有jruby,也是red hat跟东京大学在搞
目标就是不需要修改ror的ruby代码可以直接移植到jvm上运行
这个也是他们项目组在搞
然后你说的这个,就是打算搬运npm到jvm上去运行
或者确切点说就是搬运到vert.x上运行,跟ror类似
不需要修改npm就可以运行,当然这个非常理想,还是有小部分npm无法用
因为npm有些不是js写的,js写的问题不大,但是如果是c写的npm
为了兼顾跨平台,所以就不得不抛弃了
vert.x和spring可以说完全没关系
vert.x跟spring有过一个讨论,community尤其是java的开发人员
都认为spring是by def... 阅读全帖 |
|
z****e 发帖数: 54598 | 9 http://github.com/vert-x3/vertx-examples/blob/master/README.ado
好几种方法
一种是设置path之后,用vertx命令行跑
简单说就是安装jdk,把jdk和vert.x的文件夹放到path里面去
然后vert.x run ***.java/groovy/ruby etc.
还有一种就是用代码方式调用,需要拿到Vertx的obj
然后从你的代码运行vert.x,怎么运行你自己的代码那就看你自己了
你可以写一个main函数,然后run
如果你想用java -jar的方式的话,需要把vert.x打包成jar
这个是x3新增的功能,你可以试试
这样做你可能需要maven或者gradel
但是不需要把vert.x的目录放到path中去了 |
|
z****e 发帖数: 54598 | 10
vert.x做了一个简单的file system
理论上这个往上做的话,可以作出一个nosql db出来
就像hdfs -> hbase这种关系
或者cfs -> cassandra
另外一个关系就是vert.x对于nosql的支持比较重视
因为nosql大多数对于async的api提供得比较快
相对于db而言,所以vert.x比较快地跟nosql接轨起来
所以选择persistence的时候,选到了nosql的话
jvm上留给你的选择就不多了,比如传统的servlet+spring+hibernate这个
就不见得很合适,因为api都是同步的,vert.x都是异步的
vert.x不用马上替换,你可以一点一点加进去
vert.x3有一个很容易integrate到现有系统的方法
你看文档,只需要拿到Vertx vertx这个obj就可以做了 |
|
z****e 发帖数: 54598 | 11 不用配,这就是vert.x最大的优势
你用其他的都太heavy了
vert.x只要懂得下module就可以了
其他的东西就是当年的jbuilder模式,什么东西都塞给你,也不管你要不要
结果一个比一个大,笨重,最后又大又难用,最后干脆就不用了
就跟db前景堪忧一个道理
vert.x就是eclipse,本身没有什么东西,就那么一点点东西
很快就摸透了,但是module就是插件,谁要谁自己去下去
有兴趣用的人自然会去倒腾,module里面很强
有象spring一样di的module,也有象kefka,storm这些的module
还有jca接口module,jdbc什么就不用说了,你想要什么就给你什么
就像eclipse最后搞死jbuilder一样,vert.x最后也能胜出
因为简单,不笨重,而且可扩展性强
现在其他脚本程序员也都在用eclipse
vert.x就是server上的eclipse |
|
|
z****e 发帖数: 54598 | 13 就vert.x就好了
自己动手,丰衣足食
如果你想看看更好的
听说undertow更好
效率更高
但是servlet,你可能不是很喜欢
但是足够傻瓜,比play更简单
各种web servers的对比
https://www.techempower.com/benchmarks/#section=data-r9
r9 vert.x的tim对于测试者用的版本提出异议
认为版本太久,因为vert.x做了大量的改良
所以r9的话vert.x退出评测
你可以看到undertow排行总是靠前
vert.x在以前测试中也比较靠前
总体servlet也很靠前,undertow是下一代servlet |
|
z****e 发帖数: 54598 | 14 https://github.com/vert-x3/vertx-rx
作者是vert.x的scala部分的作者
他来负责vert.x的rxjava部分
水平应该是有的
能不能work,我也不知道,毕竟还在开发阶段
可以问问他
我现在想的是,如何跟vert.x里面那个bus直接通信
用swift,而非java
vert.x多有趣啊,好多事情可以做,好多东西可以搞 |
|
z****e 发帖数: 54598 | 15
不觉得vert.x更难,我觉得dropwizard的上手难度要高不少
这两个用的库有不少重合的,但是dropwizard更传统一点
用的主要还是jee那些东东,做了一个集成
相比之下,vert.x对于udp, nosql, polyglot这些支持要强过dropwizard
而且vert.x主要优势在于kernal绑定的threads数量,eventloop的搞法
其他都是thread pool,从效率上说,应该vert.x会更强一点
不过如果都用了quasar,本质上的threads数量应该是一样的
另外一个就是,其他大部分框架,包括dropwizard,servlet,spring
集成都要自己折腾,需要倒腾comsat integration
比如comsat-dropwizard
vert.x就有官方帮忙搞,所以会更傻瓜一点 |
|
z****e 发帖数: 54598 | 16 http://github.com/vert-x3/vertx-examples/tree/master/spring-exa
This project is a demo of exposing Spring-hosted service beans (and
therefore Spring-wired services) via vert.x verticles. In vert.x 3 it’s
perfectly possible to share an application context between multiple
verticles.
In this case the service bean we expose through vert.x is a trivial data
access service running through Spring Data JPA (and using Hibernate). In
effect we’re taking advantage of the ease of building data access via
S... 阅读全帖 |
|
p*****2 发帖数: 21240 | 17 Jajaja :P bytor99999, maybe I have to say that's a huge opportunity to be
one of the first to explore and create apps with an amazing platform like
Vert.x.
El jueves, 17 de octubre de 2013 15:09:10 UTC-5, bytor99999 escribió:
- hide quoted text -
The people posting on this Google Group is using Vert.x :D
Sorry, couldn't resist.
I would like to say who we are, but unfortunately can't at the moment.
Mark
On Thursday, October 17, 2013 8:43:21 AM UTC-7, rodrigo salado anaya wrote:
I will give a talk... 阅读全帖 |
|
z****e 发帖数: 54598 | 18 如果你打算用vert.x替换play的话
最大的问题是mod,你需要找到一个html/xml的template engine
http socket listener这个还好
vert.x相对底层很多,很多东西需要你自己动手做/组装
我觉得这样蛮好,但是你喜欢不喜欢,那就不好说了
至少说不会像play那么傻瓜,因为play毕竟是web framework
有些东西给你做好了,vert.x只是打了一个框架下去,剩下的你还是要自己弄
当然你这样做的好处就是,以后不会受制于其他人
不太可能出现play那种闹剧,当然不说一定不可能,只是可能性相对小很多
vert.x的结构估计以后就这样了,再弄也不会有多大进展,20年可能都没啥改变了 |
|
z*******3 发帖数: 13709 | 19 vert.x最好一点就是提供了一个公共的标准
所有语言的程序员,都可以根据自身需要
去制作module,然后打成zip格式,放到repo上去供人下载
代码重用率就大幅提升了
而且vert.x他们组还在琢磨如何减少各种语言之间沟通的门槛
互通有无,就像red hat官方就在倒腾把node.js的npm给直接搬过来用
而jruby组则在倒腾把ror给直接搬到java上去
当然这一切做起来还是非常浩瀚的一个工程,因为东西太多了
但是千里之行,始于足下,跟着一个开源项目一起成长
能够contribute一点,也是一种乐趣撒
akka和play这种都属于过份成熟的项目了
play1.0搞完了,2.0整个重新弄一遍,这都属于吃太饱了
说明没啥可搞了才这么搞,就像当年struts2.0也是整个重构一样
没事找事,哎哟
vert.x比较好一点就是,架构,接口,不变
然后那几个人还是那几个人在搞基础架构
剩下的拓展,给其他人去搞
如果人对原理比较熟悉的话,搞vert.x会很爽
随便搞,想怎么搞就怎么搞,受到的约束比较小
可以发挥的空间就比较大,比如我就很讨厌jsp那种混杂的编写方式
但是比较喜欢thym... 阅读全帖 |
|
z****e 发帖数: 54598 | 20 vert.x马上出3.0版本了
已经preview了
用vert.x最麻烦的是必需用vi,因为eclipse上plugins还不怎么powerful
所以很多时候不得不用vi编程,我虽然不喜欢vi
但是vert.x要用上,需要对jvm, vi这些都比较熟练才行
这些凑一起,对一个只会写脚本的程序员来说
实在是要求太高了,所以很多人搞不了
现在就是慢慢把eclipse这些plugin搞起来
一些cloud上已经有vert.x的那个啥,pkg还是什么的
以后cloud就看谁做得更傻瓜一点了 |
|
|
z****e 发帖数: 54598 | 22
assigned
vertx
差不多是这样滴
by default,vert.x会启动多个threads,根据你具体的cores来建
但是,一个verticle,只能被一个thread执行,在同一个时间点
所以如果你只写了一个verticle,然后启动vert.x去用这个verticle去listen某一个
port
那么虽然vert.x启动了多个threads,但是这个verticle只能被一个thread所执行
所以瓶颈就发生在这里,因为一个thread独占了这个verticle,其他threads就只能干
瞪眼了
也做不了什么事,所以这个时候,需要直接scale out,根据core数量
部署相同数量的verticles,这样多个threads就可以同时listen同一个port了
这个在v3文档中有很清晰的描写
DeploymentOptions options = new DeploymentOptions().setInstances(16);
vertx.deployVerticle("com.mycompany.MyOrderProcessorVerticle", o... 阅读全帖 |
|
z****e 发帖数: 54598 | 23
streaming就是适合那种结束边界不确定但是传入的data又比较同质化的datasource
像netflix搞的视频就很像这个东东,还有message
streaming应该在将来一段时间内会逐步流行开来
以前是storm在搞,再早一点是jms,不过jms主要是无状态的dataset
fp部分用来搞streaming会比较容易
常见的map,可以直接apply func到每一个elements上去
这样你就不用for loop了,因为for loop需要知道确切的结束边界
对于streaming,没有fp那么好用,listener+fp可以比较快速地开发出东西来
那rxjava就是为了adopt这种趋势而生的东东
vert.x的reactive部分,就是直接用了rxjava
rxjava不仅仅是java,其实所有jvm上的reactive都可以用
包括rxscala, rxclojure,当然scala clojure这种天生就是fp,不需要这个一样搞
但是api标准化总是好的,还有rxgroovy
作为游戏,我觉得每一局pvp的话,其实广播的部分可以搞成streaming
用... 阅读全帖 |
|
|
z****e 发帖数: 54598 | 25
你们可以稍微分一下
单独写一个scala的模块伺候scala的tools
比如spark之类的,然后web部分用vert.x就好了
可以用groovy,我觉得web的大多数东西,groovy足够了
js也行,然后用scala调用java的api,放到vert.x里面去酱紫
vert.x还是很强大的,不喜欢java,可以用groovy, ruby, js这些脚本
vert.x本身也可以作为lib用,可以有选择地使用这个工具 |
|
z****e 发帖数: 54598 | 26 vert.x有着良好的延展性
可以短时间内就做出来一个pvp的server
其它就更容易了,而且可以自由选择协议
反正cloud和ios都不会禁你用各种端口和协议
你没有必要死绑在http上,各种parse非常浪费时间
tcp首先要三次握手了,然后解析http header
然后里面不管是json还是xml
你都要parse,这三层下去黄花菜都凉了,还real time个p
一个udp+byte stream,搞定
直接parse byte stream,一个byte一个byte parse过去
效率是最高的,ios那个swift socket极为简单
就四个文件,整个拷贝进你的project就好了
然后就可以用了,支持udp和tcp,大部分用户用这些都是用来跟java socket连接的
做了这些,你再回头看http,就觉得索然无味,好无聊啊
然后vert.x提供了各种接口,你就可以focus在真正要实现的逻辑上了
同样ios也提供了sprite kit,开发测试都很容易
有了这两个神器,完全可以放开手脚开发
我现在写的都是自己想要写的代码,根本不需要浪费时间在网络和服务器上
而且直... 阅读全帖 |
|
z****e 发帖数: 54598 | 27 fuking simple and easy
and modules can feed all requirements in traditional enterprise and web
companies
this is exactly the web service server i have been looking for years
this guy will be a giant in the near future
and it will replace, well at least erode, current frameworks like storm,
akka, django, ror or any frontend frameworks u r using
the module could even integrate into traditional jee environment like jca
module
just take a look at useful modules here
http://github.com/eclipse/vert.x/... 阅读全帖 |
|
z****e 发帖数: 54598 | 28 vert.x跟其它jvm上产品不一样的地方在于
它哪怕是生产环境,它也需要jdk,而不仅仅是jre
好久没用windows了,今天第一次尝试在window7上安装java
结果奇芭的事发生了,我下了jdk安装pkg
然后打开,让我选择安装,默认是development kit和source code和jre全部安装
我默认同意了,安装完了之后,修改path,把jdk的bin放到path最后去
把vert.x下载解压缩,再把bin目录给放到path里面去
奇芭的是,我写了一个hello world让vert.x跑
居然跑不动,提示compilation fail
搞了很久没弄明白怎么回事,怀疑是不是版本的问题
于是决定换一个版本看看,下了最新m3版本
解压缩,修改path,然后再次运行
同样错误,但是m3比之前正式版本强的在于
它会print out exception的stacktrace
然后认真阅读了一下异常信息,异常是由netty抛出的
提示说要确保用的是jdk,而不是jre,我想了想
觉得可能是jre和jdk两个都安装后导致的java.exe启动错了
启动成jre那个了,于是敲... 阅读全帖 |
|
d*******r 发帖数: 3299 | 29 我认真看完下面的 comments,觉得 vert.x 的 Tim Fox 比 发这个帖子的 obastemur
专业太多了!
基本大家都抱怨他 vert.x 的测试不清不楚的,要不就可能是vert.x线程没开够,要不
就是 JVM Jit 的 warm up 也不够。最重要的是,他没有提供 github 上的 测试源代
码!看 obastemur 随后敢把测试源码发出来不. |
|
d*******r 发帖数: 3299 | 30 二爷你没做完功课呀,vert.x 已经脱离 VMWare, 挂在 Eclipse Foundation 下面了,
github 上的源码就在 Eclipse 帐号下面的.
http://www.infoq.com/cn/news/2013/09/tim_fox_vertx_2
InfoQ:2013年初,有一些关于Vert.x未来的讨论。关于这点和最终结论,您能稍微告
诉我们一些信息吗?Tim:一切都解决的很好。核心Vert.x项目正在移到一个中立实体
——Eclipse基金会,不再受任何公司控制——那里有同时属于Red Hat和VMWare的开发
人员,作为Eclipse项目的核心开发人员。商标已经转交给Eclipse,而Eclipase正设法
将转交带来的痛苦尽可能降低,例如,该项目可以继续在Github上运行。 |
|
p*****2 发帖数: 21240 | 31
我很难相信python, ruby, node程序员会转到vert.x上来。
估计vert.x最后也就是java程序员用。
不过java程序员更推崇spring,所以reactor有可能干掉vert.x。 |
|
z****e 发帖数: 54598 | 32 看懂了vert.x,其他没有任何东西能难住你了
我说的是结构方面,然后你到企业就可以忽悠了
prototype你都懂了,剩下的差异只是一些细节罢了
不要在nodejs上纠结,那个玩意没有什么学习难度的
跟python差不多,vert.x虽然上手也很简单
但是event bus这些还是有一点点门槛的
当然它做得很简单,这是好事,学习时候
最忌讳特别难的东西卡住卡半天
vert.x随便玩,无非那么点东西,本来么
这一行就那么点东西,搞来搞去
绝对没有难度大过微积分证明的
统计都比cs难n个档次,cs那点数学都不配叫数学
那叫算术
人傻钱多,速来 |
|
d*******r 发帖数: 3299 | 33 我没在 vert.x 上找到过很流行的 web framework, 我觉得 vert.x 还是小众,而且
vert.x 看样子就是面向比 web 更 generic 的 purpose 的.
二爷你要用 JVM 做 web 了? 主要目的是为了效率,还是跟 JVM 那些 big data 的东
西对接? |
|
z****e 发帖数: 54598 | 34 混乱与否主要看你的构架是否合理
如果你把这些语言写在一个mod里面
自然会乱
但是如果每个mod只用一种语言
就没啥问题,每个语言擅长的领域不一样
而且文档的支持也都不一样,加上每个程序员的习惯不同
切割清楚是最合理的
就像我们组里有喜欢ruby的,能给他写ruby,他的忠诚度就会上升
甚至降薪留在组里,为啥不?
就像某些框架的文档偏向scala,就直接照着文档写scala,然后包装成一个mod
然后deploy,为啥不?
就像别人用clj写了个mod,你要复用的话,直接down下来就好了
就不需要重新实现
这个不仅仅是vert.x在做,java自身也在做,jvm有script engine
.net以前不也是一堆乱七八糟语言的杂烩,比如vb
做基础架构,应该保证最大的兼容性和开放度,至于你用不用,那是你的选择
vert.x只负责把选择权做出来,你不用别人可以用呀
而且多语言只是一个方面而已,vert.x对于架构的设计也是非常合理的
强迫你把整个项目拆成一个个mod,即插即用
这种非侵入式的设计深得我心,我就不喜欢什么都塞给我,然后只用一种方式解决问题
我应该有很多办法解决问题才对,拿... 阅读全帖 |
|
z****e 发帖数: 54598 | 35 用了vert.x你可以接触到几乎所有的新生事物,比如reactive,比如async,比如nosql
,比如file system,比如rxjava,比如streaming,好好玩啊,怎么能不喜欢这个东西
,这个版面上讨论的一切,都有一个小部分在搞,除非你做非常底层的东西,比如go那
些,那这个没办法,毕竟jvm封装到了这个level,不可能再回头去搞这些底层的东东,
其他应用层面的新生事物,vert.x的人都跟进得很快,实际上rxjava那个本杰明也对
vert.x有感觉,文档中写到过不少,当然java就这样,你单独用rxjava也是完全可以的
,就像spring跟hibernate没有必要捆绑到一块去一样 |
|
z****e 发帖数: 54598 | 36 microservice不是什么只有某个东西才有的概念
你用ejb一样可以microservice
你用习惯了akka,所以觉得akka简单
但是对于新手来说,这个可未必简单
而且概念满天飞,vert.x很少说概念
但是一切又那么自然,比如把final/immutable -> msg
你不需要知道什么是immutable,只需要理解msg
而msg的immutable就很直观,很少有人吃饱了去改什么msg的
并发改就更不可能了,同一个msg改了之后就是另外一个msg
一般人都这么理解的,排除少数吹毛求p的
但是obj可不是immutable的哦
其实很多公司的内部系统,你了解了之后,就会发现
其实就是vert.x,它们自己实现的而已,vert.x也没啥
就是到处抄一抄,然后总结一下 |
|
z****e 发帖数: 54598 | 37 现在大项目的构造都在往vert.x看齐
我知道很多公司内部的大项目
基本上都做得跟vert.x很像了
vert.x没啥,就是东抄抄,西抄抄
汲百家之长,最后拿出来的这么一个东西
所以所有人看了都觉得熟悉
本来就是到处抄来的,这年头,懂得抄的人才牛逼 |
|
z****e 发帖数: 54598 | 38 web总共就那点东西,什么重型?我就没见过写website说自己重型的道理
另外轮子就是jar npm和gem啊
什么轮子不能用在vert.x上?
怎么还跟小屁孩一样,离开了框架啥都不会做了
自己动手组合各种轮子和vert.x,vert.x的integration太容易了
一行Vertx.vertx();就结束了,随便做,其它轮子直接写成verticle就能跑了
做java程序猴,如果不懂得如何组合轮子
搭配出自己想要的服务,是没有钱途的
其它语言程序猴才这么无能,因为选择少,一个领域就那么一两个框架
我们java程序猴都是动手组合派,因为选择太多了 |
|
|
z*******3 发帖数: 13709 | 40 你是对的,我把这个方案作为plan b
但是我之所以选择vert.x
一个是因为tomcat太大,开发效率偏低
做一个servlet要各种倒腾没有必要
另外一个就是想尝试一下新产品和新的模式
还有一个就是现有的系统接口全部都是restful ws
显然,tomcat不太fit in,vert.x不需要加任何东西就可以parse json
也就是做一个ws很容易,所以就这个了
格式 |
|
z****e 发帖数: 54598 | 41 nonono
vert.x is impacted by node.js
almost copy the whole architecture of node.js
and then add in some more features
so node.js is a prototype
the vert.x is a improved version of node.js
about tornado u should ask python or facebook guy |
|
z****e 发帖数: 54598 | 42 i think they r all similar tools
just get familiar with 1 of these tools
then u should be able to handle the rest
vert.x has some more features
so u probably need to spend more time on this tool
but u should be able to take advantage of ur previous experiences
of the other similar tools like tornado, node.js etc.
vert.x is some how like(at least they try to be)
a superset of the others |
|
m*******t 发帖数: 1060 | 43 要不然是坏境问题,要不然是。。。。深表同情。 对了,刚刚试了一下vert,x, 先在
linux上,然后在windows上,都没有你说的问题。 呵呵。
Update: There IS a problem when running vert.x java code. Sounds like
whenever launching /windows/system32/java.exe, this app tries to read the
jre settings
configured through "Java Configuration Applet"(under control pannel). From
there, it knows which java is active. However, I failed to use this applet
to configure java to use JDK instead of jre.
On linux, /usr/bin/java is a symbolic link to the actual jre/jdk, so it ... 阅读全帖 |
|
g*****g 发帖数: 34805 | 44 貌似就是单线程的vert.x输给了多线程的NodeJX,这个比较不合理吧。都是单线程的
vert.x小胜node.js. |
|
d*******r 发帖数: 3299 | 45 vert.x 的文档看着舒服太多了,google group 里面发帖也很多。为了方便,我还是先
折腾 vert.x 去了. :) |
|
d******e 发帖数: 2265 | 46 当基于Apache许可的开源项目Vert.x的项目领导Tim Fox去年12月离开VMWare时,他希
望在今年初加入RedHat时能够继续从事该项目的开发。然而,上周二VMWare指示其律师
发送了一封信函,要求将该项目的资产(特别是GitHub项目的所有权、Google Group以
及域名)移交给VMWare。Vert.x是个跨平台、跨语言的Web服务器与事件总线,带有
JavaScript、Python、Ruby与Java API。
人家都不屑提scala, clojure.
scala肯定失败,就是下一个C++ 嘛。
clojure这种括号语言,估计也只能是小众。 |
|
|
p*****2 发帖数: 21240 | 48
vert.x到现在还不支持scala和clojure。
我估计scala上主要推akka, 跟vert.x有很大冲突呀。
clojure倒是跟reactor结合的不错。 |
|
d*******r 发帖数: 3299 | 49 简化版 SOA, 这个叫法看着很不错的样子。也就是说,啥都用 message 解藕了,然后
不同的语言写的services,互相通过vert.x 发 structured messages (e.g. JSON) 就
是了吧。
不过你也说了,它是先行者。那么推广确实是个问题.
我记得看 Tim 说了,vert.x还不能像Node一样,背后有个公司强顶他,帮他做
marketing
lightweight |
|
p*****2 发帖数: 21240 | 50
那vert.x不更没戏了吗?不过有了vert.x是不是java用akka的会减少呢? |
|