1.vert.x简介

vert.x 采用类似 Node.js 的 eventloop callback 机制,优势是 Eventloop 是单线程场景下几乎是最快的并发解决方案,但也需要周边生态的支持,比如 DbClient/HttpClient 这些跟 IO 打交道的 API 需要支持异步回调的风格,社区干脆就整合或者自己实现了。依赖注入的类库可以用 Guice,整体启动时间大概是同规模 spring boot 工程的四分之一左右,基准内存占用少一半。

Vert.x底层通信框架依赖于Netty,并封装了对Http协议的支持,因此可以非常方便的进行Web开发,且不依赖于任何中间件。不依赖中间件,编程会变得非常灵活,定制性非常强,安全性也会得到一定层度的提高。

2.优势

  • Vert.x的第一个优势就是这是一个异步非阻塞框架
  • Vertx支持多种编程语言
  • 不依赖中间件:Vert.x的底层依赖Netty,因此在使用Vert.x构建Web项目时,不依赖中间件
  • 完善的生态
    Vert.x和Spring的对比,有一种使用MacOS和Windows对比的感觉。Vert.x和庞大的Spring家族体系不同,Vert.x提供数据库操作,Redis操作,Web客户端操作,NoSQL数据库的一些操作等常用的结构,很清新,很简洁,但足够使用
  • 为微服务而生
    Vert .x提供了各种组件来构建基于微服务的应用程序。通过EventBus可以非常容易的进行服务之间的交互。并且提供了HAZELCAST来实现分布式。

3.web服务选型

对于实现一个简单的web服务,有很多种选择,简单划为三种

  • 这是使用最多的一种,也是很多的Java开发者可能最先想到的,就是使用Java中间件来实现,只要下载一个Tomcat,再编写个web项目就可以对外提供Web服务。这种方式我们完全不需要考虑线程的交互,不需要考虑网络协议,只需要关注业务逻辑,可以说是一种全包的形式。
  • 使用Java原生的Socket或者NIO来实现,但这种方式比较复杂,对编程功底要求最高,而且自己实现很难保证性能和稳定性。这种方式完全需要手动处理,很少会使用这种方式来实现HTTPServer,可以说这是最为原始形式。
  • 介于全包和原始形式之间,就是用第三方的框架来实现,比如Vertx或者偏底层的Netty。你可以利用框架封装的API简单的创建一个HttpServer,并不需要关注底层的通信协议。这种方式更为灵活,一般来讲性能也更高,并且不依赖中间件。

4.入门教程

自己写一个Demo:

  • Vert.x Demo

系列教程:

  • Vert.x(vertx) 简明介绍
  • Vert.x创建简单的HTTP服务
  • Vert.x Web开发之路由
  • Vert.x TCP服务实现
  • Vert.x数据库访问
  • Vert.x认证和授权

一个能跑起来的例子:

  • 用惯了高大上SpringBoot不妨试试小清新Vert.x

官方各类示例代码:

  • vertx-examples
  • vertx-web-client使用示例

