Bina CMS mimarisi - değil merkezi veya

2 Cevap php

Ben özel bir sunucu var ve benim müşteriler için benim kişisel PHP5 CMS yeni sürümü kurmak için ihtiyacı var. I açık kaynak kullanarak düşünmelisiniz olmadığını soruları bir kenara bırakırsak, ben CMS mimarisi ilgili olarak görüşler gerekiyor.

Birinci yaklaşım (sunucu tamamen benim kontrolünde olduğundan) tek yönetim panelinden birden fazla siteyi destekleyen merkezi bir sistem oluşturmaktır. Temel fikir, süper kullanıcı olarak log-in yeni site (teknik olarak yeni web kök ve yeni bir veritabanı oluşturur, ve belki bazı başka şeyler) oluşturmak, modülleri atamak ve plug-ins belirli bir müşteri için ya da yenilerini geliştirmek mümkün olduğumu eğer gerekli. Bu panelde ise müşteri log-in, o / o görür ve sadece kendi site içeriğini yönetebilirsiniz.

Ben böyle bir sistem (bu özel yapı idi) gördük, bu hata düzeltmeleri ve yeni özellikler çok güzel ayrıca diğer sunucu barındırma olabilir her CMS yama gerek kalmadan anında tüm müşterileri etkiler ...

Ben görebiliyorum olumsuz yönü ölçeklenebilirlik - i ikinci bir sunucu eklemek gerekir eğer, nasıl tek çekirdek korumak için onları birleştirmek ne.

Ikinci klasik olan - stand-alone CMS her müşteri için.

Neden ne şekilde gidecek ve?

Zaman ayırdığınız için teşekkür ederiz.

2 Cevap

Tüm müşteriler için tek bir merkezi sisteme sahip olsaydı, ölçeklenebilirlik daha kolay hale gelebilir. Sen büyük bir veritabanı sunucusu ve (muhtemelen bir yük dengeleyici arkasında) birkaç özdeş web sunucuları olabilir, ve bu şekilde farklı sunucuları içine müşterileri kadar bölünmesi hakkında endişelenmenize gerek yok. Sizin kaynaklar toplanmış böylece bir müşteri trafiği yoğun olan bir gün varsa oldukça dizlerinin bir sunucu (ve diğer tüm müşterilerimizin sitelerini) getirerek daha, birkaç sunucuları tarafından alınabilir.

Siz, yük dengeleme yapılandırmasına 'yapışkan oturumları' kullanarak veya (örneğin veritabanı) tüm sunucuların veri yerde erişilebilir depolamak için PHP alarak ya da birden fazla sunucu üzerinde çalışmak için PHP oturumları alabilirsiniz.

Bir kod tabanına senkronize web uygulama dosyalarını tutmak çok zor olmamalı, size yardım etmek için kullanabilirsiniz rsync gibi araçları vardır.

Gerçekten siteleri türlerine bağlıdır. O dedi, ben birden fazla yüklemeleri yönetmek için sürüm kontrol yazılımı kullanmayı düşünün öneririm. Uygulamada, bu size merkezi bir yaklaşım ile aynı verebilir, ama bu size sitelere tek bir (veya bir dizi) güncellemesi erteleme özgürlük verir.