usmjeravanje prometa ka weblogic instancama na …€¦ · exalogic elastic cloud-u. 17. listopad...

Post on 14-Aug-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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!

top related