由买买提看人间百态

topics

全部话题 - 话题: vertx
1 2 3 4 5 6 下页 末页 (共6页)
p***o
发帖数: 1252
1
来自主题: Programming版 - dropwizard vs. vertx
0 缺省配置上手都很容易。
1 RESTful用dropwizard省事, vertx太多体力活。
2 多线程vertx省心,actor不用加锁。dropwizard自带deadlocks检测。
3 官方文档vertx流畅不少。
4 非官方文档都有版本太旧的问题。
两个都想用的话看起来dropwizard内置vertx比vertx内置jersey
(englishtown/vertx-jersey)简单一些。
v*****n
发帖数: 30
2
来自主题: Programming版 - 问一个vertx的问题
刚看了下vertx,对比akka我有一个问题想请教一下
我觉得akka的树形actor结构特别自然,比如写一个后端实时的sdk,可以很自然的想到
把各种blocking的工作部署到子actor上,代码虽然写的不那么漂亮,但是想法很自然
vertx这里是网状的,没有这种树形的结构,拿这种supervisor的层级管理模式要怎么
处理呢? 比如一个cluster的数据又一个actor负责,但是里面具体出来的请求那个
actor可以按需求在分配到子actor上面,这个例子下vertx代码的结构应该是啥样的呢?
先感谢下
v*****n
发帖数: 30
3
来自主题: Programming版 - 问一个vertx的问题

是说用vertx就要避免像akka一样造出金字塔,是么?
我还是不明白啊,比如我的后台runtime启动主接口,然后启动各种服务,这就是默认
树结构了,这时候怎么用vertx做啊?
还有通信,有什么pattern来控制verticles的通信呢?比如各种服务间是不需要通信的
,这时候是不是又变成树结构了?
我看有cluster,是说这时候用cluster搞么?可以cluster套cluster么?
还没自己仔细看文档,想先多了解一下vertx,麻烦啦
h********4
发帖数: 51
4
根据你的总结,可不可以理解为vertx和ejb都提供一个instance一个thread的保证,但
是vertx更侧重于异步,ejb更侧重于同步(一个request对应一个thread)?
f*****w
发帖数: 2602
5
请问那么JDBC的连接池呢 在vertx下如何才能最优化jdbc的并发?
能不能指教下我这麽做对不对
假设我有三个数据库操作 增删改。 我把每个数据库操作的模块 M(每个模块包括了
所有可能的数据库操作 ),设置成worker 。 我打算起10个thread的话,我就把M 启
动10个instance,每个instance都维持各自的一个数据库连接,并且监听同一个vertx
地址 K。 然后如果其他web service需要操作数据库的时候就发送相应的JSON object
到K。(也就是说JSON object需要能完整描述我需要做的数据操作是什么)
这样是不是听上去有点stupid? 因为本来可以调用一个函数解决的问题需要先encode
成JSON,然后在模块M里面还要理解JSON 并作相应的操作。 有没有大家已经比较常用
的更好的pattern?
p*****2
发帖数: 21240
6
来自主题: Programming版 - 感觉并发模型上go可以秒vertx
go的模型跟vertx更像一些
vertx比actor简单
z****e
发帖数: 54598
7
如果你对vert.x怎么实现并行感兴趣
看event loop这一部分以及concurrency里面有说
http://vertx.io/manual.html#event-loops
不过你可以不看
z****e
发帖数: 54598
8
vert.x其实就是object或者说是verticle层面的封装
这样你就不用像fp一样搞什么immutable了
轻松容易许多,当然你要搞也可以,只是木有必要
记住这句话
"Vert.x guarantees that a particular verticle instance is never executed by
more than one thread concurrently."
http://vertx.io/manual.html#concurrency
z****e
发帖数: 54598
9
因为现有的数据库操作会blocked
如果你不用worker的话,你整个thread会被blocked住
这样就跟tomcat什么没有区别了
所以需要用上worker,然后释放启动操作的thread
这么做目的就只有一个,释放当前线程,否则就会被blocked住
你不需要启动10个worker instance,也就是10个worker thread
因为数据库连接是有线程数量访问上限的,如果一万个thread同时启动的话
db也只能host那么有限的几个,比如设置了访问上限是100个
那么一万个就只能100个100个地访问,一定要排队
你可以在worker里面启动一个线程pool,然后设置连接池这些
目前数据库访问都不是异步的,没有那么傻瓜的做法
这么做目的就是把同步搞成异步,无它,要么就干脆不用,换nosql
但是trade off就是各种文档欠缺同时没有transaction, index这些的支持
well,也不是完全没有,但是明显会少很多,相对db而言
要么就干脆同步,同步的话写起来就很简单,怎么做就怎么写
但是同步也还是需要搞连接池这些,只不过简单很多,因为文档有很多
这么... 阅读全帖
z****e
发帖数: 54598
10
你可以用一个worker instance来维护一个connection pool
然后你自己再在worker里面维护一个thread pool,对应着connection pool
然后再将每一个发过来的msg parse后轮放到thread pool里面去处理
自己写要解决异步问题就这么麻烦,或者用其他人的mod
但是用了别人的mod,你还是会遇到文档的问题
还不如自己写,至少明白是怎么回事,parse json是必需的
因为msg里面的数据结构跟db里面的数据结构是不一样的
如果不转换的话,db无法接受json,nosql就大部分都是用json来储存数据
所以接受json,说到底这个是db的规范条条框框比较多造成的
数据结构在网络中,内存中和硬盘上都不一样,显然需要转换

