Vert.x 是一个多语言 Web 框架,它支持 Java,Kotlin,Scala,Ruby 和 Javascript 支持的语言之间的共同功能。无论语言如何,Vert.x 都在 Java 虚拟机(JVM)上运行。模块化和轻量级,它面向微服务开发。
如果你开发的是一个高并发的系统,那我建议 Vert.X 是优先之选。
Vert.X 强的地方在于它的方法论。多处理器、高并发的需求,多数人都知道是要处理好同步、资源竞争、线程调度的问题。少部分人意识到异步是解决高并发的良好方案,但依然不够解决问题。只有在 Akka/Actor 这类方案出来之后,异步 IO 框架才逐渐认识到解决同步、资源竞争、线程调度的最好方法就是让它干脆不要出现。而在所有这类方案中,Vert.X 是决心最大动作最彻底的。别的方案主要是基本核心等其他人扩充,Vert.X 几乎是全家桶。
举个例子,拿 Vert.X 和异步高并发界的知名前辈 Nginx 比较:Nginx 大思路主要采用单线程模型,但是在会话秘钥等方面还是会需要内存共享。所以 Nginx 提供了专门的函数来处理共享内存,以及严禁复杂内存对象的共享。假如你在上面做研发,有些需求就没法实现。Vert.X 则是从解决这个问题的思路就开始了重构,不是怎么去做内存共享,而是怎么让这个内存对象的访问都集中到同一线程,让内存共享的问题根本不出现。所以出现类似的情况,极少有需求用 Vert.X 不能实现,多半都是你没按照它的思路来理解问题。
Vert.X 的另外一个优点是,它没有象以前的 NIO 框架那样整出一套与常规编程逻辑大不相同的规范,它着力构造的是系统本身的运作方式,但尽量少干扰应用的编写。也就是说程序员需要学习的主要是解题思路,而不是解题写法。
作者:海叔
链接:https://www.zhihu.com/question/277219881/answer/1026585089
来源:知乎
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。