2016-04-24 67 views
10

我有3个Web服务器。 DB,WebWorker。这名工人整天都在处理sidekiq流程。Digital Ocean上的自动缩放工作人员

当队列超过100.000个作业时,我想要第二个工作者实例,并且正确思考如何做到这一点。 (如果队列超过300.000,我需要3名工作人员,等等)。

  • 我拿我的Worker并做一个快照。
  • Via Digital-Ocean :: API我将基于该图像创建一个新实例。
  • 只要实例启动需要更新从针对Git库的代码
  • 我需要告诉它允许尽快从这种情况下接收连接IP

  • 数据库服务器队列低于20.000我可以杀死我的实例。

这是正确的做法还是有更好的方法如何做?我错过了什么吗?

另一个问题:

DB我只有MySQL和Redis的。没有红宝石或其他任何东西。所以也没有轨道运行。如果我的worker决定创建另一个工作人员,则新人需要访问mysql。从远程机器创建一些访问似乎是不可能的,它看起来需要从数据库服务器创建访问。

mysql> show grants; 
+-----------------------------------------------------------------------------------------+ 
| Grants for [email protected]               | 
+-----------------------------------------------------------------------------------------+ 
| 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 

回答

0

Digital Ocean,Linode ...有经典的VPS,只有“手动自动调节”。

你的想法很差,你需要云。

相关问题