Tracks belülről áramlási

Mi a beágyazott MVC? Hogyan kap ugyanazon projekt három Node backend szerver, php-fpm és az IIS? Tudok egy zenei szolgáltatás a laptop? És általában ez működik tracksflow.com benne?

Tracks belülről áramlási


A tracksflow.com a projekt megkezdése feladat az volt, hogy egy zenei szolgáltatás, amely:

Abban az időben a fejlesztés megkezdése volt:

A döntések vettünk elején

Mivel a tervezett néhány ügyfelek és a helyszínen kerül sor formájában egy webes alkalmazás, akkor szigorúan külön adatbázisban (modell) reprezentációk.

Szét a modell bemutatását fogja használni az API REST formátumban - platform független technológia, amely könnyen alkalmazható az összes kliensen.

Adatformátum - JSON. Itt vannak a heves vita az iOS csapat, de nyers erővel kényszerítette őket, hogy működjenek együtt JSON - így kényelmes többség.

Egyértelmű volt, hogy a munka több harmadik féltől származó szolgáltatások hozza a munkaterületre és iOS priozheniya eleme esély -, akkor soha nem lehet biztos, hogy valami rád és vissza fog térni, ha vissza, mikor. Arra is kíváncsiak voltunk, hogy egyetlen adat formátum minden harmadik felek által nyújtott szolgáltatások. Ekkor született meg az ötlet, hogy használni node.js mint egy könnyű MVC-vezérlő aszinkron kölcsönhatásba az API harmadik fél szolgáltatások, így futólag eredményezi a kívánt formában.

Másfelől, az összes kliens alkalmazások .NET MVC-t alkalmaztunk belső mintázat. Itt van egy matryoshka MVC :)

Továbbá, azt találtuk, hogy használja node.js az latilag proxyzza kéréseket saját backend .NET nem túl kényelmes - node egyértelműen felesleges kapcsolat, és mi ennek a munkának az elmentett küldött kérések az ügyfelek és a .Net backend „közvetlenül” via nginx.
Igen, az összes kérés át nginks sisakot. Ez ment meg minket a fáradságot krosdomennymi kérelmek bezárja backend-szerver közvetlen hozzáférést. nginx azt is lehetővé teszi, ha valami előre nem látható kérések átirányítására egy másik szerelvény / szerver.

Mi van írva?

A háttér van írva ASP.NET MVC 3. A munka a korábbi projektek egy csomó horosho .NET MVC 3 bizonyult egy jó oldala - REST API egyszerű és szép. Az adatbázis eléréséhez használ Entity Framework 4.2 béta.

Mobil (iOS) alkalmazás írt natív erők newonder jelenti. Az alkalmazás tartalmaz egy csomó érdekes elem: a navigációs menü, csepp ellop; ellop táblázat sejtek; migrációs rendszer adatmodellek. Az alkalmazás már az AppStore.

Az ügyfél része a honlap végre vmkcom segítségével MVC szálak alkalmazásával backbone.js + underscore.js. Routing alapul, és használja pushState történelem API böngészők, ahol támogatott, mások - hashtags.
Művét a DOM megfelel a jó öreg jQuery.
Az érdekes funkciók:

  • általunk használt HTML5 / Flash / SilverLight játékos mediaelement.js, amely automatikusan felismeri a támogatott böngésző vagy kodek és elindítja a megfelelő plug-in a lejátszás
  • Használt egy csomó socket.io a node.js küldeni push-értesítéseket az új események.

Összesen mind a 4 mag szolgáltatás 340 GB-os merevlemezzel, 8 GB memória: tracksflow.com lehet biztonságosan futni a laptop :)

Kapcsolódó cikkek