z****e 发帖数: 54598 | 1 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/wiki/Useful-Vert.x-components-
and u will get what u really need
and forget about those stupid and cumbersome and exclusive environments like
javascript modules, dont u hate those stupid syntax? dont u want ur
favourite
programming language back?like python and ruby? and take advantage of java
libs?
that is it, vert.x is what u need and people from red hat do understand what
enterprise software is |
d*******r 发帖数: 3299 | 2 这个是 web server 吧? 跟 storm 有啥关系? storm 不是处理 real time stream
data 的框架么 |
z****e 发帖数: 54598 | 3 你看我给的链接
这个框架只是非常basic的一个东西
真正具体的实现是通过modules来实现的
你插入什么module,它就是什么东西
比如你插入了一个http & 8080 listener这样一个module
它就具备有对8080端口监听并且parse http请求的这么一个功能
如果你插入了一个streaming的一个module
它就具备有了storm的功能
如果你插入了一个spring一样的di module
它就具备有了spring的功能
如果你插入了一个jca,我的天
那么它就具备有了跟j2ee那些企业级app紧密集成的功能
总之这是一个大平台,上面随便你扩展,我目前做的是通过这个平台,做一个报表的扩展
用javafx,把javafx上那些很花哨的chart直接export成image
然后再将image变成byte array,然后再做成一个buffer,也就是vert.x可以识别的格式
然后反馈回去
我写一篇文章介绍一下这个帅得一塌糊涂的东西
完全是革命性的创造,我曾经构想过一个类似的东西
但是我觉得,red hat的tim把我想要做的都做了,我决定在这上面做贡献
不自己搞一个了
【在 d*******r 的大作中提到】 : 这个是 web server 吧? 跟 storm 有啥关系? storm 不是处理 real time stream : data 的框架么
|
z****e 发帖数: 54598 | 4 远不仅仅是web server
你了解了解
对于你们python这些来说
非常有用
【在 d*******r 的大作中提到】 : 这个是 web server 吧? 跟 storm 有啥关系? storm 不是处理 real time stream : data 的框架么
|
d*******r 发帖数: 3299 | 5 今天躺床上看这个东西 http://www.youtube.com/watch?v=8ClYUo_A3h0
本来想睡午觉的,尼玛看着看着就精神起来了,确实牛B啊。
他是每个thread里有eventloop做异步的东西,让你不用关心locks,
multithreading, distributed multiprocessing 都给你做好了。
你就写些 functions 和 messages 就干完事情了。而且 tcp/udp/http 啥的,都可以
用。
看了下例子,非常简洁!而且为了你还能使用一些阻塞的模块,给你了一个可以放在后
台运行的 backgroud threading的东西。真是够贴心的!
之前一直在纠结 python 的 gevent/twisted/tornado/generator 啥的... 要不干脆上
这个试试。
非常感谢!你推介这个确实是好东西!
就是现在 community 大不大? 我比较恶俗,不想搞小众的东西,因为那样没人帮你排
雷,没人讨论问题。
我看了 wikipedia,是 2011 年出来的。还比较新。
总之,这个要是能变成一个流行的 light-weighted 的JVM系的框架,还是很爽的。
【在 z****e 的大作中提到】 : 你看我给的链接 : 这个框架只是非常basic的一个东西 : 真正具体的实现是通过modules来实现的 : 你插入什么module,它就是什么东西 : 比如你插入了一个http & 8080 listener这样一个module : 它就具备有对8080端口监听并且parse http请求的这么一个功能 : 如果你插入了一个streaming的一个module : 它就具备有了storm的功能 : 如果你插入了一个spring一样的di module : 它就具备有了spring的功能
|
z*******3 发帖数: 13709 | 6 我下下来,跑起来就三分钟
这个玩意运行java就是把java当脚本来弄
告诉它java文件在哪里,它会自动编译并加载
当然其他脚本一定是这个模式
社区问题不大,java+js+python+ruby这几个凑在一起简直是可怕
不过有一点要说清楚
这个东西用了特定的脚本引擎
比如jruby和jython还有rhino,所以python一些特别新的版本features支持会稍慢
就比如现在cpython版本是3.4,但是jython的版本是2.7beta,也就是今年不出意外的话
支持可以弄到2.7,jython就是那个用了王垠的东西的那个引擎//王某人的贡献总算大
了点
所以不要写太新的代码,要看看jython的进展
不过这个估计不是太大问题,因为本来python2和3就有冲突,估计你们还在用2
性能没啥问题,大了还不会不响应,这点比node强
相比之下js和jruby支持更好点,jruby版本是1.7,而ruby版本是2.1现在
然后event bus用了内存数据库,which is mongodb
也不是很生僻的东西,所以支持应该还好
扩展的话,java可以直接down下jars来放到lib文件夹里面
就可以直接用,不知道其它语言能不能直接call那些jar里面的方法
但是如果不行的话,自己写一个java module做包装就好,不过我估计是可以
不确定,还没试过,还有就是module现在也有不少
所以直接down modules也可以扩展
【在 d*******r 的大作中提到】 : 今天躺床上看这个东西 http://www.youtube.com/watch?v=8ClYUo_A3h0 : 本来想睡午觉的,尼玛看着看着就精神起来了,确实牛B啊。 : 他是每个thread里有eventloop做异步的东西,让你不用关心locks, : multithreading, distributed multiprocessing 都给你做好了。 : 你就写些 functions 和 messages 就干完事情了。而且 tcp/udp/http 啥的,都可以 : 用。 : 看了下例子,非常简洁!而且为了你还能使用一些阻塞的模块,给你了一个可以放在后 : 台运行的 backgroud threading的东西。真是够贴心的! : 之前一直在纠结 python 的 gevent/twisted/tornado/generator 啥的... 要不干脆上 : 这个试试。
|
c********l 发帖数: 8138 | 7 我目前做的是通过这个平台,做一个报表的扩展
用javafx,把javafx上那些很花哨的chart直接export成image
然后再将image变成byte array,然后再做成一个buffer,也就是vert.x可以识别的格式
然后反馈回去
我问一个问题,别见笑啊:
这玩意用java servlet里面调用javafx的包再转成bytearray直接写一个也能实现
干嘛还需要大动干戈自己另写一个框架?
【在 z****e 的大作中提到】 : 你看我给的链接 : 这个框架只是非常basic的一个东西 : 真正具体的实现是通过modules来实现的 : 你插入什么module,它就是什么东西 : 比如你插入了一个http & 8080 listener这样一个module : 它就具备有对8080端口监听并且parse http请求的这么一个功能 : 如果你插入了一个streaming的一个module : 它就具备有了storm的功能 : 如果你插入了一个spring一样的di module : 它就具备有了spring的功能
|
z*******3 发帖数: 13709 | 8 你是对的,我把这个方案作为plan b
但是我之所以选择vert.x
一个是因为tomcat太大,开发效率偏低
做一个servlet要各种倒腾没有必要
另外一个就是想尝试一下新产品和新的模式
还有一个就是现有的系统接口全部都是restful ws
显然,tomcat不太fit in,vert.x不需要加任何东西就可以parse json
也就是做一个ws很容易,所以就这个了
格式
【在 c********l 的大作中提到】 : 我目前做的是通过这个平台,做一个报表的扩展 : 用javafx,把javafx上那些很花哨的chart直接export成image : 然后再将image变成byte array,然后再做成一个buffer,也就是vert.x可以识别的格式 : 然后反馈回去 : 我问一个问题,别见笑啊: : 这玩意用java servlet里面调用javafx的包再转成bytearray直接写一个也能实现 : 干嘛还需要大动干戈自己另写一个框架?
|
d*******r 发帖数: 3299 | 9 "然后event bus用了内存数据库,which is mongodb"
这个怎么讲?就是 vert.x 是要依赖 mongodb 的了?我怎么没在他们网站上看出来呢
?求链接
我其实就在用 mongodb, 不过大家一直说 mongodb 不稳定,我用着还挺小心的。
的话
【在 z*******3 的大作中提到】 : 我下下来,跑起来就三分钟 : 这个玩意运行java就是把java当脚本来弄 : 告诉它java文件在哪里,它会自动编译并加载 : 当然其他脚本一定是这个模式 : 社区问题不大,java+js+python+ruby这几个凑在一起简直是可怕 : 不过有一点要说清楚 : 这个东西用了特定的脚本引擎 : 比如jruby和jython还有rhino,所以python一些特别新的版本features支持会稍慢 : 就比如现在cpython版本是3.4,但是jython的版本是2.7beta,也就是今年不出意外的话 : 支持可以弄到2.7,jython就是那个用了王垠的东西的那个引擎//王某人的贡献总算大
|
d*******r 发帖数: 3299 | 10 真要用这个干活的话,我可能就不用 jython 了,jython 不能用原来python好多的lib
吧,那些lib好多都是C写的。
不过可以用 jython 入手学习 vert.x, 正式上项目的时候先试着用 groovy 看看。
的话
【在 z*******3 的大作中提到】 : 我下下来,跑起来就三分钟 : 这个玩意运行java就是把java当脚本来弄 : 告诉它java文件在哪里,它会自动编译并加载 : 当然其他脚本一定是这个模式 : 社区问题不大,java+js+python+ruby这几个凑在一起简直是可怕 : 不过有一点要说清楚 : 这个东西用了特定的脚本引擎 : 比如jruby和jython还有rhino,所以python一些特别新的版本features支持会稍慢 : 就比如现在cpython版本是3.4,但是jython的版本是2.7beta,也就是今年不出意外的话 : 支持可以弄到2.7,jython就是那个用了王垠的东西的那个引擎//王某人的贡献总算大
|
|
|
z****e 发帖数: 54598 | 11 u r probably right
just run several cases
no need mongodb
【在 d*******r 的大作中提到】 : "然后event bus用了内存数据库,which is mongodb" : 这个怎么讲?就是 vert.x 是要依赖 mongodb 的了?我怎么没在他们网站上看出来呢 : ?求链接 : 我其实就在用 mongodb, 不过大家一直说 mongodb 不稳定,我用着还挺小心的。 : : 的话
|
y******u 发帖数: 804 | 12 可以在cluster 多机器上跑event bus的话,Kafka、storm之流是不是也要个屁了? |
z****e 发帖数: 54598 | 13 it is possible
【在 y******u 的大作中提到】 : 可以在cluster 多机器上跑event bus的话,Kafka、storm之流是不是也要个屁了?
|
y******u 发帖数: 804 | 14 看了下视频,有两点框架设计上的疑惑:
(1)single thread/vertx instance 有什么好处?好的话,为何又搞了个
background thread pool在里面?
(2)interprocess 通讯:shared data 跟 event bus自相矛盾吧?直接上event bus
就好了,里面再根据是否在一个vertx instance(即同一个jvm)、是否在同一台机器
来优化就好了。这样逻辑上更统一,免得看起来又搞出个global变量出来。 |
z****e 发帖数: 54598 | 15
because some job are naturally blocked
there is no async mechanism for them
like query database by using jdbc
bus
event bus only use message which is purely a string
u could use share data like map and set
【在 y******u 的大作中提到】 : 看了下视频,有两点框架设计上的疑惑: : (1)single thread/vertx instance 有什么好处?好的话,为何又搞了个 : background thread pool在里面? : (2)interprocess 通讯:shared data 跟 event bus自相矛盾吧?直接上event bus : 就好了,里面再根据是否在一个vertx instance(即同一个jvm)、是否在同一台机器 : 来优化就好了。这样逻辑上更统一,免得看起来又搞出个global变量出来。
|
z****e 发帖数: 54598 | 16 u may need to use event but to notify another vertical
and then use share data to pass in the data |
z****e 发帖数: 54598 | 17 vert.x不是single thread
可以根据cpu的core自动运行相应数量的event thread
然后对于一些非block不可的部分
启动worker thread予以处理
但是你写代码还是按照single thread那种方式去写
single thread其实就是伪多线程
一个主线程挂着一堆伪主线程在跑
这个写过ui的话,应该很清楚了
大部分gui都是single thread |