Acesta este numele de cod pentru o platformă de caching la nivel de memorie (middle-tier) distribuită pe mai multe mașini. ”Velocity” poate fi utilizat pentru a salva într-un cache distribuit orice obiect CLR sau dezvoltat de programator (doar să fie serializabil). În acest moment se afla la versiunea CTP2 (descarcă de aici), iar RTM-ul va veni undeva după mijlocul lui 2009.
”Velocity” vine într-un moment foarte bun: necesitatea de performanță în aplicațiile web crește. Dacă dorim să îmbunătățim performanța unei aplicații, de cele mai multe ori descoperim că bottleneck-ul este la nivel de data layer – pur și simplu accesul la un server de baze de date este relativ lent (oricât de mult am optimiza interogările și serverul), față de accesul la date care se află într-un middle-tier, adică în memoria RAM a unor servere web. Ca să creștem performanța la nivel de servere de baze de date, am putea să scalăm la acel nivel, dar mult mai ieftin este să scalezi la nivel de middle-tier deoarece azi RAM-ul costă foarte puțin.
Chiar dacă e CTP, ”Velocity” știe multe:
- adăugarea dinamică de mașini ca provideri de cache.
- diferite moduri de tratare a conflictelor (de ex mai multe Update-uri paralele sau în timpul unei citiri).
- performanță foarte bună.
- o aplicare excelentă a lui: provider de Session State. Față de ce avem acum (InProcess – care depinde de robustețea, setările, etc ale procesului sub care rulează aplicația web; SqlServer – care înseamnă robustețe mai mare dar performanță mai mică din cauza serializării/deserealizării), un provider realizat cu ”Velocity” sună mult mai bine.
În timpul sesiunii despre ”Velocity” am apucat să fac următoarele pe laptopul meu: descarc și instalez biții, configurez mașina, fac un mic demo de pus / scos din / în cache. Deci am putea spune că modelul de programare şi în general utilizarea lui sunt foarte simple :-).