首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Micronaut需要异步编程吗?

Micronaut需要异步编程吗?
EN

Stack Overflow用户
提问于 2021-02-27 14:37:20
回答 1查看 731关注 0票数 0

反应式/异步编程有一点折衷--为了提高性能,你需要牺牲更简单、更易读、更易维护的代码。

如果您计划在Micronaut REST应用程序中执行阻塞操作,在HTTP请求服务线程上执行这些操作是否被认为是可怕的做法?

如果您要增加Micronaut中的HTTP请求服务线程池的大小,使其在大小上与常规HTTP框架的线程池的大小相似,例如非反应式Spring MVC / Tomcat,您会期望Micronaut的性能特征与运行在Tomcat上的Spring MVC相似吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-01 19:10:53

反应式/异步编程有一点折衷--为了提高性能,你需要牺牲更简单、更易读、更易维护的代码。

几乎没有表演的加兰特,

或即时收益

,当转移到异步或反应式编程时。

这是对这种编程风格范例最常见的误解之一,实际上,只要以错误的方式使用,它们就会对应用程序造成更大的危害。

异步(或反应式)编程的承诺是可伸缩性,即您的应用程序将能够在峰值负载时比传统的同步(阻塞)应用程序更好地扩展。

Micronaut

在设计时考虑到了这些因素,同时允许传统编程风格与现代web应用程序构建块共存。

Wen与Wen连用

Netty,将为您的HTTP请求通过非阻塞事件循环,允许您的应用程序接受(和扩展)超出传统Servlet (2.5 ~ event 3.1,带Async请求)基于容器将允许。

然而,在使用这样的模型时,应该考虑到很多问题,并且Micronaut通过很好地调度资源(CPU)的使用来避免请求阻塞,从而从您的肩膀上承担大部分工作。其中一个常见且简单的技巧是使用@ExecuteOn当您的应用程序(或资源端点)在IO操作(网络、数据库、磁盘...)上阻塞时,注释。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66396258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档