vert.x

Vert.x是用于JVM的轻量级高性能应用程序平台

现代Web应用程序和移动客户端的兴起重新定义了Web服务器的期望。 Node.js是第一个识别范式转换并提供解决方案的技术。

应用程序平台Vert.x继承了Node.js的一些创新,并使其在JVM上可用,将新鲜的想法与最复杂,最快的运行时环境之一结合在一起。 Vert.x附带了一系列令人兴奋的功能,这些功能对于开发Web应用程序的任何人都非常有趣。

非阻塞,事件驱动的运行时

Vert.x提供了非阻塞的 , 事件驱动的运行时。 如果服务器必须执行需要等待响应的任务(例如,从数据库请求数据),则有两种方法可以实现:阻塞和非阻塞。

传统方法是同步或阻塞调用。 程序流暂停并等待答案返回。 为了能够并行处理多个请求,服务器将在不同的线程中执行每个请求。 优点是相对简单的编程模型,但缺点是如果线程数量变大,则会产生大量开销。

第二种解决方案是非阻塞调用。 调用者无需等待答案,而是继续执行,但是提供了一个回调,一旦数据到达,该回调将被执行。 这种方法需要(稍微)更复杂的编程模型,但开销却少得多。 通常,当需要并行处理大量请求时,非阻塞方法会带来更好的性能。

易于使用的并发性和可伸缩性

Vert.x应用程序由松耦合的组件组成,可以对其进行重新排列以匹配不断增长的性能要求

Vert.x应用程序是使用类似于Actor的并发模型编写的。 一个应用程序由几个独立运行的组件(即所谓的Verticles)组成。 一个Verticle运行单线程,并通过在全局事件总线上交换消息来与其他Verticles通信。

由于它们不共享状态,因此Verticles可以并行运行。 结果是编写多线程应用程序的一种易于使用的方法。 您可以创建几个负责同一任务的Verticles,并且运行时将在其中分配工作负载,这意味着您可以毫不费力地充分利用所有CPU内核。

顶点也可以分布在多台机器之间。 这对于应用程序代码是透明的。 Verticles使用相同的机制进行通信,就好像它们将在同一台计算机上运行一样。 这使得扩展应用程序变得非常容易。

Vert.x支持JVM上最流行的语言。 正在支持Scala和Clojure。

多种语言

与许多其他应用程序平台不同,Vert.x是多语言的。 应用程序可以用几种语言编写。 甚至可以在同一应用程序中使用不同的语言。 此时,可以使用Java,Python,Groovy,Ruby和JavaScript,并且即将支持Scala和Clojure。

结论

Vert.x是一个相对较年轻的平台,因此其生态系统不如更成熟的平台丰富。 但是,对于最常见的任务,有扩展可用。 Vert.x的优势令人惊讶。 它的无阻塞,事件驱动性质非常适合现代Web应用程序。 Vert.x使得编写并发应用程序变得很容易,该应用程序可以轻松地从一台低端计算机扩展到具有多个高端服务器的集群。 再加上您可以为JVM使用最流行的语言,并使Web开发人员梦想成真的事实!

参考:从Mike博客博客的JCG合作伙伴 Michael Heinrichs 选择Vert.x的3个理由 。

翻译自: https://www.javacodegeeks.com/2014/03/3-reasons-to-choose-vert-x.html

vert.x

