Play! framework při zátěži
Jak identifikovat nadměrné zatížení aplikace napsané v Play! frameworku a jak se aplikace při přetížení chová? Podívejme se na to prakticky při zátěžovém testu jednoduché aplikace.
Jak identifikovat nadměrné zatížení aplikace napsané v Play! frameworku a jak se aplikace při přetížení chová? Podívejme se na to prakticky při zátěžovém testu jednoduché aplikace.
Play! framework se chlubí vysokou škálovatelností, za kterou vděčí implementaci poolu obslužných vláken. Aby bylo možné nasadit framework s klidným svědomím i na produkci, je potřeba mj. hlouběji proniknout právě do použití thread poolů a jejich konfigurace.
Představte si situaci, kdy musí vaše webová aplikace při obsluze požadavků od klientů volat nějakou webovou službu. Pokud se z toho nemůžete vyvléct cachováním nebo jiným úhybným manévrem, tak se mnou jistě budete souhlasit, že je to vyhlídka neradostná.
V druhé části miniseriálu o realtime streamování dat v Play! frameworku se podíváme blíže na adaptování (transformace) dat a iteratees si demonstrujeme na jednoduchém příkladu streamování textu.
Iteratee je immutable abstrakcí pro konzumenta dat, který iteruje přes skupiny dat za použití neblokujícího asynchronního přístupu. V tomto článku se podíváme blíže na zoubek konzumentům a producentům dat v Play! frameworku, v druhém navazujícím článku si potom představíme možnosti adaptování a filtrování dat a iteratees si demonstrujeme prakticky na jednoduchém příkladu streamování textu.
Zapojil jsem se do online kurzu MongoDB, který pořádají přímo jeho autoři z 10gen. Aktuálně je kurz ve svém třetím týdnu (ze sedmi) takže už k němu mám pár postřehů.
Pravidelné středeční technologické setkání v Et neteře, zvané TechDay, bylo tentokrát věnováno představení frameworku Play! ve verzi 2.x. Karel Čížek nás seznámil se základními vlastnostmi tohoto frameworku pro webové aplikace psané v Javě nebo ve Scale. Následně jsme diskutovali o možnostech produkčního využití frameworku.
Když zavítáme na web Play! Frameworku do očí nás hned udeří celá kanonáda buzzwordů: MVC web framework, lightweight, stateless, web-friendly, minimal resource consumption, highly-scalable, reactive, Iteratee IO, for Scala and Java. Co to všechno znamená a proč právě tyto vlastnosti potřebujeme, vysvětlím na následujících řádcích.