这是这一篇指导的结尾,让咱们花一点时间来归纳前面重点的部分,而后总结能够进一步提高的资源。java
概要react
咱们在guide的开篇用vert.x编写了一个wiki应用,第一次写的是一个典型的“快速与愚蠢的原型”,只是用来快速和简单地展现服务端渲染页面,还有一个关系型数据库。git
接下来咱们尝试如何改善咱们的设计:第一步咱们分离了不一样功能的verticle,接着抽取不一样的Vert.x service简洁 API,最后介绍了Junit 测试异步代码。github
咱们用web客户端API集成了第三方 HTTP/JSON 服务,进一步简化了 Vert.x core 中 HTTP client 的使用,反之,咱们也看到怎么用 Vert.x web 模块优雅地提供 HTTP/JSON web APIs 。web
能够从拓展,提供不一样的API给不一样的服务,若是你创建这样的gateways,咱们建议你利用如下几点:数据库
1.Vert.x RxJava支持描服务消费数据流。编程
2.Vert.x circuit-breaker模块持续监测服务潜在的错误。promise
访问控制、认证和安全每每被忽视,常会致使一个很差后果,咱们看到Vert.X利用数据库,提供了一个简单的认证机制。文件或LDAP目录SSL网络加密等对服务器的配置比较简单的,或者客户端使用。最后 Vert.x 支持 JWT tokens,一个很是有用的和分权的Web API认证方案。浏览器
Vert.x core API依赖callbacks是处理异步事件的最通用的方法,vert.x提供简单的 promise / future API。Vert.x中futures是组合的,在处理verticle的部署和初始化的使用是有限的。咱们能够看看在 vert.x 中如何使用RxJava,鼓励使用它在你的verticles中,由于RxJava是JVM上比较流行的响应式编程库,由于你能够轻松地集成第三方库。安全
现代Web应用程序每每服务器提供HTTP / JSON API,依赖客户端的web 框架处理接口,咱们能够看到用AngularJS来优化咱们的wiki应用。
最后,咱们看到使用SockJS bridge能够优雅地拓展event bus到web应用能够从浏览器发送和接受消息。虽然它可能看起来像是一个小的特性,实践证实大大简化实时Web应用功能的开发。SockJS bridge实际上能够用一个HTTP端点发送消息,而后从event bus获得一个响应事件有时会比HTTP调用,处理一个HTTP请求简单,转发到event bus上的verticle,最终返回一个JSON响应。
Going further
Vert.x 网站是比较权威的,这里有一下特性和模块是在guide中没有覆盖的:
1.使用Hazelcast, Infinispan, Apache Ignite 或 Apache Zookeeper构建集群
2.使用其余支持的语言
3.使用 HTTP/2,可能gRPC
4.使用NoSQL数据库,好比 MongoDB 或者 Redis
5.发送邮件 SMTP
6.使用消息中间件AMQP, Stomp, Kafka, MQTT or RabbitMQ
7.OAuth2认证
8.Vert.x异步编写的阻塞式代码在运行时装换成非阻塞代码
9.注册和发布微服务,好比在OpenShift的集群环境部署实例
10.指标和健康检查
这个列表并不详尽:Vert.x是一个工具集,你能够选择你须要的集成进去,或大或小。你也会发现浏览 Vert.x awesome,看到许多项目支持外的其余功能。若是你部署微服务,咱们建议你阅读“Building Reactive Microservices in Java"book by Clément Escoffier
咱们但愿你喜欢这篇教程,但愿你对Vert.x异步编程的旅程是有用的。请与做者联系,或直接经过电子邮件或经过vert.x项目的用户组。固然,咱们感谢赞美,感谢那么多有建设性的反馈意见,能够改善这一内容。
Thank you very much!
Version 1.1.0
Last updated 2017-10-19 14:01:10 CEST
原文连接:http://vertx.io/docs/guide-for-java-devs/
个人微信公众号: