Seznam.cz, a.s. I Radlická 2 I 150 00 Praha 5 I Tel.: +420 234 694 111 I Fax: +420 234 694 115 FastRPC meziserverová.

Slides:



Advertisements
Podobné prezentace
Pokroky v technologiích (2)
Advertisements

Architektura aplikací v Seznam.cz
© 2000 VEMA počítače a projektování spol. s r. o..
SoftPC SQL Prezentace nového SQL modulu Mzdy a personalistika
Stránka 1, © Vema, a. s.. Stránka 2, © Vema, a. s. Podnikové aplikace  Integrovaný podnikový systém (Integrated Business System):  komplex aplikací.
VÝVOJ PROGRAMOVACÍCH JAZYKŮ PERSPEKTIVY ELEKTRONIKY 3. Celostátní seminář, 18. března 2003 Ing. Pavel Pokorný UNIVERZITA TOMÁŠE BATI VE ZLÍNĚ Fakulta technologická.
Úvod do počítačových sítí Úvod. Úvod do počítačových sítí •Úvod, síťové protokoly, architektury,standardy •Fyzická úroveň •Linková úroveň •Lokální počítačové.
Ing. Jan Mittner Profiling aplikací 2. Zend_Cache 3. Optimalizace výkonu databáze 4. Optimalizace rychlosti načítání webu 5. Další tipy.
Rozšíření systému pro zátěžové testy o SOAP a agenty Zbyněk Pyšný.
Tvorba stránek  komu jsou stránky určeny  grafická úprava stránek  obsah  motivy vzhledu stránky
Přednáška č. 5 Proces návrhu databáze
Internet Definice Historie Použití Programy pro práci s internetem
Návrh architektury moderních informačních systémů
IISPP ■ pojem definován v letech v rámci přípravy výzkumných záměrů NPÚ na roky ■ dlouhodobý projekt na vybudování nového komplexního.
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Základy informatiky Internet Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
NET Genium software pro výstavbu a provoz informačního portálu Martin Vonka
SOAP Jan Růžička Institute of geoinformatics VSB-TU Ostrava 17.listopadu 15, Ostrava-Poruba,
Vývoj aplikací pro SharePoint
Architektura databází Ing. Dagmar Vítková. Centrální architektura V této architektuře jsou data i SŘBD v centrálním počítači. Tato architektura je typická.
Softwareová architektura
Úvod. školní: příprava na předmět Databázové systémy praktický: webové aplikace databázové systémy základy vývoje webových aplikací od návrhu databáze.
Návrh a tvorba WWW Přednáška 1
Aplikace VT v hospodářské praxi internetové technologie Ing. Roman Danel, Ph.D. VŠB – TU Ostrava.
Rozšíření jednouživatelské verze IS na víceuživatelskou Prezentace Diplomové práce Autor : Libor Tomášek Spoluautoři : Pobucký M., Drábek L. Vedoucí :
Tomáš Urych, ESO9 Intranet a.s.
Databázové systémy Architektury DBS.
Metainformační systém založený na XML Autor: Josef Mikloš Vedoucí práce: Ing. Jan Růžička, Ph.D. V/2004.
Informatika pro ekonomy II přednáška 10
ARL klient Stručný přehled funkcí Klient – jiný přístup k datům v systému  Umožňuje používat i další pole v záznamu - Je nezbytný v případě.
Dokumentace objektů a zveřejnění funkcí
Představujeme Ensemble Michal Tomek. Na tomto obrázku vidíte, co systému Ensemble chybí:
Dílna Caché II. CSP pro pokročilé Tomáš Vaverka. Zdroje HTML Tag Reference v sekci Reference Material v dokumentaci Caché HTML Tag Reference v sekci Reference.
SYNTACTIC SUGAR MS SQL 2005 – SOA Petr Krejzl
Internet.  Celosvětový systém propojených počítačů  Funkce  Sdílení dat  Elektronická pošta.
AJAX nejmodernější webová technologie… seminář pro učitele ZŠ a SŠ Mgr. Marek Osuchowski Ostravská univerzita © 2011.
uložené procedury (stored procedures) triggery, sekvence, pohledy, funkce, parametrické dotazy (prepared statements) komplexní agregace a SQL dotazy jiné.
Mobilní kancelář (…nejen pro velké firmy) Vladimír Wojnar Microsoft Solutions HP.
organizační struktury Implementace EOS III na Olomouckém kraji Pro:Krajský rok informatiky 2005 Autor:Jan Kadlec Datum:
1 I NTERNETOVÁ INFRASTRUKTURA. H ISTORIE SÍTĚ I NTERNET RAND Corporation – rok 1964 Síť nebude mít žádnou centrální složku Síť bude od začátku navrhována.
Úvod do PHP IZI 228.
Databázové systémy Informatika pro ekonomy, př. 18.
2008 Fakulta elektrotechniky a informatiky VŠB – TECHNICKÁ UNIVERZITA OSTRAVA.
Import záznamů diplomových prací nové řešení Antonín Vaishar, SUAleph, 26. –
Filtr významnosti jako framework pro prezentační vrstvu Ing. Igor Kopetschke – TUL, NTI
KL Free IS Informační systém pro regionální síť KLfree.net.
Robert Hernady Regional Solution Architect Microsoft.
Správní a dopravně správní evidence - IISSDE
Internet.
Přístup do IS z mobilních zařízení Tomáš Tureček Katedra Informatiky FEI VŠB-TU Ostrava.
Webové služby pro komunikaci s informačním systémem eQuip Martin Širajch.
Transportní úroveň Úvod do počítačových sítí Lekce 10 Ing. Jiří Ledvina, CSc.
PHP a Webové služby Jan Růžička Institute of geoinformatics VSB-TU Ostrava 17.listopadu, Ostrava-Poruba,
PHP Programy pro tvorbu WWW stránek - 01
Service layer. Service layer – úvod Problém  Vytvoření API aplikace  Odstínění bussiness logiky a transakčního chování od zbytku aplikace  Kam s aplikační.
Web services. Co jsou webservices Součinná spolupráce počítačů v síti Technologie pro vzdálené volání procedur (RPC) Nezávislá na platformě Data v XML.
Prezentace diplomové práce
Webové služby Cíl  Popis základního konceptu technologie webových služeb.
Informatika (1) Počítač - základní pojmy HW a SW4 OS MS-DOS, Windows 95, 982 Org. souborů na disku, operační paměť2 Aplikace Malování, Word8 Základy programování.
Vrstvy ISO/OSI  Dvě skupiny vrstev  orientované na přenos  fyzická vrstva  linková vrstva  síťová  orientované na aplikace  relační vrstva  prezentační.
B2B Systémová integrace Jiří Macháček. Osnova ► Úvod ► Terminologie ► Parametry – požadavky ► Způsoby integrace ► Web-Services ► Příklady.
Internet. je celosvětový systém navzájem propojených počítačových sítí („síť sítí“), ve kterých mezi sebou počítače komunikují pomocí rodiny protokolů.
Seminář k soutěži Parádní web 21. leden 2014 Ing. Kamil Válek tajemník Městského úřadu Uherský Brod.
Web services – když si Java sedne s M$ na kus řeči Ing. Petr Přibyl CCA Group a.s.
školák Piš a sdílej své sešity, jednoduše, rychle, v pohodě.
NÁZEV ŠKOLY: S0Š Net Office, spol. s r.o, Orlová Lutyně
Seminář 11 DHCP + HTTP + IPTABLES
Informatika pro ekonomy přednáška 8
Úvod do počítačových sítí
Přednášky z Distribuovaných systémů
Transkript prezentace:

Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax: FastRPC meziserverová komunikace Vlastimil Pečínka

Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax:  Aplikační servery co a proč  Middleware vysvětlení, RPC  XML-RPC middleware protokol založený na XML  FastRPC zpětně kompatibilní binární verze  Metaserver framework pro tvorbu backendů  Příklad server pro matematické operace  Diskuse

Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax: Aplikační servery  N-vrstvá architektura aplikací, distribuované prostředí  Logika v aplikačním serveru (backend)  „Tenký“ fronted (např. webová aplikace v PHP/Python)  Komunikace vrstev - middleware eboxubox pop3web frog rss  V Seznamu aplikační servery původně ze dvou důvodů:  vyřešit timeouty (např. do databáze)  vyřešit failover (např. restart databáze na pozadí)  Následně přesun logiky, master/slave databáze, …

Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax: Middleware  Software spojující softwarové komponenty nebo aplikace  Umožňuje aplikacím sdílet data (a logiku)  Spojován s pojmy jako XML-RPC, SOAP, Web services  Různé typy middleware - RPC (remote procedure call) - MOM (message oriented middleware) - ORB (object request broker) - SQL oriented data access

