springboot—如何使用同步springboot应用程序每小时处理100万个请求

vmdwslir  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(236)

上下文
我有一个场景——我需要公开一个rest端点并提供一个post方法,fronend将使用该方法来接收表单值(名称、电子邮件、地址)。有了这些细节,我需要ti调用第三方api(最多需要10秒的响应时间)。
此外,我需要将处理后的应用程序和响应存储在db中的某个位置,以便跟踪以进行监视。
问题
我的rest端点应该能够每小时处理1m请求。
第三方api(可能需要10秒的响应时间-我知道这相当多,但我们无法控制它)。
表单数据和响应需要保存在db中
我知道应用程序的性能在很大程度上取决于硬件和服务器。
所以,将服务器视为tomcat,我们可以每秒处理200个请求(默认线程数)。因此,我们可能需要提供少量此类服务。1个tomcat每秒可以处理200个请求,要在第一个小时内处理1m个请求,我们需要每秒处理1000000/(60*60)=278个请求。每一个请求可能需要10秒钟才能收到响应。假设我们有一个强大的硬件,为tomcat配置了278个线程。我们需要至少10-11台这样的服务器(POD)才能处理此卷。
现在,我设计了一个这样的架构图-

在方法或工具方面,设计是否有任何缺失或改进?
感谢您的帮助:)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题