13397158231   jevian_ma@worldflying.cn

java的轻量级高并发web框架vert.x介绍

2019-06-11 00:09:39

小沃的开发很少使用java因为我一直觉得java的spring框架太重了,以前使用php或是使用nodejs做开发时,也是很少使用第三方框架。之前有用过go语言开发中间件,当时也是保持同样的态度,只使用原生框架。

但是,在小沃的客户中,依旧有很多希望使用java开发,原因就在于java的历史性很强,语言本身的bug少,会这门语言的人也多。因此小沃也一直在寻找一个轻量级高并发的java web框架。最近小沃总算是找到了。一个叫做vert.x的框架进入了小沃的视线。

这个框架的特点与之前的nodejs,go一样,都是异步IO。因此在高并发的情况下,性能很好。据说是主流的java web server------tomcat的5倍呢。

Vert.x是一个异步无阻塞的网络框架,其参照物是node.js。基本上node.js能干的事情,Vert.x都能干。Vert.x利用Netty4的EventLoop来做单线程的事件循环,所以跑在Vert.x上的业务不能做CPU密集型的运算,这样会导致整个线程被阻塞。

vertx通过事件循环(EventLoop)来调起存储在异步任务队列(CallBackQueue)中的任务,大大降低了传统阻塞模型中线程对于操作系统的开销。因此相比较传统的阻塞模型,异步模型能够很大层度的提高系统的并发量。


当然,由于是java语言,实际上也是可以开线程的。Vert.x除了异步之外,还提供了非常多的吸引人的技术,比如EventBus,通过EventBus可以非常简单的实现分布式消息,进而为分布式系统调用,微服务奠定基础。除此之外,还提供了对多种客户端的支持,比如Redis,RabbitMQ,Kafka等等。


不依赖中间件(小沃最喜欢的一点)

Vert.x的底层依赖Netty,因此在使用Vert.x构建Web项目时,不依赖中间件。像Node一样,可以直接创建一个HttServer。就像我们上面第一个例子,可以直接运行main方法,启动一个Http服务,而不需要使用类似于Tomcat的中间件。不依赖中间件进行开发,相对会更灵活一些,安全性也会更高一些。


完善的生态

Vert.x和Spring的对比,有一种使用MacOS和Windows对比的感觉。Vert.x和庞大的Spring家族体系不同,Vert.x提供数据库操作,Redis操作,Web客户端操作,NoSQL数据库的一些操作等常用的结构,很清新,很简洁,但足够使用。


最后,如果有客户想要用java开发产品,也可以联系小沃哦。


文章作者:沃航科技





优秀产品推荐:可编程网络IO控制器

上一篇:nodejs写入mysql单次数据量过大的解决方法

下一篇:php返回301跳转

联系我们

  • 地址:武汉市东湖高新开发区光谷总部国际1栋2412室
  • QQ:932773931
  • 电话:027-59761089-806
  • 手机:13397158231
  • 邮箱:jevian_ma@worldflying.cn

关注公众号

扫码添加微信

沃航(武汉)科技有限公司版权所有

备案号:鄂ICP备16014230号-1

本网站由提供CDN加速/云存储服务