这是这一篇指导的结尾,让我们花一点时间来概括前面重点的部分,然后总结可以进一步提升的资源。
概要
我们在guide的开篇用vert.x编写了一个wiki应用,第一次写的是一个典型的“快速与愚蠢的原型”,只是用来快速和简单地展示服务端渲染页面,还有一个关系型数据库。
接下来我们尝试如何改善我们的设计:第一步我们分离了不同功能的verticle,接着抽取不同的Vert.x service简洁 API,最后介绍了Junit 测试异步代码。
我们用web客户端API集成了第三方 HTTP/JSON 服务,进一步简化了 Vert.x core 中 HTTP client 的使用,反之,我们也看到怎么用 Vert.x web 模块优雅地提供 HTTP/JSON web APIs 。
可以从拓展,提供不同的API给不同的服务,如果你建立这样的gateways,我们建议你利用以下几点:
1.Vert.x RxJava支持描服务消费数据流。
2.Vert.x circuit-breaker模块持续监测服务潜在的错误。
访问控制、认证和安全往往被忽视,常会导致一个不好后果,我们看到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
That’s all folks!
我们希望你喜欢这篇教程,希望你对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/

我的微信公众号:
