2010-09-15 13 views
6

Günde 1 milyon saat kazanılan bir web sitemiz var.Yüksek hacimli bir web sitesi (Java) için en iyi ölçeklenebilir modern mimari hangisi? (Java)

Site, ölçeklenebilirlik için gerçek bir kapsamı olmayan eski bir mimariden (Struts Tomcat Hibenate MySQl) çalışmaktadır.

Artık daha da genişliyoruz, modern (çok fazla kanamayan kenar) web mimarisi arıyorum.

İlk düşüncelerim Google App Engine'i kullanmaktı. Ancak, bunun yeterince açık olduğundan emin değilim.

Geliştiricilerimiz hepsi birer Java, bu yüzden kolayca alabilecekleri bir şey olması gerekiyor.

İdeal Onu nasıl Biliyorsanız vb

Digg, Twitter, Amazon gibi aynı şekilde çalıştırmak istiyorum - ya da ben çok merak duyarım bir önerim var.

+1

"En iyi" özel tanımınız nedir? –

+0

Aradığım şey olarak, 'en iyi' kodlama, çalıştırma ve bakım için en kolay yol olabilir - elbette bunun da ölçeklenebilir olması şartıyla. – Dan

cevap

2

Tasarımda pişirilen büyük darboğazlar olmadıkça, donanım neredeyse her zaman ölçeklendirmenin en iyi yolu olacaktır. Mevcut kurulum sorun yaşıyor gibi 'en iyi' demek

  • ucuz
  • hızlı
  • iyi performans artışı
  • garantili sonuçlar ile

geliyor? Ne tür problemleriniz olduğuna dair herhangi bir bilgi verebilir misiniz?

Düzenleme: Mevcut donanım ayarlarınız hakkında bilgi verir misiniz? Kaç tane web sunucusu (muhtemelen Apache'yi çalıştırıyor?), Kaç tane uygulama sunucusu, kaç tane DB sunucusu var?

+0

Sistem yavaşlıyor ve zaman aşımları da bazen işlem sorunumuz var. – Dan

+0

2 web sunucumuz ve bir DB sunucumuz var. – Dan

+0

@Dan Sunucularınızın örneğin CPU, disk ve bellek için ne kadar çalıştığını ölçüyor musunuz? – Qwerky

0

Uygulamamı yeniden yazmadan önce "ölçeklenebilirlik için gerçek bir kapsam yok" olasılığını tüketirim. Bu, yalnızca daha fazla donanım ve kümelenme sorunuyla yatay olarak ölçekleyebileceğiniz anlamına gelebilir.

Google App Engine, Hibernate ve MySQL yerine JPA anlamına gelecektir, çünkü BigTable'ı arka tarafta kullandıklarına inanıyorum.

+0

Düşünceyi takdir edin - sistem oldukça dağınık ve bu noktada bir yeniden yazmaya ihtiyacımız var - sadece doğru yola indiğimizden emin olmak istiyoruz. Yeniden yazmak yerine – Dan

+0

refactor ... –

0

Terracotta ile ucuz bir şekilde kümelenme elde edebilirsiniz. Bir yeniden yazımın için


: Java EE 6. zaten mevcut olanı Bunu güzel ihtiyaçlarınıza uygun bulabilir göz at. Glassfish 3.1, yeniden yazılmadan önce kümelenmeyi destekleyecektir.

+0

Terracotta'yı gördüm ama bütün bir web yığınını arıyorum. Bu nereye sığar? - Servlet altında mı demek istiyorsun? – Dan

+1

Daha fazla makineye şeffaf bir şekilde ölçekleme. Bir göz atın ... –

0

Bir ekibi veya daha da iyisi, ölçeklenebilir çözümler oluşturma konusunda deneyimi olan bir şirketi işe alın. İş analistlerinde mevcut geliştiricileri tanıtın ve iş mantığıyla ölçeklenebilir çözüm uzmanlarına yardımcı olun.

+1

Bu gerçekten gerekli mi? Elbette deneyimli geliştiricilerden oluşan bir ekip, doğru yönde işaret ettikleri varsayımıyla başa çıkabilmelidir. – Dan

İlgili konular