Vert.x(vertx)入门资料相关推荐

  1. Vertx入门学习(含代码)

    Vertx入门学习 一.Vertx是什么? 二.Vertx基本概念 三.Vertx能干什么? 四.Vertx的技术体系 五.快速体验:搭建一个简单的Vertx项目并输出Hello World 六.单元 ...

  2. 少走弯路:强烈推荐的TensorFlow快速入门资料(可下载)

    (图片付费下载自视觉中国) 作者 | 黄海广 来源 | 机器学习初学者(ID: ai-start-com) 知识更新非常快,需要一直学习才能跟上时代进步,举个例子:吴恩达老师在深度学习课上讲的Tens ...

  3. mapreduce程序输出评分8.6分以上的书名和评分_如何选编程入门资料?光评分高怎么够|文末赠书...

    说到编程入门,很多人第一想到的肯定是Python. 那么,编程零基础应当如何开始学 Python ,才不会入门即放弃?一开始的学习资料的选择尤为重要.那么,如何筛选适合自己的入门资料?这里和大家谈谈我 ...

  4. 带你少走弯路:强烈推荐的Keras快速入门资料和翻译(可下载)

    上次写了TensorFlow和PyTorch的快速入门资料,受到很多好评,读者强烈建议我再出一个keras的快速入门路线,经过翻译和搜索网上资源,我推荐4份入门资料,希望对大家有所帮助. 备注:另外两 ...

  5. 带你少走弯路:强烈推荐的Pytorch快速入门资料和翻译(可下载)

    上次写了TensorFlow的快速入门资料,受到很多好评,读者强烈建议我出一个pytorch的快速入门路线,经过翻译和搜索网上资源,我推荐3份入门资料,希望对大家有所帮助. 备注:TensorFlow ...

  6. 带你少走弯路:强烈推荐的TensorFlow快速入门资料和翻译(可下载)

    知识更新非常快,需要一直学习才能跟上时代进步,举个例子:吴恩达老师在深度学习课上讲的TensorFlow使用,这个肯定是他近几年才学的,因为谷歌开源了TensorFlow也就很短的时间. 吴恩达老师以 ...

  7. 一些NLP的入门资料参考

    本站整理了一些NLP的入门资料参考,建议初学者看看. 需要复制链接在浏览器里打开. 1.通过kaggle比赛学习机器学习文本分类方法https://zhuanlan.zhihu.com/p/34899 ...

  8. Node.js:入门资料

    <快速搭建 Node.js 开发环境以及加速 npm> http://fengmk2.com/blog/2014/03/node-env-and-faster-npm.html <N ...

  9. 循环神经网络(RNN)和LSTM初学者指南 | 入门资料

    原作 Skymind  乾明 编译  量子位 出品 | 公众号 QbitAI 最近,有一篇入门文章引发了不少关注.文章中详细介绍了循环神经网络(RNN),及其变体长短期记忆(LSTM)背后的原理. 具 ...

最新文章

  1. unity3d-----Collider 组件参考
  2. 《Adobe Premiere Pro CS5经典教程》——2.9 用Media Browser查找素材
  3. 跟我学PPStream局域网共享
  4. Knockout 监控数组对象属性
  5. 读《移山之道》的收获与疑问(阅读作业之刘明篇)
  6. BZOJ 4407 于神之怒加强版
  7. java中主函数抛出的异常怎么解决_java – 从递归函数中抛出异常
  8. [OpenGL ES 03]3D变换:模型,视图,投影与Viewport
  9. 开箱即用Bumblebee独立部署搭建webapi网关详解
  10. 高通被欧盟指控垄断 或将面临高达25亿美元罚款
  11. 关系数据库查看器应用程序-ASP.NET Core
  12. 插入递归引用Identity列的记录
  13. wpf之代码设置背景图片
  14. 人人都能玩航拍 手把手教你装4轴
  15. 手把手教你深度学习ai变证件照尺寸+改背景色
  16. 计算机原理探究第一部分教案,高中信息技术《计算机结构原理初步》教案
  17. 浙江大学计算机学院 金小刚,金小刚-虚拟现实与交互技术研究院
  18. 怎么ping IP地址,怎么ping域名
  19. 我国研究计算机的科学家,我国量子计算机研究取得重大国际突破
  20. 今日早报 每日精选12条新闻简报 每天一分钟 知晓天下事 6月21日

热门文章

  1. 环信即使通讯 php git,iOS即时通讯(三)- 环信SDK的导入
  2. php 微信小程序sdk,带你深入了解微信小程序集成环信SDK
  3. Nginx服务器安装阿里云SSL证书教程
  4. 深度学习Deep learning小白入门笔记——PanGu模型训练分析
  5. ICPC2018 北京网络赛 HihoCoder 1835 K-Dimensional Foil II (K维空间降维)
  6. mysql pager cat_Pager分页结果问题
  7. 等价无穷小的替换条件
  8. CS231n课程笔记翻译:线性分类笔记
  9. 快速查询圆通快递物流详情,并分析中转延误
  10. 《阻抗 容抗 感抗 电抗 电阻 输入电阻 输出电阻 输入阻抗 输出阻抗 阻抗匹配》