简单点讲,就是只要是JVM上的主流语言,都可以直接编写基于Vert.x的应用.目前官方推出的有java, Javascript, Groovy, Ruby,和Ceylon
这里的简单意味着你编写的代码是完全基于异步事件的,类似Node.JS,与此同时.你不需要关注线程上的同步,与锁之类的概念,所有的程序都是异步执行并且通信是无阻塞的
因为基于Actor模型,所以你的程序都是一个点一个点的单独在跑,一群点可以组成一个服务,某个点都是可以水平扩展,动态替换,这样你的程序,基本就可以达到无限制的水平扩展
此并发并非JDK库的并发,当你Coding的时候,不再关注其锁,同步块,死锁之类的概念,你就可以随性所欲的写自己的业务逻辑.Vert.x本身内置三种线程池帮你处理
Vert.x本身内置强大的模块管理机制,当你写完一个Vert.x业务逻辑的时候,你可以将其打包成module,然后部署到基于Maven的仓库里,与现有主流的开发过程无缝结合.so easy…
Vert.x基于分布式Bus消息机制实现其Actor模型,简单点讲每个Vert.x实例都可以与其他节点内置的通信接口,底层上实现框架内部的消息同步与传输,类似Erlang的ping pong自检消息.而我们的业务逻辑如果依赖其他Actor则通过Bus简单的讲消息发送出去就可以了
支持WebSocket协议兼容SockJS
目前Vert.x的异步模型已支持TCP、UDP、FileSystem、DNS、EventBus、Sockjs等
经典的多线程编程模型能满足很多Web开发场景,但随着移动互联网并发连接数的猛增,多线程并发控制模型性能难以扩展,同时要想控制好并发锁需要较高的技巧,目前Reactor异步编程模型开始跑马圈地,而Vert.x就是这种异步无锁编程的一个首选
Vert.x归入Eclipse基金会门下,异步驱动已经支持了Postgres、MySQL、MongoDB、Redis等常用组件,并且有若干Vert.x在生产环境中的应用案例