Middleware - RPC  Vzdálené volání procedur klientem na serveru (vs. „lokální“ volání v programu)  Synchronní a asynchronní  Klient - server model distribuovaného výpočtu  Klient sestaví dotaz, odešle transportní vrstvou na server, tam dojde k provedení akce, sestavení odpovědi a odeslání na server  První známá implementace: SUN RPC (NFS) Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax:

XML-RPC  Sestavení dotazu a odpovědi ve formě XML dokumentu  Transportní vrstva – HTTP  Velmi jednoduchý protokol (definice na dvě stránky)  Upovídaný protokol - z povahy XML (tagy, escaping)  Náročný u vysokozátěžových aplikací, nevhodný pro výměnu velkého objemu dat (parsing)  Pouze 8 datových typů (+ jako XML-RPC extenze) Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax:

XML-RPC – dotaz suma Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax:

Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax: XML-RPC – odpověď status 404 statusMessage Not found

XML-RPC – datové typy Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax: NázevPříklad array base64 eW91IGNhbid0IHgdGhpcyE= boolean 1 datetime T14:08:55 double integer 42 nebo 42 string Hello world! struct foo 12 nil

FastRPC  Zpětně kompatibilní se XML-RPC, vlastní implementace xml parseru, autodetekce klienta  Transportní vrstva – HTTP, možnost chunkování  Stejných 8 datových typů a 3 non-datové (method call, method response, fault response)  Proprietární binární forma protokolu – viz. SourceForge  Značná úspora procesorového času a objemu přenesených dat Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax: DATA TYP FLG