vertx
object
encode
p*****2
发帖数: 21240
11
来自主题: Programming版 - 感觉并发模型上go可以秒vertx
vertx搞复杂了
v*****n
发帖数: 30
12
来自主题: Programming版 - 问一个vertx的问题

举个例子,您放过我吧
我就是问下,这种一层一层actor生成子actor的树形结构的程序,如果要用vertx写应
该怎么写?
v*****n
发帖数: 30
13
来自主题: Programming版 - 问一个vertx的问题

恩,肯定是能写,那是一定的
我想问的是,有没有一个比较通用的好的pattern来写这种程序,
1)要么是用vertx模拟akka一样写树形结构,这我就想看看大牛写的例子,学习一下具
体的pattern是什么样子
2) 要么就是用graph来写这种程序,不用树形的,这就是一种新idea来处理这种程序了
,那这种新idea又是什么?一样想学习一下
x***4
发帖数: 1815
14
来自主题: Programming版 - 用 vertx做学习project
我正在学用vertx。想做个project边学边做方便以后写简历。有什么好的项目推荐一下
S***s
发帖数: 104
15
来自主题: Programming版 - dropwizard vs. vertx
spring boot copy dropwizard, both are sync MICROservices model
if u're already familiar with spring go with spring boot
dropwizard camp has many spring haters, calling spring enterprisy
vertx is in the reactive real microservices camp, competing against AKKA,
Quasar, rxjava, https://github.com/aol/micro-server etc
f***e
发帖数: 5443
16
来自主题: Programming版 - dropwizard vs. vertx
dropwizard内置vertx的话,用 vert.x啥功能?
x***4
发帖数: 1815
17
vertx 3.5出来了。谁讲讲kotlin coroutine?
x***4
发帖数: 1815
18
vertx 3.5出来了。谁讲讲kotlin coroutine?

发帖数: 1
19
来自主题: Programming版 - Vertx dependency injection 问题
请教一下vertx 如何做dependence injections? 谢谢
s***o
发帖数: 2191
20
来自主题: Programming版 - Vertx dependency injection 问题
https://github.com/vert-x3/vertx-awesome#dependency-injection
我最近一个project是用dagger2,也是同样套路
l*******o
发帖数: 250
21
来自主题: Programming版 - vert.x就是一个小型的eai
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.... 阅读全帖
p*****2
发帖数: 21240
22
来自主题: Programming版 - 感觉是时候认真看看vert.x了
真是出师不利呀。
vertx run server.js
Failed in deploying verticle
javax.script.ScriptException: Error: Cannot find module vertx in at
line number 125 at column number 6
at jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(
NashornScriptEngine.java:586)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(
NashornScriptEngine.java:570)
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(
NashornScriptEngine.java:525)
at jdk.nashorn.api.scripting.Nashor... 阅读全帖
z****e
发帖数: 54598
23
来自主题: Programming版 - Vert.x3 says "hello" to NPM users
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... 阅读全帖
z****e
发帖数: 54598
24

