我有3个Web服务器.DB,Web和Worker.工人整天都在处理sidekiq流程.
一旦队列超过100,000个工作岗位,我想拥有第二个工人实例,并且我正在努力思考如何做到这一点.(如果队列超过300.000,我需要3名工人,一次又一次).
Worker拍了拍快照.我需要告诉数据库服务器允许它从这个实例IP接收连接
一旦队列低于20.000,我就可以杀死我的实例.
这是正确的做法还是有更好的方法?我错过了什么吗?
附加问题:
在DB我只有MySQL和Redis的.没有红宝石或其他任何东西.所以也没有铁轨运行.如果我worker决定创建另一个worker,那么新的worker需要访问mysql.似乎无法从远程计算机创建一些访问权限,它看起来我需要从数据库服务器创建访问权限.
mysql> show grants;
+-----------------------------------------------------------------------------------------+
| Grants for rails@162.243.10.147 |
+-----------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'rails'@'162.243.10.147' IDENTIFIED BY PASSWORD <secret> |
| GRANT ALL PRIVILEGES ON `followrado`.* TO 'rails'@'162.243.10.147' |
+-----------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> CREATE USER 'rails'@'162.243.243.127' IDENTIFIED BY 'swag';
ERROR 1227 (42000): Access denied; you need (at least one of) the CREATE USER privilege(s) for this operation
Run Code Online (Sandbox Code Playgroud)
小智 0
这是正确的做法还是有更好的做法?我错过了什么吗?
是的 - 似乎合理
一旦队列低于 20.000,我就可以终止我的实例。
也许让它徘徊一段时间然后再杀死它,以防队列再次上升
在数据库上我只有 mysql 和 redis。没有红宝石或其他任何东西。所以也没有铁轨可以运行。如果我的工作人员决定创建另一个工作人员,则新工作人员需要有权访问 mysql。似乎不可能从远程计算机创建一些访问,看起来我需要从数据库服务器创建访问。
是的,您需要从数据库服务器创建访问权限 - 一般来说,访问权限被授予整个 VPC cidr,而不仅仅是单个服务器 IP [静态实例时更常见] - 特别是如果您计划启动具有不断变化的 IP 的动态实例
| 归档时间: |
|
| 查看次数: |
183 次 |
| 最近记录: |