Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

Hasonló dokumentumok
Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 2. rész: Architektúrák

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 7. rész: Konzisztencia & replikáció

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Osztott alkalmazások fejlesztési technológiái Áttekintés

Számítógépes Hálózatok 2012

Web-fejlesztés NGM_IN002_1

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 3. rész: Folyamatok

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

webalkalmazások fejlesztése elosztott alapon

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) (RFC 821/822) Domain Name System

Alapfogalmak, WWW, HTTP

SOAP komponensek Delphiben

CMDB architektúra megjelenítése SAMU-val Rugalmas megoldás. ITSMF Bekk Nándor Magyar Telekom / IT szolgáltatás menedzsment központ

Bevezető. Servlet alapgondolatok

JAVA webes alkalmazások

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

DSD DSD. Egy országos méretű orvosi adatbázissal kapcsolatos informatikai kihívások. Kovács László Pataki Balázs Pataki Máté MTA SZTAKI DSD

Flash és PHP kommunikáció. Web Konferencia 2007 Ferencz Tamás Jasmin Media Group Kft

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 1. rész: Bevezetés

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A Java EE 5 plattform

Hálózatok építése és üzemeltetése

WCF, Entity Framework, ASP.NET, WPF 1. WCF service-t (adatbázissal Entity Framework) 2. ASP.NET kliens 3. WPF kliens

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 1. rész: Bevezetés

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Számítógépes Hálózatok ősz 2006

Organizáció. Számítógépes Hálózatok ősz Tartalom. Vizsga. Web-oldal

KÉPZÉS NEVE: Informatikai statisztikus és gazdasági tervezı TANTÁRGY CÍME: Számítógép hálózatok. Készítette:

Webapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Crawler.NET: Komponensalapú elosztott keretrendszer a web bejárására

NAGY TELJESÍTM. Szerzők Dévai. István Automatizálási. és s Alkalmazott Informatikai Tanszék

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Szolgáltatás Orientált Architektúra és több felhasználós adatbázis használata OKF keretein belül. Beke Dániel

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

NIIF Központi Elosztott Szolgáltatói Platform

S04-2 Elosztott alkalmazások készítése

Névfeloldás hosts, nsswitch, DNS

Windows hálózati adminisztráció

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Elosztott rendszerek. Az elıadás. Az elosztott rendszer definíciója. Köztesrétegként felépülı elosztott rendszer

Symfony kurzus 2014/2015 I. félév. Controller, Routing

Webszolgáltatások (WS)

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

SIP. Jelzés a telefóniában. Session Initiation Protocol

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 6. rész: Szinkronizáció

Web programoz as

Alkalmazások II. World Wide Web

Komponens modellek. 3. Előadás (első fele)

Everything Over Ethernet

Windows hálózati adminisztráció

Organizáció. Számítógépes Hálózatok Gyakorlati jegy. Vizsga. Web-oldal

Microsoft SQL Server telepítése

Multimédiás adatbázisok

MVC. Model View Controller

Enabling Grids for E-sciencE. EGEE köztesréteg. Adat szolgáltatások a glite-ban. INFSO-RI

Web Services. (webszolgáltatások): egy osztott alkalmazásfejlesztési plattform

Ustream.tv Bepillantás egy közösségi élővideo site működésébe

A JAVA FUTTATÁSAKOR ELŐFORDULÓ HIBA-

Kommunikáció. 3. előadás

Félreértések elkerülése érdekében kérdezze meg rendszergazdáját, üzemeltetőjét!

Intelligens Érzékelők

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

VoIP (Voice over IP)

11. Gyakorlat: Certificate Authority (CA), FTP site-ok

Adatbányászat és Perszonalizáció architektúra

SQL Server High Availability. Bevezetés az SQL Server magas rendelkezésre állási megoldásaiba

Széchenyi István Egyetem

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms. 4. rész: Kommunikáció

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Ethernet/IP címzés - gyakorlat

The Power To Develop. i Develop

Konfiguráljuk be a TCP/IP protokolt a szerveren: LOAD INETCFG A menüpontokból válasszuk ki a Proctcols menüpontot:

vezeték nélküli Turi János Mérnök tanácsadó Cisco Systems Magyarország Kft.

JSF alkalmazások teljesítményhangolása JMeter és dynatrace segítségével

Web-fejlesztés NGM_IN002_1

I. sz. 220 körül Origenész összeállítja Hexapla címen az Ószövetség hat különbözı fordítását

Transzport Réteg. Transzport réteg protokollok

Windows hálózati adminisztráció

Informatika 10. évf.

9. Gyakorlat: Network Load Balancing (NLB)

A First Businesspost Sender Cockpit használata

BackupPC. Az /etc/hosts fájlba betehetjük a hosztokat, ha nem a tejles (fqdn, DNS név) névvel hivatkozunk rájuk: # /etc/hosts #

GIS fejlesztés Web platformra nyílt forráskódú ingyenes eszközökkel