给你看一下对比
当前暂没有coroutine的java的高阶函数的写法
Future.>future(f ->
vertx.eventBus().send("address1", "message", f)
).compose((msg) ->
Future.>future(f ->
vertx.eventBus().send("address2", msg.body(), f)
)
).compose((msg) ->
Future.>future(f ->
vertx.eventBus().send("address3", msg.body(), f)
)
).setHandler((res) -> {
if (res.failed()) {
//deal with exception
return;
}
//deal with the result
});
嗯,不是太好看懂,这里有几个语法糖和简写,当前没有corouti... 阅读全帖
z*******c
发帖数: 39
25
来自主题: JobHunting版 - 请教后端java框架选择:Play / Vert.x
2爷赏脸啊,我看到有个vertx俱乐部 最新的帖子都已经是16年底的了 然后看了下
github
vertx 103个contributor, play 606个, 略心寒 觉得被组里埋的vertx坑了。。。
我还写了个vertx aws client 感觉太麻烦了 然后aws sdk .115版本之后还不兼容以前
版本 实在没精力维护了 感觉vertx做起来overhead太大了
z****e
发帖数: 54598
26
来自主题: Programming版 - 各路大神推荐个linux上的组合吧

用什么都有,用tomcat因为apache口碑好,坑少,文档多
没了,就这一个,这是最理想的,一个类库做一件事
错了,spring的功能是di,主要是管理一个bean的生命周期
这样从客观上节省了内存和decoupling,其次也减少了内存泄漏的可能性
另外一个spring的主要功能是aop,这是spring两大利器
致于mvc,那个其实不重要,属于扯蛋的部分,ui的东西扯蛋居多
因为db本身的市场正在被nosql所蚕食,nosql天生就是object
所以不怎么强调orm,db因为都是relational,所以需要orm
作为trade off,orm牺牲了一部分性能,但是好处是可以比较容易滴迁移db
hibernate用上去之后,你就不在乎mysql和postgre的差别了
当然这很理想,但是至少一定程度上搞定了这个问题
类似ror
no,java的世界缤纷多彩,你看看techempower那个列表
你就可以看到,几乎一半都是jvm上的东西,你很难说某个东西一定不对
都是个人的选择嘛,grails对于groovy来说很重要,要知道
groovy可是表现最佳的脚本,这个你看vert... 阅读全帖
z*******c
发帖数: 39
27
来自主题: JobHunting版 - 请教后端java框架选择:Play / Vert.x
厚颜来板上请教大神,假设并发要求大概在10k/s 而且大量用到AWS service, 在考虑
到开发成本和实际的deliverable timeline前提下,你们会怎么选择?考古了一下
mitbbs以前的帖子 看起来不看好vertx的人不少 觉得vertx是未来趋势的也有
AWS官方的sdk都是blocking的 用vert.x就必须要用execute blocking或者用worker
verticle, 感觉都很蛋疼,然后本身vertx future的chaining我感觉也并没有非常好用
play的前后版本不兼容让我非常倒胃口,然而performance benchmark上排名靠前而且
用java没有什么学习曲线,组里本来就主要用java
公司庙小,总想着快速迭代出成果,目前感觉vertx的学习曲线让组里的人有点蛋疼
已经不知道该怎么问了,也许另辟蹊径用falcon?
无奈了。。。
h*******0
发帖数: 270
28
来自主题: JobHunting版 - 请教后端java框架选择:Play / Vert.x
用vertx和play都没错。
用worker verticle没什么毛病啊。 你要理解vertx和play的概念其实都是差不多的。
verticle其实就是actor啊。 用这种框架要考虑好业务逻辑。这样就不存在蛋疼了啊。
你的aws client就是client,和vertx没什么联系。 用vertx实现好你的业务逻辑,各
个verticle关系弄好就行。 用worker verticle来调用你的aws client。 play也是同
理。 actor本身也支持async 和sync两种。 所以用哪个都行。。
我原来公司用的是play 大约3million req/min。 所以handle10k/s不是问题。
其实你就算用spring也可以做到这个量级。 但是新的框架对于non blocking io的支持
会好些,scale方面会好些, 也会节约成本。
z*******3
发帖数: 13709
29
来自主题: Programming版 - 大牛们说说为什么我那么钟意node?
nodejs最大的优势就是傻瓜化操作
没有关系
vertx比你们更傻瓜
你说这个multi-core
vertx已经搞定了
vertx也支持js
而且报告显示vertx表现出人意料的好
远远超过nodejs
所以你看好这个的克星已经出现了
连直接无脑移植的module都快做好了
哈哈,我们一直在抄袭