FastRPC – režim práce  XML-RPC požadavek, XML-RPC odpověď  zpětná kompatibilita s XML-RPC klienty  klient neposílá FastRPC capability  XML-RPC požadavek, FastRPC odpověď  FastRPC klient, který neví o schopnostech server  dostane-li FastRPC odpověď, nadále tak komunikuje  FastRPC požadavek, FastRPC odpověď  pokud klient ví, že jde o FastRPC server  všechny nové aplikace v Seznamu jsou FastRPC Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax:

Metaserver  Univerzální server s prefork managementem  Kostra serveru, která dokáže „pouze“ načíst konfiguraci, inicializovat rozhraní a řídit chod serveru  Vlastní programátorská práce na tvorbě serveru se omezuje na implementaci protokolového rozhraní formou handlerů a psaní logiky serveru  Používáme handlery Python.FastRPC a CPP.FastRPC  Handler dostává od metaserveru síťové rozhraní, nad ním implementuje požadovaný protokol a umožní psát logiku serveru v požadovaném programovací jazyce  Pro C++ je aplikační server „.so“ soubor, pro Python jde o „.py“ soubory prováděné embedded Pythonem Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax:

Metaserver Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax:  Server řídí chod, volá handler na příchozí požadavek, handler volá metody podle potřeb protokolu  Prefork management jako u Apache web serveru spareServers, maxServers, maxRequestPerChild, … CORE P1P1 P2P2 P3P3 P4P4 P5P5 BACKEND Metaserver core CPP.FastRPC handler Value_t &foo(Pool_t &pool, Array_t &params) { params.checkParams("is"); return pool.Struct("status", pool.Int(200), "statusMessage", pool.String("OK")); }

Příklad – server aritmetických operací  metoda add(int a, int b) pro součet dvou zadaných celý čísel a, b  metoda agregate(string op, array x) provede operaci op nad polem celočíselných operandů x  obě metody vrací následující strukturu { int status200=OK, 405=Chyba string statusMessageTextový popis výsledku [int result]Hodnota výsledku pro 200=OK } Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax:

Diskuse… … a přehled  XML-RPC,  FastRPC,  Metaserver – jen pro interní potřebu Seznamu  Python,  Middleware, RPC, … Seznam.cz, a.s. I Radlická 2 I Praha 5 I Tel.: I Fax: Vlastimil Pečínka