Cisco Catalyst 3500XL switch segédlet

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Webszolgáltatások kommunikációs overhead-jének becslése

OCSP Stapling. Az SSL kapcsolatok sebességének növelése Apache, IIS és NginX szerverek esetén 1(10)

MVC Java EE Java EE Kliensek JavaBeanek Java EE komponensek Web-alkalmazások Fejlesztői környezet. Java Web technológiák

A jövő Internetje. HTE Közgyűlés május 20. Dr. Szabó Róbert, e. docens.

A T-Online Adatpark és Dataplex hálózati megoldásai

Novell ZENworks Configuration Management. Néhrer János konzultáns Novell PSH Kft.

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Hello World Servlet. Készítsünk egy szervletet, amellyel összeadhatunk két számot, és meghívásakor üdvözlőszöveget ír a konzolra.

Átírás:

Elosztott rendszerek: Alapelvek és paradigmák Distributed Systems: Principles and Paradigms Maarten van Steen 1 Kitlei Róbert 2 1 VU Amsterdam, Dept. Computer Science 2 ELTE Informatikai Kar 12. rész: Elosztott webalapú rendszerek 2015. május 24.

Tartalomjegyzék Fejezet 01: Bevezetés 02: Architektúrák 03: Folyamatok 04: Kommunikáció 05: Elnevezési rendszerek 06: Szinkronizáció 07: Konzisztencia & replikáció 08: Hibatűrés 10: Objektumalapú elosztott rendszerek 11: Elosztott fájlrendszerek 12: Elosztott webalapú rendszerek Maarten van Steen, Kitlei Róbert Elosztott rendszerek 2 / 17

Elosztott webalapú rendszerek A WWW (világháló, World Wide ) olyan szerverek összessége, amelyek HTTP protokollon keresztül különféle tartalmakat szolgálnak ki. A dokumentumokat hiperhivatkozások kapcsolják össze. Sok dokumentum szövegalapú: szövegfájl, HTML, XML Egyéb fajták: képek, audio, videó, dokumentum (PDF, PS) A tartalmak lehetnek a kliensoldalon végrehajthatóak (Javascript) Jelenleg kb. 1 milliárd weboldal létezik, amelyek közül kevesebb mint 200 millió aktív; egy felmérés szerint a szerverek népszerűsége: Apache (40%), IIS (29%), nginx (15%), egyéb (16%). machine Browser OS 1. Get document request (HTTP) Server machine 3. Response 2. Server fetches document from local file Maarten van Steen, Kitlei Róbert Elosztott rendszerek 3 / 17

Többrétegű architektúrák Már a kezdeti kiszolgálók is gyakran három rétegbe tagozódtak. 3. Start process to fetch document 1. Get request 6. Return result HTTP request handler CGI program 4. Database interaction 5. HTML document created CGI process Database Maarten van Steen, Kitlei Róbert Elosztott rendszerek 4 / 17

szolgáltatások Felmerült az is, hogy a felhasználó weboldal interakció mellett az oldalak is igénybe vehetnek szolgáltatásokat más oldalakról fontos, hogy a szolgáltatások szabványosak legyenek. Look up a service machine application Server machine Server application Publish service Stub Stub Communication subsystem Generate stub from WSDL description SOAP Communication subsystem Generate stub from WSDL description Service Service Service description description description (WSDL) (WSDL) (WSDL) Directory service (UDDI) Maarten van Steen, Kitlei Róbert Elosztott rendszerek 5 / 17

szerverek A szerver szerkezetét a tartalmak kiszolgálásának menete szabja meg. A szerverekbe beépülő modulok telepíthetők, amelyek a kiszolgálás egyes fázisaiban aktivizálódnak. Module Module Function Module......... Hook Hook Hook Hook Link between function and hook Functions called per hook Apache core Request Response Maarten van Steen, Kitlei Róbert Elosztott rendszerek 6 / 17

Szerverfürtök A teljesítmény és a rendelkezésre állás növelésének érdekében a szerverek sokszor (a felhasználó számára átlátszó módon) többszörözve vannak. Request Front end Response LAN Front end handles all incoming requests and outgoing responses A kapcsolattartó (front end) szűk keresztmetszetté válhat, ennek elkerülésére több lehetőség van. TCP átadás: Valamilyen metrika alapján kiválasztunk egy szervert, és a kliens kiszolgálását az a szerver folytatja. Tartalomérzékeny kéréselosztás (content aware distribution): Lásd következő oldal. Maarten van Steen, Kitlei Róbert Elosztott rendszerek 7 / 17

