Preskočite na sadržaj

VII. Povezivanje na vrata

Note

Sadržaj u nastavku je prijevod stranice VII. Port binding na web sjedištu The Twelve-Factor App.

VII. Povezivanje na vrata

Izvezite usluge putem povezivanja na vrata

Web aplikacije se ponekad izvode unutar spremnika web poslužitelja. Na primjer, PHP aplikacije mogu se izvoditi kao modul unutar Apache HTTPD ili se Java aplikacije mogu izvoditi unutar Tomcata.

Dvanaestofaktorska aplikacija je potpuno samostalna i ne oslanja se na ubacivanje web poslužitelja tijekom izvođenja u okruženje izvršenja za stvaranje usluge usmjerene na web. Web aplikacija izvozi HTTP kao uslugu povezujući se na vrata i slušanjem zahtjeva koji dolaze na ta vrata.

U lokalnom razvojnom okruženju, razvojni programer posjećuje URL usluge kao što je http://localhost:5000/ kako bi pristupio usluzi koju izvozi njihova aplikacija. U implementaciji, sloj usmjeravanja obrađuje zahtjeve za usmjeravanje od javnog imena domaćina do web procesa povezanog na vrata.

To se obično implementira korištenjem deklaracije zavisnosti za dodavanje biblioteke web poslužitelja u aplikaciju, kao što su Tornado za Python, Thin za Ruby ili Jetty za Javu i druge jezike temeljene na JVM-u. To se u potpunosti događa u korisničkom prostoru, odnosno unutar kôda aplikacije. Ugovor s okruženjem za izvršavanje je povezivanje na vrata za posluživanje zahtjeva.

HTTP nije jedina usluga koja se može izvesti korištenjem povezivanja na vrata. Gotovo svaka vrsta poslužiteljskog softvera može se pokrenuti putem procesa koji se povezuje na vrata i čeka dolazne zahtjeve. Primjeri uključuju ejabberd (priča XMPP) i Redis (priča Redis protokol).

Također imajte na umu da pristup povezivanjem na vrata znači da jedna aplikacija može postati potporna usluga za drugu aplikaciju, pružanjem URL-a potporne aplikacije kao ručke resursa u konfiguraciji za aplikaciju koja je koristi.

Author: Adam Wiggins