为同一个微服务设置两个单独的控制器是否是一种好方法



我有一个基于 Spring 启动的微服务,目前正在从移动应用程序中受到攻击。现在,我们正在为同一微服务开发一个基于浏览器的客户端。移动应用程序和浏览器之间的请求和响应参数是相同的。手机APP的用户数量约为每秒10000,浏览器的用户数量约为每秒20000。因此,此微服务每秒将有超过 30000 次点击。

我们知道"Spring 控制器是单例(每个 Web 应用程序每个控制器只有一个实例("。

同一微服务设置两个单独的控制器(一个用于移动应用程序用户,另一个用于浏览器用户(是否是一种好方法(就性能而言(? 它会通过并行运行两个实例来提高微服务性能吗?

我正在寻找通过两个渠道处理越来越多的点击量的最佳方法?

任何建议将不胜感激。

当您具有相同的请求和响应时,检索到浏览器和移动客户端,则创建两个差异控制器或服务是没有意义的。使用一个控制器即可完成工作,让您的应用保持简单。这样,您的服务只会以相同的方式查看移动和 Web 客户端。

每当应用程序必须处理的负载增加时,您就可以使用路由、负载均衡器服务(如 zuul、nginx(进行水平扩展。只需根据需要处理的负载扩展/缩减负载均衡器后面的实例即可。

相关内容

最新更新