java使用vert处理异步操作。十、
我使用vert编写了Java web服务。x、 我想我遗漏了一些关于infra如何工作的事情
我部署了一个verticle,我们称之为HttpVerticle。内部有一个路由(router.post("/dowork").handler(new MyHandler())
)
MyHandler正在执行非常快速的预处理操作,然后向事件总线发送消息
还有第二个verticle Workerticle,它是在部署HttpVerticle时部署的,它使用事件总线获取来自MyHandler的消息。这里有一段代码可能很长(等待REST api调用/DB write/S3 write等),完成后,我只需将message.reply()
返回给MyHandler
当我尝试处理大约150个并发请求时,看起来不错,但当我尝试处理200个或更多请求时,我开始超时。 我增加了HttpVerticle的实例数量,这很有帮助
我不明白的是为什么? HttpVerticle的线程基本上什么都不做,只是向总线写入数据,所以它应该能够响应1000个请求,不是吗
我的第二个问题是,如果我的处理模式->;写入总线->;Verticle consume from bus是正确的,因为我看到了第二种模式,即只使用处理程序,而不使用事件总线
共 (0) 个答案