Openfire, Tomcat6 ve MySQL yığını kullanarak bir sohbet uygulamasına sahibim.
Şu anda tüm bu sunucuları tek bir Linux mikro-örneğine (613 MB bellek) kurdum.
10-20 seviyesindeki düşük kullanıcı seviyesinde bile CPU yükü ile karşılaşıyorum ki burada oldukça açık.
Amazon EC2’de yeniyim, birisi bana mimarlığımı trafik kullanımına göre nasıl büyüteceğimi önerebilir mi?
En azından bir m1.small veya daha iyi bir m1.large Instance kullanırdım.
Mikro-örnek gerçekten sadece geliştirme içindir, çünkü 613MB yakında sıfır kullanıcılarla bile yeterli olmayabilir. Bunun yanı sıra, çok fazla CPU çalma süresi göreceksiniz ve Sunucunuz küçük bir işlemci zirvesinden sonra bir süre tepki vermeyecektir. Bu çok sinir bozucu.
Bütün yığının mysql-db dışındaki her durumda çalışmasını sağlamaya çalışırdım.
RDS'ye bir göz atın! Yüksek bir avalailability mysql master-slave infrastrucure ayarlamaya gerek yok!
Öngörülemeyen CPU gaz kelebeği nedeniyle üretim için mikro örnekleri kullanmayın. Her şeyi tek bir örnekte çalıştırmak daha ekonomiktir, ancak büyümeyi ve ölçeklemeyi planlıyorsanız, uygulamanızı birkaç örnekte tasarlamanız ve geliştirmeniz daha iyidir.
Uzun vadede, uygulama sunucusunu veritabanından ayırmak, her bir katmanın maksimum esneklik ve ölçeklenebilirliğini sağlamak için tercih edilecektir. RDS şu an için iyi bir seçenektir, ancak bunun tek bir örnekle sınırlı olduğunu unutmayın; en büyük örneğin kapasitesinin ötesinde beklenmedik bir trafik dalgalanması varsa, kesinti yaşanabilir ve ardından kurulum yapmanız gerekir. karmaşık olan ek örneklerle kümeleme. EC2'de başka bir seçenek Xeround'un bulut veritabanı servisiRDS'den farklıdır, çünkü ek üretime uyum sağlamak için ek örneklere otomatik olarak ölçeklenebilir ve kümelenmeyi otomatik olarak işleyebilir. Uygulama sunucusuna gelince, Amazon ile otomatik olarak ölçeklendirebilirsiniz. CloudWatch özellik.