Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
USMJERAVANJE PROMETA KA WEBLOGIC INSTANCAMA NA JEDNOM ILI VIŠE POSLUŽITELJA
Dubravko MiljkovićHrvatska elektroprivredaZagreb, Vukovarska 37
17. listopad 2012. HROUG 2012 2
WEBLOGICNovi aplikacijski server 11gPojedina instanca (JVM) ograničena na 2 GB
Ograničenje na 32-bitnom OS-uNa 64-bitnom OS-u JVM ne iskorištava učinkovito više od 2 GB
Broj korisnika po instanci 50-100 (Java aplikacije)Okvirna procjenaOvisi o složenosti aplikacije
Broj Forms korisnika (frmweb procesa)Ovisi o nondesktop heap size i raspoloživoj memoriji
Potreba korištenja više instanciVeći broj korisnika – horizontalna skalabilnostPostizanje visoke raspoloživosti (Higah Availability –HA)
17. listopad 2012. HROUG 2012 3
SINGLE VS. MULTIPLE INSTANCES
PrijeJedan serverDo 4 GB RAM-a2 jezgre
SadaJedan serverViše od 4 GB RAM-a4-8 jezgri
17. listopad 2012. HROUG 2012 4
ZAŠTO VIŠE INSTANCI NA JEDAN FIZIČKI SERVER
Opsluživanje velikog broja korisnikaRedundancija – sustav i dalje radi kod pada jedne instanceWebLogic nije zahtjevan na CPUModerni serveri imaju dovoljno RAM-a
Mogućnost instalacije više WebLogic instanci
Samo jedan OS za sve instanceSmanjen utrošak memorijePovoljnije licenciranje OS-a
17. listopad 2012. HROUG 2012 5
ZAŠTO VIŠE INSTANCI NA JEDAN VIRTUALNI SERVER
Prednosti virtualiziranih servera u odnosu na fizičke
Veća fleksibilnostBolje iskorištenje serverske infrastruktureBusiness Continuity i Disaster Recovery (BCDR)
Virtualni serveri isto imaju dovoljno RAM-amogućnost instalacije više WebLogic instanci kao i na fizičkim serverima
Samo jedan OS za sve instanceSmanjen utrošak memorijePovoljnije licenciranje OS-a
17. listopad 2012. HROUG 2012 6
WEBLOGIC SERVER,DOMAIN I CLUSTER
Administration serverCentralizirano upravljanje
Managed serverInstanca za aplikacije
Node managerRemotely start/stop/restart
DomenaJedna ili više WebLogic instancis kojima se upravlja s istogadministrativnog servera
ClusterGrupa managed servera koji rade simultano i zajednoDonosi određene prednosti za Java aplikacijePogodan za distribuciju iste konfiguracija članovima
17. listopad 2012. HROUG 2012 7
WEBLOGIC LOADBALANCING I PORTOVI
WebLogic portovi nakon instalacijeAdminServer 7001HTTP 8888Forms 9001Reports 9002ADF 7003
Dodatne instance instalirane na istom serveru automatski zauzimaju slijedeće slobodne portovePortovi se mogu promijeniti
/stage/Response/staticports.ini file
Usmjeravanje prometa na WebLogic instance s različitim portovima komplicira rješenje
17. listopad 2012. HROUG 2012 8
JEDAN SERVER JEDNA WEBLOGIC INSTANCA
WebLogic instance i linkovi (primjer)
http://szg01weblogic01:9000/forms/frmservlet?config=gsmhttp://szg01weblogic02:9000/forms/frmservlet?config=gsmhttp://szg01weblogic03:9000/forms/frmservlet?config=gsm
Svaka instanca na zasebnojIP adresiAplikacija koristi isti port na svim instancamaUsmjeravanje prometa je jednostavno ostvarivo uobičajenim metodama
17. listopad 2012. HROUG 2012 9
JEDAN VIRTUALNI SERVER JEDNA WEBLOGIC INSTANCA
Slična situacija, ovaj put WebLogic instance na zasebnim virtualnim strojevimaWebLogic instance i linkovi (primjer)
http://szg01weblogic01:9000/forms/frmservlet?config=gsmhttp://szg01weblogic02:9000/forms/frmservlet?config=gsmhttp://szg01weblogic03:9000/forms/frmservlet?config=gsm
Svaka instanca na zasebnoj IP adresiAplikacija koristi isti port na svim instancamaUsmjeravanje prometa je jednostavno ostvarivo uobičajenim metodama
17. listopad 2012. HROUG 2012 10
JEDAN SERVER VIŠEWEBLOGIC INSTANCI
WebLogic instance i linkovi (primjer)http://szg01weblogic01:9000/forms/frmservlet?config=gsmhttp://szg01weblogic01:9002/forms/frmservlet?config=gsmhttp://szg01weblogic01:9004/forms/frmservlet?config=gsm
Svaka instanca na istoj IP adresiAplikacija koristi različiti port na svakoj instanciPotrebno usmjeravanje prometa ka više portova
17. listopad 2012. HROUG 2012 11
JEDAN VIRTUALNI SERVER VIŠE WEBLOGIC INSTANCI
Slična situacija, ovaj put više WebLogic instanci na zasebnim virtualnim strojevimaWebLogic instance i linkovi (primjer)
http://szg01weblogic01:9000/forms/frmservlet?config=gsmhttp://szg01weblogic01:9002/forms/frmservlet?config=gsmhttp://szg01weblogic01:9004/forms/frmservlet?config=gsm
Svaka instanca istoj IP adresiAplikacija koristi različiti port na svakoj instanciPotrebno usmjeravanje prometa ka više portova
17. listopad 2012. HROUG 2012 12
VIŠE SERVERA SA VIŠEWEBLOGIC INSTANCI
WebLogic instance i linkovi (primjer)
http://szg01weblogic01:9000/forms/frmservlet?config=gsmhttp://szg01weblogic01:9002/forms/frmservlet?config=gsmhttp://szg01weblogic02:9000/forms/frmservlet?config=gsmhttp://szg01weblogic02:9002/forms/frmservlet?config=gsmAplikacija koristi različiteIP adrese i različite portove
17. listopad 2012. HROUG 2012 13
VIŠE VIRTUALNIH SERVERA VIŠE WEBLOGIC INSTANCI
Slična situacija, ovaj put više WebLogic instanci na više virtualnih strojevaWebLogic instance i linkovi (primjer)
http://szg01weblogic01:9000/forms/frmservlet?config=gsmhttp://szg01weblogic01:9003/forms/frmservlet?config=gsmhttp://szg01weblogic02:9000/forms/frmservlet?config=gsmhttp://szg01weblogic02:9003/forms/frmservlet?config=gsmhttp://szg01weblogic03:9000/forms/frmservlet?config=gsmhttp://szg01weblogic03:9003/forms/frmservlet?config=gsm
Aplikacija koristi različite IP adrese i različite portove
17. listopad 2012. HROUG 2012 14
RJEŠENJA BEZ DODATNOG HARDWARE-A I SOFTWARE-A
Menu straniceDodjeljivanje url-ova za svaku instancuPogodno kad imamo više aplikacijaPotrebna okvirna procjena prometa po aplikacijamaPo potrebiti razmotriti i složenost aplikacija
17. listopad 2012. HROUG 2012 15
MENU LINKS PAGESSpecificiranje URL-ova koji vode do aplikacija na pojedinim instancamaKoristi HTTP port
Poželjno postaviti port 80 (umjesto default-nog porta 8888)
DocumentRootSpecificiran u weblogic.properties filePokazuje na weblogic/myserver/public_html directory
weblogic.httpd.documentRoot=pathweblogic/myserver/public_html
17. listopad 2012. HROUG 2012 16
JEDNA IP ADRESA, VIŠE PORTOVA
Instanca 1<IP adresa>:<PORT 1>http://szg01weblogic01:9000/forms/frmservlet?config=gsm
Instanca 2<IP adresa>:<PORT 2>http://szg01weblogic01:9002/forms/frmservlet?config=kadr
17. listopad 2012. HROUG 2012 17
GRUPE APLIKACIJA NA INSTANCU
Umjesto balansiranja prometaGrupe aplikacija približno jednakog ukupnog broja korisnika vežu se za pojedinu instancuInstanca 1 (Grupa 1)
Aplikacija 1Aplikacija 2Aplikacija 3
Instanca 2 (Grupa 2)Aplikacija 4Aplikacija 5Aplikacija 6
17. listopad 2012. HROUG 2012 18
MENU LINKS PAGES
WebLogic Instanca 1Operativni linkovi za aplikacije iz grupe 1
<IP address>:<Port1>/forms/frmservlet?config=gsm<IP address>:<Port1>/forms/frmservlet?config=kadr<IP address>:<Port1>/forms/frmservlet?config=fin
WebLogic Instanca 2Operativni linkovi za aplikacije iz grupe 2
<IP address>:<Port2>/forms/frmservlet?config=ap<IP address>:<Port2>/forms/frmservlet?config=blag<IP address>:<Port2>/forms/frmservlet?config=placa
17. listopad 2012. HROUG 2012 19
RJEŠENJA KOJA PODRŽAVAJU SAMO RAZLIČITE ADRESE
Klasični load balancerNetwork Load Balancing (NLB)
17. listopad 2012. HROUG 2012 20
LOAD BALANCERS
Klasično rješenjeČesto integrirano u switchJedna WebLogic instanca po IP adresiZa raspodjelu opterećenja između fizičkih (virtualnih) serveraAffinity!!! (Cookie) ili:Usmjeriti korisnika na menustranicu instance, a sva daljnja komunikacija direktno s pripadnom instancom
17. listopad 2012. HROUG 2012 21
LOAD BALANCERS
Izbjegavanje single point of failure (High Availability rješenje)Dva load balanceraOpet jedna WebLogic instanca po IP adresi
17. listopad 2012. HROUG 2012 22
NETWORK LOAD BALANCING
Opet jedna WebLogic instanca po IP adresiZa raspodjelu opterećenja između fizičkih (virtualnih) serveraDodatni problemi u slučaju korištenja virtualnih strojeva (ponekad NLB samo između virtualnih strojeva na različitim fizičkim strojevima)
17. listopad 2012. HROUG 2012 23
RJEŠENJA KOJA PODRŽAVAJU RAZLIČITE ADRESE I PORTOVE
Web Proxy serverOracle HTTP server(mod_wl_ohs)Web Cache (zastarjelo)Perl HTTP Redirector
Mogu se kombinirati sa klasičnim load balancerima i NLB-om
Oracle Traffic DirectorMože se isto kombinirati s NLB-om, ali je predobar samo za jedan nod
17. listopad 2012. HROUG 2012 24
LOAD BALANCING SAWEB PROXY SERVER-OM
Kombinira cluster i load balancing domenu (A. Baranovskis, M. Negi)Postaviti WebLogic ClusterNa kraju promijeniti Multicast messaging type u Unicast
17. listopad 2012. HROUG 2012 25
LOAD BALANCING SAWEB PROXY SERVER-OM
17. listopad 2012. HROUG 2012 26
LOAD BALANCING SAWEB PROXY SERVER-OMLoad Balancing Domain Setupsa Proxy Plug-in
Promijeniti HttpClusterServlet putem WebLogicCluster parametra
web.xml i weblogic.xml u load-balancer.war
17. listopad 2012. HROUG 2012 27
LOAD BALANCING SAHTTP SERVEROM (mod_wl_ohs)
Load Balancing sa HTTP serverom
Konfiguriranje Oracle HTTP Servera ispred Oracle WebLogicServeraWebLogic instance staviti u clusterInstalirati Oracle HTTP SeverModificirati mod_wl_ohs.conf<Location /myServerURL>
SetHandler weblogic-handlerWebLogicCluster MS1:7010,MS2:7010
</Location>
17. listopad 2012. HROUG 2012 28
WEB CACHEMože se koristiti i kao load balancerPodržava više WebLogic instanci neovisno o IP adresi i portovima koje instanca koristi Svaki put usmjerava korisnika na početnu (menu) stranicu jedne od instanciUgrađena jednostavna provjera stanja instanceSingle point of failureSingle point of entryProblem održavanja menustranica instanciZastarjelo
17. listopad 2012. HROUG 2012 29
PERL HTTP REDIRECTORAlternative web cache-uRandom HTTP redirectorSvaki put usmjerava (HTTP redirect) korisnika na početnu (menu) stranicu jedne od instanciNe ispituje stanje servera
(potreban dodatni Sentry)Nakon redirekcije korisnik je vezan na dotičnu instancu - affinityJednostavno realizirati u PERL-uProblem održavanja menustranica instanci
17. listopad 2012. HROUG 2012 30
PERL HTTP REDIRECTORPERL random HTTP redirectorvezan na jedan HTTP serverZa HTTP koristi se port 80
Promijenjena default-na vrijednostSvaka instanca ima svoju menustranicu s pripadnim portom specificiranim u url-ovima aplikacija
url-ovi se na menu stranicama razlikuju samo po portovima
Ukoliko padne HTTP server na koji je vezan PERL gube se sve instanceUkoliko padne pojedina instanca promet se i dalje usmjerava na nju
17. listopad 2012. HROUG 2012 31
HIGH AVAILABILITY LOADBALANCER FOR WEBLOGIC CLUSTER
Rješenje za Linux kao alternativa za NLB (predloženo od Edwin Biemont-a)
KoristiDomainClusterHAProxy (free)Keepalived (free)mod plugin za Apache
17. listopad 2012. HROUG 2012 32
ORACLE TRAFFIC DIRECTOR
Samo za LINUXBrzi, pouzdani i skalabilni layer-7 programski load balancerPouzdana ulazna točka za HTTP i HTTPS promet ka aplikacijskim i web serverimaPodrška za integraciju s Oracle Fusion Midelware
Obrada headera zahtjeva i odgovora WebLogic instanci
Proizvod je optimiran za uporabu u Oracle Exalogic Elastic Cloud-u
17. listopad 2012. HROUG 2012 33
ORACLE TRAFFIC DIRECTOR
Može opslužiti veliki promet s niskom latencijomVelike mogućnosti konfiguriranjaPodržava slijedeće oblike balansiranja prometa
Round robinLeast connection countWeighted round robinWeighted least connection count
17. listopad 2012. HROUG 2012 34
ORACLE TRAFFIC DIRECTOR
Fleksibilno rutiranje i kontrola opterećenjaUsmjerava promet na specifične servere ovisno o informaciji sadržanoj u url-u (Request-based routing)Ubrzavanje opterećenja na novopridošlom nodu(Request rate acceleration), korisno nakon restarta WebLogic instanceOgraničavanje broja konekcija (Connection limiting)
Upravljanje ulaznim opterećenjemRequest rate limitingQuality of service tuning
17. listopad 2012. HROUG 2012 35
ORACLE TRAFFIC DIRECTOR
Može se instalirati na iste servere kao i WebLogic instance
različiti home direktoriji
Administration ServerGrafičko sučeljeKomandna linija
Administration NodeOracle Trafic Director Node
17. listopad 2012. HROUG 2012 36
ORACLE TRAFFIC DIRECTOR
Podrška za visoku raspoloživostHealth check back end servera
Provjera ispravnosti serveraZaustavlja zahtjeve prema neraspoloživoj instanci
High Availability (HA) opcijaactive-passive instance (failover)active-active instance
Omogućava dinamičko rekonfiguriranjeBez restarta instanceNe ometa tekući promet
17. listopad 2012. HROUG 2012 37
ORACLE TRAFFIC DIRECTOR
Za visoku raspoloživost (High Availability - HA) koriste se dvije instance Oracle Traffic Director-a
High Availability Heartbeat
Podržana rješenjaactive-passive failoveractive-active
17. listopad 2012. HROUG 2012 38
PREGLED RJEŠENJAJedan WL na fizički
Jedan WL na virtualni
Više WLna fizički
Više WLna virtualni
Napomena
Menu links + + + + Nije fleksibilno
Klasični LB + + - - Isti port
NLB (Windows) + + - - Isti port
LB Domain + Proxy Plugin + + + +
HTTP Server(mod_wl_ohs)
+ + + +
WEB Cache + + + + SPOF*, zastarjelo
PERL redirektor + + + + SPOF*, random
HAProxy + Keepalived + + + + LINUX
Oracle Traffic Director + + + + LINUX, složeno ali
najbolje*SPOF – Single Point of Failure
17. listopad 2012. HROUG 2012 39
ZAKLJUČAKIzloženo više metoda usmjeravanja korisnika na instanceOdabir ovisi o OS-u (Windows, Linux) i o potrebi zaHigh Availability (HA)Za Windows i Linux
Web Proxy serverOracle HTTP server (mod_wl_ohs)Web cache (zastarjelo) usmjerava na menu stranicuPERL redirector (HTTP redirect), usmjerava na menu stranicu
Za Linux Oracle Traffic Director ili HAProxy/KeepalivedIzmeđu fizičkih (i virtualnih) servera
Klasični load balancerWindows NLBWeb cacheOracle Traffic Director
HVALA!