threading
f*****w
发帖数: 2602
30
来自主题: Programming版 - 真有人用Vert X么?
大牛批评的是 我这就打算开始动手试试看vertx
此外还有个问题是我一开始打算用play还有个原因是需要用到akka 请问如果在vertx
里面搞进去akka的东西是不是容易? 还是用vertx自己的类库实现会好一些?
此外你另外个帖子里面提到说如果需要html支持的话会比较麻烦 我将来倒是确实有
可能需要加入HTML。但是如果到时候另外弄一个支持HTML的server, 然后只是把这个
vertx的库当作后台服务 这样会不会是个很stupid 的架构?
x***4
发帖数: 1815
31
来自主题: Programming版 - nodejs cluster和vert.x比较怎么样?
今天早上看了一下vertx。根据zhaoce的思路讲讲:
by default, 每个vertx instance (注意不是verticle)是multithread的. thread的
数目等于core的数目。 每条thread运行一个独立的event loop。
verticle instance(类似actor)被建立之后,会被assigned到其中一个event loop(
也就是一条thread)。vertx保证这一个verticle instance的code都一定会在assigned
的event loop(thread)上运行(除非你自己在verticle里开新的thread)。所以就不
存在race condition;什么synchronized, volatile, AtomicInteger之类的都可以扔
掉了。
至于jxcore的benchmark,我感觉是他只deploy了一个verticle instance,所以vertx
的几条thread中只有一条在运行,其他的都没事干,实际上变成了单线程。
这个理解对不对?

port
z****e
发帖数: 54598
32
来自主题: Programming版 - 真有人用Vert X么?
vert.x东西很少,就那点东西
文档你花个两三天估计都能全部看完
剩下的是其他项目的事
比如rxjava,你要用,要去看rxjava的文档
web service用vert.x肯定行
web socket也有,你先看看文档
http://vertx.io/core_manual_java.html
5分钟就可以看出个大概
其他语言
http://vertx.io/docs.html
hello world在主页上
http://vertx.io/
sql的支持的话,这个vert.x能做
但是其他比如node.js未必能做
因为目前绝大多数的db操作都是同步的
不是异步的,vert.x为了兼容同步,有一个worker mod
这个稍微高级一点,你需要认真看看文档
然后rxjava为基础,有一个rxjava-jdbc的项目
https://github.com/davidmoten/rxjava-jdbc
以后等它成熟了,你就可以异步访问db了
目前还是需要worker
你木有用过1我不知道怎么说呀,反正就是1和2不一样就是了
大概就这么多,你试试吧,花不了你多少时间,你把扯淡的时间拿去... 阅读全帖
z****e
发帖数: 54598
33
来自主题: Programming版 - Vert.x3 says "hello" to NPM users
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
34
来自主题: Programming版 - coroutine comes to Java - Project Loom
import io.vertx.core.Context
import kotlinx.coroutines.experimental.CoroutineDispatcher
import kotlin.coroutines.experimental.CoroutineContext
open class VertxContextDispatcher(val vertxContext: Context, val vertxThread
:Thread) : CoroutineDispatcher() {
override fun dispatch(context: CoroutineContext, block: Runnable) {
if (Thread.currentThread() !== vertxThread) vertxContext.
runOnContext { _ -> block.run() }
else block.run()
}
}
关键的一个类,确保coroutine在vertx thread上运行
3.5中这... 阅读全帖
c*****e
发帖数: 3226
35
来自主题: Java版 - 最近node.js real time web 很火
刚才看了一下vertx.io , http://vertx.io/js_web_tutorial.html, 这也叫 real time web?
建议你看看meteor or derby.
z****e
发帖数: 54598
36
来自主题: Programming版 - Python Concurrency 主流是用啥
为什么那么在意主流?
js是主流?
vert.x就可以给你搞python
import vertx
server = vertx.create_http_server()
@server.request_handler
def handle(req):
filename = "index.html" if req.uri == "/" else req.uri
req.response.send_file("webroot/" + filename)
server.listen(8080)
http://en.wikipedia.org/wiki/Vert.x
y******u
发帖数: 804
37
来自主题: Programming版 - damn, love vert.x
看了下视频,有两点框架设计上的疑惑:
(1)single thread/vertx instance 有什么好处?好的话,为何又搞了个
background thread pool在里面?
(2)interprocess 通讯:shared data 跟 event bus自相矛盾吧?直接上event bus
就好了,里面再根据是否在一个vertx instance(即同一个jvm)、是否在同一台机器
来优化就好了。这样逻辑上更统一,免得看起来又搞出个global变量出来。
d*******r
发帖数: 3299
38
来自主题: Programming版 - 真有人用Vert X么?
还需要观察,我觉得vert.x修改得太快,太频繁了。
http://vertx.io/downloads.html
https://groups.google.com/forum/#!topic/vertx/DHL9cAg4SYo
而且 vert.x 底下依赖的 hazlecast v2->v3 好像也是大 update.
d*******r
发帖数: 3299
39
来自主题: Programming版 - 真有人用Vert X么?
还需要观察,我觉得vert.x修改得太快,太频繁了。
http://vertx.io/downloads.html
https://groups.google.com/forum/#!topic/vertx/DHL9cAg4SYo
而且 vert.x 底下依赖的 hazlecast v2->v3 好像也是大 update.
z****e
发帖数: 54598
40
来自主题: Programming版 - 真有人用Vert X么?
vertx和akka的理念是接近的
或者说有一定程度的overlap
但是我觉得vert.x比akka更为开放
stackoverflow上有人回答了
http://stackoverflow.com/questions/21481238/difference-in-messa

