2016-04-24 66 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,只有「手動自動調節」。

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

相關問題