vert.x_选择Vert.x的3个理由相关推荐

  1. java vert.x_使用Vert.x将JavaScript引入Java企业

    java vert.x 如果您是Java程序员,则很有可能您过去曾经使用JavaScript,或者在不久的将来会使用JavaScript. 它不仅是最流行(也是最有用)的编程语言之一,了解一些Java ...

  2. vert.x_使用vert.x 2.0,RxJava和mongoDB创建simpe RESTful服务

    vert.x 中断了将近半年后发表了一篇新文章. 在本文中,我们将快速了解如何开始使用vert.x,更有趣的是,如何使用RxJava简化异步系统的编程. 我们将涵盖以下主题: 使用Maven创建一个空 ...

  3. 选择Vert.x的3个理由

    Vert.x是用于JVM的轻量级高性能应用程序平台 现代Web应用程序和移动客户端的兴起重新定义了Web服务器的期望. Node.js是第一个识别范式转换并提供解决方案的技术. 应用程序平台Vert. ...

  4. keras 自定义层input_从4个方面介绍Keras和Pytorch,并给你选择其中一个学习库的理由...

    全文共3376字,预计学习时长7分钟 对许多科学家.工程师和开发人员而言,TensorFlow是他们的第一个深度学习框架. TensorFlow 1.0于2017年2月发布:但客观来说,它对用户不是非 ...

  5. 选择北大青鸟的九大理由

    选择北大青鸟的九大理由:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" / ...

  6. 戴尔服务器温度显示器,选择Dell UltraSharp 27的四大理由:有温度的科技更近人心...

    原标题:选择Dell UltraSharp 27的四大理由:有温度的科技更近人心 文/在前线 华仔 5G技术带来了新一波应用潮流,视频化将会广泛普及,而屏幕的魅力也会扩散到各行各业. 大屏一直是屏幕行 ...

  7. 为什么学习Python?选择学习Python的10个理由

    前言 为什么学习Python?选择学习Python的10个理由 Python提供了许多有用的功能特性,这些功能使其相比其他编程语言更流行也更易于学习.它支持面向对象的编程,也支持面向过程编程:我们在下 ...

  8. 放弃 PHP,选择 Node.JS 的 8 个理由!

    [CSDN 编者按]谈到 PHP 逐渐被看衰这个现象,我想起前两天看到一篇浏览器领域龙头老大的争夺战的有趣报道,报道里大致讲了几个浏览器奋发图强夺得宝座之后又不思进取,然后逐渐被超越的演化史.更往远看 ...

  9. 选择马来西亚城市大学的六大理由

    环境优势 马来西亚的气候宜人,温度常年在30度左右且政治稳定,经济繁荣,治安良好,气候温和,无自然灾害:马来西亚是英联邦国家,其英语普及与使用率很高.马来西亚绝大大多数的大学或院系采用全英文授课,同时 ...

最新文章

  1. PostgreSQL在何处处理 sql查询之四十六
  2. 福利 | 一文读懂系列文章精选集发布啦!
  3. lightingJS
  4. 【NOI1995】石子合并
  5. centos 上传jar 命令_centos上快速将一个jar使用docker部署启动
  6. BOOST_VMD_ASSERT_IS_NUMBER宏相关的测试程序
  7. 阿里P8架构师谈:Quartz调度框架详解、运用场景、与集群部署实践
  8. 逆向透视表 python_Python实现数据的透视表
  9. 春眠不觉晓,读书醒醒脑|世界读书日送书征集
  10. gmat模考_第一次完整模考总结,GmatPrep~~
  11. 阿里云服务器疑似误报异地登录?怎么查看
  12. wchar_t 和 char
  13. 金山词霸2009牛津版完整破解版+绿色精简版下载
  14. oracle19c报价_Oracle 19c下载
  15. 程序员如何转职区块链开发
  16. javaScript中什么时候用分号;
  17. 兔子繁殖问题:一对兔子从出生后第三个月开始,每月生一对小兔子。小兔子到第三个月又开始生下一代小兔子。假若兔子只生不死,一月份抱来一对刚出生的小兔子,问一年中每个月各有多少对兔子(C++)(迭代法)
  18. 2021亚太数学建模竞赛A题简要思路
  19. 2022年江西二级建造师矿业工程施工技术综合测试题及答案
  20. 彻底搞懂二进制、进制换算如此简单!十进制转化二进制,二进制转化十进制

热门文章

  1. 【动态规划】最大子矩阵之和
  2. 线段树-HDU5737-这题有点神
  3. 14、使用play搭建一个web应用用例
  4. springboot手动提交kafka offset
  5. Redis进阶之主从复制
  6. 1分钟了解“区块链分叉”的本质
  7. 漫画:什么是单例设计模式
  8. java中如何数组是如何赋值的?
  9. java实现人脸识别(使用百度云V3版本)
  10. Hibernate基本概念