ile hataya dayanıklı, yumuşak, gerçek zamanlı bir web uygulaması oluşturma Bir pizza dağıtım mağazası için hataya dayanıklı, yumuşak, gerçek zamanlı bir web uygulaması oluşturmak istiyorum. Pizza dükkanında müşteriden gelen telefon görüşmelerini kabul etmeli, bunları sisteme (CRM web istemcisi üzerinden) emir vermeli ve dağıtım memurlarının emirlere teslimat sürücüleri tahsis etmesine yardım etmelidir.Erlang/OTP
Bu hedefler olağandışı bir şey değildir, ancak hizmeti 7/24 kullanıma sunmak, yani hataya dayanıklı hale getirmek istiyorum. Dahası, çok hızlı çalışmak ve çok duyarlı olmak istiyorum.
Böyle bir uygulama için çok basit bir mimari görünüm aşağıdadır.
sorun
Başvuru çok duyarlı ve hataya dayanıklı hale getirmek için Erlang/OTP iyilik her kullanmayı biliyor kalmamasıdır.İşte sorularım şunlardır:
hata toleransını sağlamak ve bunu nasıl yapmalıyım sırayla çoğaltılmış olmalıdır sistem elemanları- ? Her aracın durumunu (koordinatlar, atanan siparişler, vb.) Çoğaltılan bir Mnesia veritabanında depolayabileceğimi biliyorum. Bu gitmek için doğru bir yol mu?
- Hangi veri depolama hizmetleri geleneksel SQL tabanlı (ör. boss_db temelli) olmalıdır ve çok hızlı yanıt sağlamak için Mnesia üzerinde yapılması gerekenler hangileridir? Müşteri kayıtlarını ve geçmişini böyle bir hataya dayanıklı ve yüksek oranda yanıt veren bir uygulamada saklamak için geleneksel bir SQL veritabanı kullanmak doğru mu?
- Uygulamayı son derece uyumlu hale getirmek için tüm verileri (müşteriler, taşıt durumu, vb.) RAM'deki tüm verileri depolamaya çalışmalı mıyım?
- Kalıcı araç verilerini (id, kapasite vb.) Geleneksel bir SQL veritabanında saklamalı ve gerçek zamanlı verileri (koordinatlar, atanmış siparişler, bagajdaki siparişler vb.) Bir Mnesia veritabanında saklamalıyım. Uygulama daha gerçek zamanlı tepki veriyor?
Tüm uygulama mantığınızı ve verilerinizi çoğaltamazsanız, örneğin 7 gün 24 saat hizmetinizi nasıl gerçekleştirirsiniz? Bir veritabanı sunucusu hatası;) –
Mantıkla uğraşan 2+ düğüme sahip bir Erlang/OTP sisteminde verilerin nasıl kopyalanacağı konusunda bir referans verebilir misiniz? – skanatek
süreç grubu, herkese gönderme, uyuşmazlık çözümü veya sadece riak/couchdb kullanın. Ya da mnesia'ya bakarsın. Ama bunu kendi başına yapmak gerçekten çok zor bir iş olacaktır. –