Szerverfürtök Tartalomérzékeny kéréselosztás (content aware distribution): A HTTP kérés tartalmát is figyelembe vesszük a szerver kiválasztásánál. Ez megnöveli a kapcsolattartó terhelését, de sok előnye van: segítségével hatékonyabb lehet a szerveroldali cache-elés, és lehetnek bizonyos feladatokra dedikált szervereink. 6. Server responses 5. Forward other messages Distributor 3. Hand of TCP connection f Other messages Setup request Switch 1. Pass setup request to a distributor 4. Inform switch Distributor Dispatcher 2. Dispatcher selects Maarten van Steen, Kitlei Róbert Elosztott rendszerek 8 / 17

helyettes A kimenő kapcsolatok kezelésére webhelyetteseket (web proxy) telepíthetünk. Ezek cache-elik a kiszolgált tartalmakat; csak akkor fordulnak a szerverekhez, ha sem náluk, sem a többi helyettesnél nincsen meg a kért tartalom. 1. Look in local cache 3. Forward request to Cache proxy 2. Ask neighboring proxy caches proxy Cache HTTP Get request proxy Cache Maarten van Steen, Kitlei Róbert Elosztott rendszerek 9 / 17

Replikáció webkiszolgálókban A replikáció célja a teljesítmény növelése. A rendszer paraméterei (hová célszerű a replikátumokat elhelyezni, konzisztencia megkövetelt erőssége, kérések útvonalválasztása) változóak lehetnek, ezeket célszerű önszabályozással beállítani. Uncontrollable parameters (disturbance / noise) Initial configuration Corrections hosting system Observed output +/- +/- +/- Replica placement Consistency enforcement Request routing Reference input Metric estimation Adjustment triggers Analysis Measured output Maarten van Steen, Kitlei Róbert Elosztott rendszerek 10 / 17

12.1 Architektúra 12.2 Folyamatok 12.6 Konzisztencia és replikáció Hirtelen terhelés A terhelés néha ugrásszeru en megemelkedik (flash crowd, flash mob), ezt még akkor sem könnyu kezelni, ha az ero forráskezelés dinamikus. 2 days (a) 2 days (b) 6 days (c) 2.5 days (d) Maarten van Steen, Kitlei Róbert Elosztott rendszerek 11 / 17

Szerveroldali replikáció A tartalomkézbesítő hálózatok (Content Delivery Network, CDN) nagy teljesítményű és rendelkezésre állású elosztott rendszerek, amelyeknek célja dokumentumok hatékony kiszolgálása. Cache CDN 6. Get embedded documents (if not already cached) Return IP address client-best CDN DNS 5. Get embedded documents 4 DNS lookups 3 7. Embedded documents 1. Get base document 2. Document with refs to embedded documents Origin Regular DNS system Maarten van Steen, Kitlei Róbert Elosztott rendszerek 12 / 17

Replikáció webalkalmazásokban Ha a CDN tárolt adataiban változás következik be, ez először az eredetszerveren jelenik meg. A változásokat el kell juttatni a CDN szerverekhez; ennek a célszerű módja a rendszer jellegétől függ. Teljes replikáció: sok olvasás, kevés írás, összetett lekérdezések Részleges replikáció: sok olv., kevés írás, egyszerű lekérdezések Tartalom szerinti gyorsítótárazás: Az adatbázist az edge szerver módosított, a lekérdezésekhez illeszkedő alakban tárolja helyben, és feliratkozik a szerveren a frissítésekre. Jól működik intervallumokra vonatkozó, összetett lekérdezésekre. Eredmények gyorsítótárazása: Az edge szerver a korábbi lekérdezések eredményeit tárolja el. Jól működik egyszerű lekérdezésekre, amelyek egyedi adatokra (nem intervallumokra) vonatkoznak. Ha az írások számaránya megnő, akkor a replikáció akár ronthatja is a rendszer teljesítményét. Maarten van Steen, Kitlei Róbert Elosztott rendszerek 13 / 17

Replikáció webalkalmazásokban: nincsen replikáció Edge- side Origin- side query response Appl logic Appl logic Content-blind cache Database copy full/partial data replication Content-aware cache Schema full schema replication/ query templates Schema Authoritative database Maarten van Steen, Kitlei Róbert Elosztott rendszerek 14 / 17

alk. replikációja: részleges/teljes replikáció Edge- side Origin- side query response Appl logic Appl logic Content-blind cache Database copy full/partial data replication Content-aware cache Schema full schema replication/ query templates Schema Authoritative database Maarten van Steen, Kitlei Róbert Elosztott rendszerek 15 / 17

alk. replikációja: tartalom szerinti gyorsítótárazás Edge- side Origin- side query response Appl logic Appl logic Content-blind cache Database copy full/partial data replication Content-aware cache Schema full schema replication/ query templates Schema Authoritative database Maarten van Steen, Kitlei Róbert Elosztott rendszerek 16 / 17

alk. replikációja: eredmények gyorsítótárazása Edge- side Origin- side query response Appl logic Appl logic Content-blind cache Database copy full/partial data replication Content-aware cache Schema full schema replication/ query templates Schema Authoritative database Maarten van Steen, Kitlei Róbert Elosztott rendszerek 17 / 17