vertx
z*******3
发帖数: 13709
41
来自主题: Programming版 - Pivotal Drops Groovy and Grails

vert.x天然就支持websocket
http,tcp,udp这些常见的网络协议vert.x都支持
还有jca, jms这些
自己翻翻manual吧,到处都是
http://vertx.io/docs/vertx-core/groovy/
WebSockets are a web technology that allows a full duplex socket-like
connection between HTTP servers and HTTP clients (typically browsers).
vert.x的api对新生事物的兼容性做得很好
各种features都围绕着新生的工具展开
下一步重点是streaming api
z****e
发帖数: 54598
42
当然可以
2时代就已经支持js了
http://vertx.io/core_manual_js.html#using-the-event-bus-from-cl


p*****2
发帖数: 21240
43
来自主题: Programming版 - go几天的一些感受
vertx限制在了jvm了
不过vertx我还没真正搞过 我觉得是我们的dev用的不太好 我觉得比akka要简单易用
当然可能没有akka成熟 毕竟新马
l**********n
发帖数: 8443
44
来自主题: Programming版 - vert.x v3发布了
vertx和node什么关系?vertx能用npm吗?
z*******3
发帖数: 13709
45
来自主题: Programming版 - node现在还行么?用的地放多不多?
java8, rxjava什么最新的api里面有一种streaming的api
这个用来搞什么real time的counting是绝佳的设计
以前只能用storm这些,现在很多都能用了
还有scalaz这些,不过估计你不太了解
rxjava是这些东东里面最简单的一个,vert.x也很简单
加上vert.x也有mail,web这些,所以用vert.x最好
http://vertx.io/docs/vertx-rx/java/
z*******3
发帖数: 13709
46
顺便说一下,vert.x已经实现了local file system的封装
http://vertx.io/docs/vertx-core/java/#_using_the_file_system_wi
一些很简单的gfs以及hdfs的功能,vert.x也能做鸟
当然还没有什么index之类的东东
z****e
发帖数: 54598
47
来自主题: Programming版 - scala看来也就这样了
go更底层一点,用go建vert.x是一个很有趣的想法,go建jvm主要难点是thread,其它
没啥,而且vertx模型塞入go都不需要改多少代码,直接做一层wrapper就好了,反正
vert.x不建议自己搞thread. vertx更偏应用些,当然也可以用在infra上,go在替代传
统上c,python这些的市场,go是互联网时代的c语言,也难怪c在往下掉

:both are good candidates for infra stacks
:both have very strong community and would have good quality wheels
z****e
发帖数: 54598
48
来自主题: Programming版 - nodejs cluster和vert.x比较怎么样?

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
49
来自主题: Programming版 - Vert.x3 says "hello" to NPM users

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就可以做了
x***4
发帖数: 1815
50
Akka 用起来确实是麻烦。但是vertx把akka里面最有用的东西抓出来了,并且用很简单
的api包装起来。我觉得vertx最后很有可能留下来。
1 2 3 4 5 6 下页 末页 (共6页)