İşler dağıtma - Masters için çalışan köleler

1 Cevap php

Ben üzerinde çalışıyorum yeni bir proje için bir birincil sunucu (master) ve birkaç iş istasyonları (köle) ile merkezi bir bilgi işlem ortamı kurmak gerekir.

Master diferent aralıklarla ve son kullanma tarihleri, örnek ile iş emirlerinin çeşitli alacaksınız:

NAME        INTERVAL        EXPIRATION        OPERATIONS
Job A       5 m             9 d               2592
Job B       15 m            30 d              2880
Job C       30 m            90 d              4320
Job D       10 m            50 d              7200
Job E       10 m            20 d              2880
Job F       10 m            10 d              1440

Köleler bir API arabirimi üzerinden ve onlar sunucuya SQLite saklanır ilgili verileri göndermek bitmiş ve yeni bir iş istemek kez işlemek için yeni iş talep edecektir.

Ne kölelere işleri hizmet için en iyi seçenek olacaktır: ancak ben ana sunucu ile küçük bir sorunla karşı karşıya kulüpler, köleler bölümü ile zor bir şey gördün mü? Ben aşağıdaki seçeneklerden olsa ettik:

  1. Ön hesaplamak ve işler idam edilecek zaman veritabanına kez ekleyin.
  2. Mantık çeşit (MOD operatör burada olası bir çözümdür) ile dinamik olarak her işi hizmet?
  3. Rasgele işleri hizmet vermektedir.

Ben operasyonların sayısının (son / aralık) tarafından şarj ediyorum çünkü bu son seçenek gerçekten bir seçenek değildir ve ben onlar başkaları için ödeme olsaydı benim müşteri çok mutlu olmaz düşünüyorum söylemek için iyi bir şey olabilir .

Ben bunu nasıl sizin düşüncelerinizi duymak istiyorum.

1 Cevap

Sen bunu işlemek için zaman zaman köle bir iş istemek için izin vererek koymak yoluyla-daha iyi olacaktır.

Ana işleri dağıtır, bazı kölelerin, diğerleri aşırı ise hiçbir şey yapmadan bekliyor olabilir.

Ayrıca köle bir süre içinde bir cevap dönmezse, yine bir iş kullanılabilir hale getirmek için bazı işlevler eklemek gerekir.