在大多数 Web 应用程序中,应用程序都构建在 vertx 中,我已经看到人们在单个微服务中创建了两个 verticles。
- 一种是用于处理 HTTP 请求的 rest verticle。
- 另一种是通过dao verticle 与数据库进行通信。
每当有任何 api 请求时,HTTP verticle 通过事件总线与 dao verticle 进行通信。
但是考虑到顶点是单线程的,在这里创建两个不同的顶点有什么好处。事件总线上的通信会产生不必要的开销,而我只能创建一个处理 rest 和 i/o 的 Verticle。
我可以理解在阻塞调用的情况下有一个单独的工人 Verticle 的情况。但是在非阻塞的情况下,i/o调用的用例是什么呢?