1
<Insert Picture Here> Nagy teljesítményű és magas rendelkezésreállású webalkalmazások fejlesztése elosztott alapon Nagy Péter Termékmenedzser
Agenda Java alkalmazás grid Coherence Topológiák Architektúrák Tulajdonságok Bemutató <Insert tpicture Here> 3
Java Alkalmazás Grid Szerver 1: Alkalmazás-adatbázis szerver Hagyományos architektúra Egy alkalmazás szerver Storage szerver (database, mainframe, messaging stb.)... Szerverek 2: Alkalmazás-adatbázis szerver cluster Skálázás további alkalmazás, adatbázis szerverek hozzáadásával Replikáció, overhead... Szerverek + adat grid 3: Oracle Coherence Adat Grid Kiszámítható, tó lineárisan i skálázható, folyamatos rendelkezésre állás Oracle Coherence beágyazva az alkalmazás rétegben 4
Coherence Enterprise Applications Databases Real Time Clients Data Services Mainframes In-Memory Data Grid Web Alkalmazásban l használt objektumok k (Objektum Services orientált, ORM, CRUD) Több szerveren megosztott konzisztens, transzparens s adatréteg Kis válaszidő Oracle Coherence Nagy kapacitás Data Grid Skálázhatóság g( (lineáris) 2-2000... Nincs szűk keresztmetszet Nagy rendelkezésre-állás Web Services Folyamatos rendelkezésre-állás Hibatűrő Nincs adatvesztés Párhuzamos és eseményvezérelt feldolgozás Java,.NET, C++ kliensek Plug into (Hibernate,Toplink) Nem csak egy egyszerű cache! 5
Partícionált topológia : olvasás 6
Partícionált topológia : tárolási opció 7
Partícionált topológia : közeli 8
Partícionált topológia : helyreállítás 9
Coherence - Architektúrák Cache Read-cache (behind, on-top, to-the-side) the Write-through / Write-behind (Constraint location) Session Menedzsment CoherenceWeb Lekérdezések, analízis Párhuzamos feldolgozás! Valós idejű kliensekk Java,.NET, C++ (CoherenceExtend TCP/IP) Események figyelése Lokálisan felhasznált valós idejű adatok (~materializált view) 10
Coherence JPA integráció Java EE Java SE ADF Spring Framework Oracle TopLink EclipseLink JPA Oracle Coherence EclipseLink JPA Packaged Apps Databases XML Data Legacy Systems 11
Coherence*Web - Session menedzsment Web Application Coherence Web Java EE or Servlet Container Application State Router Web Application Web Tier Load Balanced Coherence Web Java EE or Servlet Container Application State Clustered Oracle, WebLogic, WebSphere, JBoss, Tomcat In Memory Coherence Data Grid for Session State 12
Tulajdonságok Szabványos Map és JCache interfész QueryMap interfész Összetett szűrők Indexek definiálása (on-the-fly) Párhuzamos feldolgozás Observable interfész Real-time, szűrt eseménykezelés (insert, update, delete) Párhuzamos feldolgozás Kliens és grid eseménykezelés InvocableMap interfész Tárolt elemek feldolgozása Párhuzamos feldolgozás 13
Tulajdonság : QueryMap interfész 14
Grid végrehajtás Feladat: lock(id), v=get(id), process(v), put(id, v), unlock(id) map.lock(id, -1); try { Integer I = (Integer) map.get(id); int c = (I == null? 0 : I.intValue()); map.put(id, new Integer(++c)); return c; } finally { } map.unlock(okey); 15
Grid végrehajtás Végrehajtás: execute(id, process) return map.invoke(id, new NumberIncrementor(..)); 72% kevesebb hálózati ugrás (network hop)/feldolgozás 100% kevesebb hálózatból fakadó konkurencia kezelési probléma 16
Tangosol Cluster Management Protocol (TCMP) Saját protokoll UDP alapú Robosztus Aszinkron Pont-pont UDP Multicast: Új JVM automatikus kapcsolódása Cluster karbantartás Kikapcsolható (Well Known Addresses - WKA) UDP Unicast kommunikáció Gyors és skálázható Garantált csomag sorrend és kézbesítés Nincs szükség nehézkes TCP/IP kapcsolatok használatára 17
B E M U T A T Ó Coherence 18
Kérdések 19
További információk Dokumentáció http://www.oracle.com/technology/products/coherence/index.html http://wiki.tangosol.com/ 20