我有一个Web应用程序,有2层:WordPress作为前端,MySQL作为后端。
前端使用Helm chart部署,但后端使用Operator部署。
由于我的网络应用程序收到了大量的流量,我想实现远程Pod自动化(HPA)。
我的问题:我在哪里可以定义HPA:在前端部分(即:wordpress level)?在后端部分(即:MySQL级别)?还是两个都有
谢谢您的帮助!
我有一个Web应用程序,有2层:WordPress作为前端,MySQL作为后端。
前端使用Helm chart部署,但后端使用Operator部署。
由于我的网络应用程序收到了大量的流量,我想实现远程Pod自动化(HPA)。
我的问题:我在哪里可以定义HPA:在前端部分(即:wordpress level)?在后端部分(即:MySQL级别)?还是两个都有
谢谢您的帮助!
2条答案
按热度按时间nx7onnlm1#
您可能无法在数据库上有效地设置HPA。MySQL和PostgreSQL通常是单个节点,或者如果它们有多个节点,它们以主动/备用模式运行,因此添加节点不一定会增加容量。(即使是集群数据库,也可以有practical problems with setting up HPA around scale-in。
您可以在应用程序中设置HPA。了解应用程序的限制因素实际上是什么是很有帮助的:如果你发送了足够多的负载,它开始变慢或失败的请求,它是缺乏CPU时间,内存不足,还是在等待数据库?这将影响你想在HPA上设置什么参数。
一种现实的情况是,您的应用程序执行一些数据库查询,这需要花费大量时间,然后非常快地将数据呈现为HTML或JSON。在这种情况下,很难利用HPA:单节点数据库很难扩展,即使你扩展了应用程序pod,你仍然会被数据库查询阻塞。
v6ylcynt2#
尽管大多数人不建议在MySQL或Postgres上进行扩展,但在阅读数据方面,仍然可以在这些数据上进行扩展:你看,如果你从数据库中选择,你可以在一个数据源上执行多个操作(即,几个程序可以同时读取.txt文件,但当它们决定同时写入时,事情就变得复杂了)。