WebSphere Application Server
Conceitos, Planejamento e Instalação para Edge Components
Versão 6.0
G517-8089-00
WebSphere Application Server
Conceitos, Planejamento e Instalação para Edge Components
Versão 6.0
G517-8089-00
Nota
Antesdeutilizarestasinformaçõeseoprodutosuportadoporelas,leiaasinformaçõesgeraisem“Avisos”napágina81.
Primeiraedição(Novembrode2004) Estaediçãoaplica-seao:
WebSphereApplicationServer,Versão6.0
eatodososreleasesemodificaçõessubseqüentes,atéquesejaindicadodeoutraformaemnovasedições.
SolicitepublicaçõesatravésdeumrepresentanteIBMoudoescritóriodaIBMdesualocalidade.
Índice
Figuras . . . . . . . . . . . . . . . v
SobreEsteManual . . . . . . . . . vii
QuemDeveLerEsteManual . . . vii
Acessibilidade . . . vii
ConvençõeseTerminologiaUtilizadosnesteManual vii
Parte 1. Visão Geral . . . . . . . . . 1
Capítulo1.Introduzindo Componentes doWebSphere ApplicationServerEdge . 3
CachingProxy. . . 3
LoadBalancer . . . 4
Dispatcher . . . 5
ContentBasedRouting . . . 5
SiteSelector . . . 5
CiscoCSSController. . . 5
NortelAlteonController . . . 6
MetricServer . . . 6
Capítulo2.Edge Componentse a FamíliaWebSphere . . . . . . . . . . 7
TivoliAccessManager . . . 7
WebSpherePortalServer . . . 7
WebSphereSiteAnalyzer . . . 7
WebSphereTranscodingPublisher . . . 8
Capítulo3.MaisInformações sobreo ApplicationServer eEdge Components . 9
Parte 2. Conceitos e Discussões sobre Componentes do Edge . . . . 11
Capítulo4.Armazenamentoem Cache 13 ArmazenamentoemCacheBásico . . . 13
ArmazenamentoemCacheAvançado. . . 14
ClustersdoCachingProxycomEquilíbriode Carga . . . 14
ArmazenamentoemCachedeConteúdo Dinâmico . . . 14
RecursosAdicionaisdeArmazenamentoem Cache . . . 15
Capítulo5.Desempenho da Rede . . . 17
HardwaredeRede . . . 17
ConsideraçõessobreMemória . . . 17
ConsideraçõessobreDiscoRígido . . . 17
ConsideraçõessobreRede . . . 18
ConsideraçõessobreCPU. . . 18
ArquiteturadeRede . . . 18
ConsideraçõessobrePopularidadedoWebSitee deCargadoServidorProxy . . . 18
ConsideraçõessobreTiposdeTráfego . . . . 19
Capítulo6. Disponibilidade . . . . . . 21
EquilíbriodeCarga. . . 21
EquilíbriodeCargadeVáriosHostsdeConteúdo 21 EquilíbriodeCargadeVáriosServidoresProxy 22 SuporteàFailover . . . 23
Capítulo7. ContentBased Routing . . 27
Parte 3. Cenários
. . . . . . . . . 31
Capítulo8. RedeBusiness-to- Consumer . . . . . . . . . . . . . 33
Fase1 . . . 33
Fase2 . . . 34
Fase3 . . . 35
Capítulo9. SoluçãoBancáriaBusiness toClient . . . . . . . . . . . . . . 37
Capítulo10. Rededo Portalda Web . . 39
Parte 4. Instalando Edge Components
. . . . . . . . . . . 41
Capítulo11. Requisitospara Edge Components . . . . . . . . . . . . 43
Pré-requisitosdeHardwareeSoftware . . . 43
Pré-requisitosdeInstalaçãodoCachingProxyem SistemasAIX . . . 43
Pré-requisitosdeInstalaçãoparaoLoadBalancer emSistemasAIX . . . 44
Pré-requisitosdeInstalaçãoparaoCachingProxy emSistemasHP-UX . . . 44
Pré-requisitosdeInstalaçãoparaoLoadBalancer emSistemasHP-UX . . . 45
Pré-requisitosdeInstalaçãodoCachingProxyem SistemasLinux . . . 46
Pré-requisitosdeInstalaçãodoLoadBalancerem SistemasLinux . . . 47
Pré-requisitosdeInstalaçãodoCachingProxyem SistemasSolaris . . . 48
Pré-requisitosdeInstalaçãodoLoadBalancerem SistemasSolaris . . . 49
Pré-requisitosdeInstalaçãodosCachingProxy emSistemasWindows. . . 50
Pré-requisitosdeInstalaçãodoLoadBalancerem SistemasWindows . . . 50
UtilizandoNavegadorescomosFormuláriosde ConfiguraçãoeAdministraçãoCachingProxy . . . 51
©CopyrightIBMCorp. 2004 iii
UtilizandoNavegadorescomaAjudaOn-linedo
LoadBalancer . . . 52
Capítulo12. Instalandoos Edge ComponentsUtilizandoo Programade Instalação . . . . . . . . . . . . . 53
UtilizandooProgramadeInstalaçãoparaWindows 53 UtilizandooProgramadeInstalaçãoparaLinuxe UNIX . . . 55
Capítulo13. Instalandoo Caching ProxyUtilizandoFerramentasde Empacotamentode Sistema . . . . . 57
Capítulo14. Instalandoo Load BalancerUtilizandoFerramentasde Empacotamentode Sistema . . . . . 61
InstalandoparaAIX . . . 62
AntesdeInstalar . . . 62
ProcedimentodeInstalação . . . 63
InstalandoparaHP-UX . . . 65
AntesdeInstalar . . . 65
ProcedimentodeInstalação . . . 65
InstalandoparaLinux . . . 66
AntesdeInstalar . . . 67
EtapasdeInstalação . . . 67
InstalandoparaSolaris . . . 68
AntesdeInstalar . . . 68
EtapasdeInstalação . . . 68
Parte 5. Construindo Redes com Edge Components . . . . . . . . . 71
Capítulo15. Construiruma Rede CachingProxy . . . . . . . . . . . 73
Workflow . . . 73
ReverosSistemasdeComputadoreSoftware Requeridos . . . 73
BuildServer1(SistemasLinuxeUNIX) . . . 74
BuildServer1(SistemaWindows). . . 74
ConfiguraroServidor1 . . . 74
TestaraRededoCachingProxy . . . 75
Capítulo16. Construiruma RedeLoad Balancer . . . . . . . . . . . . . . 77
Workflow . . . 77
ReverosSistemasdeComputadoreSoftware Requeridos . . . 77
ConfiguraraRede . . . 78
ConfiguraroDispatcher . . . 78
ConfigurandoaUtilizaçãodaLinhade Comandos. . . 79
ConfigurandoaUtilizaçãodoAssistentepara Configuração. . . 79
ConfigurandoaUtilizaçãodaGUI(Interface GráficacomoUsuário) . . . 80
TestaraRededoLoadBalancer . . . 80
Avisos . . . . . . . . . . . . . . . 81
MarcasRegistradas. . . 83
Figuras
1. ConfiguraçãoBásicadoProxy . . . 13 2. CachingProxyAgindocomoServidorProxy
paraumClustercomEquilíbriodeCarga . . 14 3. EquilíbriodeCargadeVáriosHostsde
Conteúdo . . . 22 4. EquilíbriodeCargadeVáriosServidores
ProxyeHostsdeConteúdo . . . 23 5. UtilizandoumLoadBalancerPrincipalede
BackupparaTornaroConteúdodaWeb
AltamenteDisponível . . . 24 6. LocalizandooLoadBalancerdeBackupem
umHostdeConteúdo . . . 25
7. RoteandoPedidosdeHTTPcomoCBR 28 8. EquilíbriodeCargadePedidosdeHTTP
RoteadoscomoCBR . . . 29 9. RedeBusiness-to-Consumer(Fase1) . . . . 34 10. RedeBusiness-to-Consumer(Fase2) . . . . 35 11. RedeBusiness-to-Consumer(Fase3) . . . . 36 12. SoluçãoBancáriaBusinesstoConsumer 37 13. PortaldaWeb. . . 40 14. RededeDemonstraçãodoCachingProxy 73 15. RededeDemonstraçãodoLoadBalancer 77
©CopyrightIBMCorp. 2004 v
Sobre Este Manual
Estemanual,Conceitos,PlanejamentoeInstalaçãoparaEdgeComponentsdoWebSphere ApplicationServer,servecomoumaintroduçãoaoEdgeComponentsdoWebSphere ApplicationServer.Elefornecevisõesgeraisdealtonível,discussõesdetalhadasde funcionalidadeparacomponentesprincipais,cenáriosdeextremidadedarede, informações deinstalaçãoeconfiguraçãoinicialeredes dedemonstração.
Quem Deve Ler Este Manual
OmanualConceitos, PlanejamentoeInstalaçãoparaEdgeComponentsdoWebSphere ApplicationServerfoidesenvolvidoparaadministradores deredeede sistema experientesqueestãofamiliarizadoscomseussistemasoperacionaisecomo fornecimento deserviçosdaInternet.Nãoénecessário terconhecimentoanterior sobreoWebSphereApplicationServerouEdgeComponentsdoWebSphere ApplicationServer.
Acessibilidade
Os recursosdeacessibilidadeajudamusuárioscomalgumadeficiênciafísica,como restriçãomotoraoudeficientesvisuaisa utilizaremprodutosdesoftware com êxito.EstessãoosprincipaisrecursosdeacessibilidadedoWebSphereApplication Server, Versão6.0:
v Vocêpodeutilizarumsoftwareleitorde telae umsintetizadordefaladigital paraouviro queestáexibidonatela.Vocêtambémpode utilizarumsoftwarede reconhecimentodevoz,comooIBM ViaVoice,paradigitardadose navegarpela interfacedousuário.
v Vocêpodeoperarosrecursos utilizandootecladoemvezdomouse.
v VocêpodeconfigurareadministrarosrecursosdoApplicationServerutilizando editoresde textopadrãoouinterfacesdelinhade comandosemvezdas
interfacesgráficasfornecidas.Paraobter maisinformaçõessobreaacessibilidade derecursosespecíficos,consultea documentaçãosobreessesrecursos.
Convenções e Terminologia Utilizados neste Manual
Estadocumentaçãoutilizaasseguintesconvençõestipográficasede símbolos.
Tabela1.ConvençõesUtilizadasNesteManual
Convenção Significado
Negrito AofazerreferênciaaGUIs(InterfacesGráficascomoUsuário),onegritotambém indicamenus,itensdemenu,rótulos,botões,íconesepastas.Eletambémpodeser utilizadoparaenfatizarnomesdecomandosque,deoutraforma,podemser confundidoscomotextoaoredor.
Monoespaçado Indicatextoquedeveserdigitadoemumpromptdecomandos.Omonoespaçado tambémindicatextodetela,exemplosdecódigoseextraçõesdearquivos.
Itálico Indicavaloresvariáveisquevocêdevefornecer(porexemplo,vocêforneceonomede umarquivoparafileName).Itálicotambémindicaênfaseetítulosdemanuais.
Ctrl-x Emquexéonomedeumatecla,indicaumaseqüênciadecaracteresdecontrole.Por exemplo,Ctrl-csignificamanterpressionadaateclaCtrlenquantopressionaateclac.
©CopyrightIBMCorp. 2004 vii
Tabela1.ConvençõesUtilizadasNesteManual (continuação)
Convenção Significado
Return Refere-seàteclarotuladacomapalavraReturn,Enter,oucomumasetaparaa esquerda.
% RepresentaopromptdoshelldecomandosdoLinuxeUNIXparaumcomandoque nãoexijaprivilégiosderoot.
# RepresentaopromptdeshelldecomandosdoLinuxeUNIXparaumcomandoque exigeprivilégiosderoot.
C:\ RepresentaopromptdecomandosdoWindows.
Digitandocomandos Quandoforinstruídoa“digitar”ou“emitir”umcomando,digiteocomandoe,em seguida,pressioneReturn.Porexemplo,ainstrução“Digiteocomandols”significa digitarlsemumpromptdecomandose,emseguida,pressionarReturn.
[] Itensopcionaisemdescriçõesdesintaxeaparecementreessessímbolos.
{} Listasnasquaisvocêdeveescolherumitememdescriçõesdesintaxeaparecementre essessímbolos.
| Separaitensemumalistadeopçõesentre{}(chaves)emdescriçõesdesintaxe.
... Reticênciasemdescriçõesdesintaxeindicamquevocêpoderepetiroitemanterior umaoumaisvezes.Reticênciasemexemplosindicamqueforamomitidasinformações doexemploparatorná-lomaiscurto.
Parte 1. Visão Geral
Estaparte apresentaoEdgeComponents,oCachingProxyeLoadBalancerdo WebSphereApplicationServere discutesuaintegraçãocomoApplicationServer.
Elatambém defineoscomponentesdoCachingProxyedoLoadBalancer.Além disso, estaseçãoapresentaoutrosprodutos relacionadosdafamíliaWebSphere.
Estaparte contémosseguintescapítulos:
v Capítulo1,“IntroduzindoComponentesdo WebSphereApplicationServer Edge”,napágina3
v Capítulo2,“Edge ComponentseaFamíliaWebSphere”,napágina7
v Capítulo3,“MaisInformaçõessobreoApplicationServereEdgeComponents”, napágina9
©CopyrightIBMCorp. 2004 1
Capítulo 1. Introduzindo Componentes do WebSphere Application Server Edge
OWebSphereéumsoftwarede infra-estruturadaInternet quepermiteque empresas desenvolvam,implementem eintegremaplicativosdee-businessde última geração,comoosdestinadosaoe-commercebusiness-to-business.O middleware WebSpheresuportaaplicativosdesdenegóciosde simplespublicação na Webaoprocessamentodetransações emescalacorporativa.
Como basedaplataformaWebSphere, oWebSphereApplicationServer ofereceum conjuntoabrangentede middlewarequepermitequeusuáriosprojetem,
implementem, desenvolvamegerenciem aplicativosde negócios.Estesaplicativos podemvariardeumasimplesfachadade lojadeum Websitea umarevisão completade infra-estruturadeinformáticadeumaorganização.
Recursosintensivosdoprocessador,como personalização,oferecemumavantagem competitivaacadae-business. Porém,removerestesrecursosdeservidorescentrais pode impedirquefunçõesimportantessejamescaladas nasproporções daInternet.
Conseqüentemente, comaconstanteinclusãodenovosaplicativosdaWeb,uma infra-estruturadaInternetde umaempresadeveaumentarem escopoeem impacto.Além disso,confiançaesegurançasãoextremamente importantespara um e-business.Mesmoumainterrupçãomínimanoserviçopode resultarem uma perda denegócios.
OEdgeComponents(anteriormenteEdgeServer) agorafazem partedaofertado WebSphereApplicationServer.EdgeComponentspodemserutilizadosjuntocom o WebSphereApplicationServer paracontrolaro acessodeclientesaservidores Webe parapermitirqueempresasforneçammelhoresserviços ausuáriosque acessamconteúdobaseadonaWebpelaInternet ouumaintranetcorporativa.
Utilizar EdgeComponentspodereduzircongestionamentoemservidoresWeb, aumentara disponibilidadedeconteúdoemelhoraro desempenhode servidores Web.Comoo nomeindica,EdgeComponentsgeralmentesãoexecutadosem máquinasqueestãopróximas(nosentidodeconfiguraçãoderede)aolimiteentre a intranetdeumaempresaea Internet.
OWebSphereApplicationServerinclui osEdgeComponentsCachingProxye LoadBalancer.
Caching Proxy
OCachingProxyreduza utilizaçãodalarguradebandaemelhoraa velocidadee segurança deumWebsite, fornecendoum nóde pontodepresençaparaumou mais servidoresdeconteúdodebackend.OCachingProxypodearmazenarem cacheeatender aoconteúdoestáticoeaoconteúdogeradodinamicamentepelo WebSphereApplicationServer.
OServidorProxyinterceptapedidosde dadosdeumcliente,recuperaas
informações solicitadasdemáquinadehostde conteúdoeenviaesseconteúdode volta paraocliente.Maiscomumente,ospedidossãoparadocumentos
armazenadosemmáquinasde servidoresWeb(também chamadosdeservidores de origemouhostsdeconteúdo)e entreguesutilizandoHTTP(HypertextTransfer
©CopyrightIBMCorp. 2004 3
Protocol).Noentanto,vocêpodeconfiguraroServidorProxyparatrataroutros protocolos, comooFTP(File TransferProtocol)eGopher.
OServidorProxyarmazenaconteúdoemumacachelocalantesdeenviá-loao solicitante. Exemplosdeconteúdoquepodemser armazenadosemcacheincluem páginasdaWebestáticase arquivosJavaServerPages quecontêminformações geradasdinamicamente, masquesãoalteradascompouca freqüência.O armazenamento emcachepermitequeoServidorProxyatendaapedidos
posteriores parao mesmoconteúdo,enviando-o diretamentedacachelocal,oque é muitomais rápidodoquerecuperá-losnovamentedo hostdeconteúdo.
Os plug-insparaCachingProxyadicionamfuncionalidadeaoServidorProxy.
v Oplug-inICPpermitequeoServidorProxyconsultecachescompatíveiscom ICP(Internet CachingProtocol)em buscadepáginasHTMLedeoutros recursos quepodemserarmazenadosemcache.
v Osplug-insdoTivoliAccessManager (anteriormentedenominado Policy Director)permitemqueo ServidorProxyutilizeosserviçosdeautorizaçãoou autenticaçãointegradosdoAccessManager.
v OMódulodeAutenticaçãoPAC-LDAPativaoServidorProxyparaacessarum servidorLDAPaoexecutarrotinasde autorizaçãoouautenticação.
v Oplug-indoWebSphereTranscodingPublisherpermitequeoServidorProxy armazeneem cacheváriasversõestranscodificadasdeconteúdopara
dispositivosmóveisquandoutilizadocomo WebSphereTranscodingPublisher.
Você podeestenderaindamaisasfunçõesdoCachingProxygravandomódulosde plug-inpersonalizadosem umaAPI(ApplicationProgrammingInterface).AAPIé flexível, fácildeutilizareindependentedeplataforma.Oproxyexecutauma seqüência deetapasparacadapedidodecliente queeleprocessa.Umaplicativo de plug-inmodifica ousubstituiumaetapanoworkflowdeprocessamentode pedidos, comoumaautenticaçãode clienteoufiltragemdepedidos.Apotente interface Transmogrify,porexemplo,forneceacessoadados deHTTPe permitea substituiçãooutransformação deURLsede conteúdodaWeb.Osplug-inspodem modificar ousubstituiretapas deprocessamentodesignadase vocêpodechamar mais deumplug-inparaumaetapaespecífica.
Load Balancer
OLoadBalancercriasistemas deextremidadedaredequedirecionamofluxodo tráfegodarede,reduzindoocongestionamentoeequilibrandoa cargaem vários outros serviçosesistemas.OLoadBalancerforneceseleção desites,gerenciamento de cargade trabalho,autorizaçãodesessãoefailovertransparente.
OLoadBalanceréinstaladoentreaInternet eosservidoresdebackendda empresa,quepodemser hostsde conteúdooumáquinasdoCachingProxy.O LoadBalanceragecomoo úniconóde pontodepresençadaempresanaInternet, mesmo quea empresautilizemuitosservidoresdebackenddegrandedemanda ou umagrandequantidadedeconteúdo.Tambémépossívelgarantiralta disponibilidade instalandoum LoadBalancerde backup,queassumenocasode falhatemporáriadoprincipal.
OLoadBalancerinterceptapedidosde dadosdeclienteseencaminhacadapedido paraoservidor que,nomomento,tem melhorcapacidadedeatenderaopedido.
Em outraspalavras,eleequilibraacargadepedidosquechegamentreum conjuntodefinidode máquinasqueatendemaomesmotipodepedidos.OLoad Balancerpode distribuirpedidos paramuitostiposde servidores,incluindo
WebSphereApplicationServere máquinasdoCachingProxy.Oequilíbrio decarga pode serpersonalizadoparaumaplicativoespecíficoouplataforma,utilizando consultores personalizados.Osconsultoresde finalidadesespeciaisestão disponíveis paraaobtençãodeinformaçõesparaoequilíbriode cargade WebSphereApplicationServer.
Seo componenteContent BasedRoutingforinstaladojuntocom oCachingProxy, ospedidosHTTPeHTTPSpodematéserdistribuídoscom baseemURLsouem outrascaracterísticas determinadaspeloadministrador,eliminandoanecessidade de armazenarconteúdoidêntico emtodososservidoresdebackend. O
componenteDispatchertambém podeforneceramesma funçãoparapedidos HTTP.
Oequilíbriode cargamelhoraa disponibilidadeeescalabilidadedeseuWebsite fazendo clusterdeservidoresdeconteúdodeformatransparente,incluindo servidoresHTTP,servidoresde aplicativoseservidoresproxy,quesãoservidores de conteúdosubstitutos.Adisponibilidadeé alcançadapormeiodeparalelismo, equilíbrio decargaesuportea failover.Quandoo servidorpáradefuncionar,os negóciosnão sãointerrompidos.Aescalabilidadede umainfra-estruturaé melhoradasignificativamenteporquea forçadoprocessamentodebackendpode ser incluídadeformatransparente.
OLoadBalancerincluiosseguintescomponentes:
Dispatcher
ParatodososserviçosdeInternet,taiscomo HTTP,FTP, HTTPSeTelnet,o componenteDispatcherexecutaequilíbrio decargaparaservidoresemumaLAN (LocalAreaNetwork)ouumaWAN(WideAreaNetwork).Paradispositivos HTTP,oDispatcherpode executarequilíbriodecargadeservidorescombaseno conteúdode URLdopedidodocliente.
OcomponenteDispatcherpermiteogerenciamentoestávele eficientedeuma granderedeescalável deservidores.Como Dispatcher,você podeligar muitos servidoresindividuaisaoqual pareceserumúnicoservidor virtual.Assim,seusite pareceráserum únicoendereçoIPparatodos.
Content Based Routing
Paraserviços HTTPeHTTPS, ocomponenteContentBasedRouting executao equilíbrio decargadeservidoresbaseadonoconteúdodo pedidodocliente.O componenteContentBased Routingfuncionajuntocomo componenteCaching ProxydoApplicationServer.
Site Selector
OcomponenteSiteSelectormelhoraum sistemade equilíbriodecarga, permitindo queeleajacomoonóde pontodepresençaparaumaredeeequilibraa cargade pedidos deentrada,mapeandonomesDNSparaendereçosIP.JuntocomoMetric Server, oSiteSelectorpode monitoraronívelde atividadeem umservidor,
detectar quandoumservidortem amenorcargaedetectarumservidor comfalha.
Cisco CSS Controller
OcomponenteCiscoCSSControllergeramétricosdecargadoservidor quesão enviadosparaumachaveCiscoCSS paraseleçãodeservidor,otimizaçãode carga e tolerânciaafalhas.
Capítulo1.IntroduzindoComponentesdoWebSphereApplicationServerEdge 5
Nortel Alteon Controller
OcomponenteNortelAlteonControllergeramétricosdecargadoservidorquesão enviadosparaumachaveNortelAlteonparaseleção deservidor,otimizaçãode cargaetolerânciaa falhas.
Metric Server
OcomponenteMetricServer éexecutadocomoum daemonem umservidorde equilíbrio decargaeforneceinformaçõessobrecargasdosistemapara
componentes doLoadBalancer.
Capítulo 2. Edge Components e a Família WebSphere
AfamíliaIBM WebSpherefoidesenvolvidaparaajudarosusuáriosa cumpriro compromisso dee-business.É umconjuntodeprodutosde softwarequeajudaos usuáriosa desenvolveregerenciarWebsitesde altodesempenhoea integrarWeb sites comsistemasnovosou existentesde informaçõesdenegóciosquenãosãoda Web.
AfamíliaWebSphereconsistenoWebSphereApplicationServer,incluindo osEdge Componentse outrosoftware dafamíliaWebSpherequeestáfortemente integrado como WebSphereApplicationServer emelhoraseudesempenho.Paraobteruma visãogeraldo WebSphereApplicationServer edeseuscomponentes,consulteo Capítulo1,“IntroduzindoComponentesdo WebSphereApplicationServer Edge”, na página3.
Tivoli Access Manager
OTivoliAccessManager (anteriormentedenominado TivoliPolicyDirector)está disponívelseparadamente.Eleoferececontroledeacessoesegurançacentralizada paraaplicativosdaWebexistenteseofereceumacapacidadedeautenticaçãode umaetapacomacessoa váriosrecursos daWeb.Umplug-indoCachingProxy exploraa estruturadesegurança doAccessManager,permitindoqueo Servidor Proxyutilizeosserviços integradosde autorizaçãoeautenticaçãodoAccess Manager.
WebSphere Portal Server
OWebSpherePortalServer(disponívelseparadamente)ofereceumaestruturapara atender aquestões deapresentação,segurança,escalabilidadeedisponibilidade associadasa portais.UtilizandooPortalServer,asempresaspodemconstruirseu próprioWebsitedoportalpersonalizadoparaatender àsnecessidadesde
funcionários,parceirosde negóciosedeclientes.Os usuáriospodemseconectarao portalereceberpáginasdaWebpersonalizadasquefornecemacessoa
informações,pessoaseaplicativosdequeelesprecisam.Esteúnicopontodeacesso personalizadoa todososrecursosnecessáriosreduza sobrecargadeinformações, acelera aprodutividadeeaumentaousodoWebsite.
OWebSpherePortalServeréexecutado emumclusterdo WebSphereApplication Server paraobterescalabilidadeeconfiança.OcomponenteLoadBalancerdo ApplicationServertambém podeser utilizadoparaequilíbriodecargaadicionale alta disponibilidade.
WebSphere Site Analyzer
OWebSphereSiteAnalyzer (disponívelseparadamente) ajudaasempresasa prever seusproblemasdecapacidadeedesempenho.Como SiteAnalyzer,oslogs do CachingProxyedo LoadBalancere outrasajudasde gerenciamentopodemser utilizadosparaprevera demandaporrecursosadicionaismonitorando,analisando e gerandorelatórios deusodeseuWebsite.Alémdisso,oscomponentesde gerenciamentodoSiteAnalyzerajudamosusuáriosqueinstalame fazemupgrade de EdgeComponents,gerenciamearmazenamconfigurações,operamEdge Componentsremotamente, exibemerelatameventos.
©CopyrightIBMCorp. 2004 7
WebSphere Transcoding Publisher
OWebSphereTranscodingPublisher (disponívelseparadamente)podeconverter umapágina daWebparavisualizaçãoemumdispositivomóvel,comoumcelular adaptadoparaInternet,traduziro conteúdodaWebnoidiomanacionalpreferido do usuário(chamandooWebSphereTranslation Server)econverterlinguagensde marcações.OTranscodingPublisher aperfeiçoaascapacidadesdoCachingProxy permitindoqueelesirvaconteúdoparadiferentesdispositivose usuários.Depois de acessaroconteúdodeum servidorWeb,ainterface Transmogrifydo Caching Proxypode serconfiguradaparachamar oTranscodingPublisherparatransformar osdadosemarcá-los paraarmazenamentoemcachevariávelepossível
reutilização.Nainterfacede pós-autenticaçãodoCachingProxy,oTranscoding Publisher verificaentãonoServidorProxyseexisteconteúdocorrespondenteao usuário erequisitosdedispositivose,seencontrarumacorrespondência,serve o conteúdoa partirdacachedoServidorProxy.
Capítulo 3. Mais Informações sobre o Application Server e Edge Components
Adocumentaçãoespecíficaa seguirparao WebSphereApplicationServer Edge ComponentsestádisponívelnoCentrode Informaçõesdo EdgeComponents.
v ProgrammingGuideforEdgeComponentsGC31-6856-00 v CachingProxyAdministrationGuideGC31-6857-00 v LoadBalancerAdministrationGuideGC31-6858-00
Outras documentaçõesdoWebSphereApplicationServer estãodisponíveisa partir dapáginadabibliotecadoWebSphereApplicationServer.
Asinformações desuportede TechnotenoEdgeComponentsestão disponíveisa partirdapáginadesuporte doWebSphereApplicationServer.
Aseguirestáumalistade WebsitesparaobterinformaçõessobreoEdge Componentsou informaçõesrelacionadas:
v WebsitedaIBMhttp://www.ibm.com/
v IBMWebSphereApplicationServerhttp://www.ibm.com/software/webservers/appserv/
v WebsitedabibliotecadoIBM WebSphereApplicationServer http://www.ibm.com/software/webservers/appserv/library.html v Websitede suportedoIBM WebSphereApplicationServer
http://www.ibm.com/software/webservers/appserv/support.html v IBMWebSphereApplicationServerInformationCenter
http://www.ibm.com/software/webservers/appserv/infocenter.html
v CentrodeInformaçõesdoIBM WebSphereApplicationServer EdgeComponents http://www.ibm.com/software/webservers/appserv/ecinfocenter.html
©CopyrightIBMCorp. 2004 9
Parte 2. Conceitos e Discussões sobre Componentes do Edge
Estaparte incluidiscussõesdetalhadasquedestacamalgumasdasfuncionalidades disponíveis comcomponentesdoEdge.ConsulteoCapítulo1,“Introduzindo Componentes doWebSphereApplicationServer Edge”,napágina3 paraobter umavisãogeraldocomponenteCachingProxydoApplicationServer.
Estaparte contémosseguintescapítulos:
Capítulo4,“ArmazenamentoemCache”,napágina 13 Capítulo5,“DesempenhodaRede”,napágina 17 Capítulo6,“Disponibilidade”,napágina21 Capítulo7,“ContentBasedRouting”,napágina27
©CopyrightIBMCorp. 2004 11
Capítulo 4. Armazenamento em Cache
Afuncionalidadedearmazenamentoem cachedo CachingProxyajudaareduzira utilização dalargurade bandadarede easseguraqueosusuáriosfinaisrecebam um serviçomaisrápidoemais seguro.Istoé feitoporque oarmazenamentoem cacheexecutadopeloServidorProxyreduza cargade servidoresde backendede linksde mesmonível.OCachingProxypode armazenarem cacheo conteúdo estáticoeo conteúdogeradodinamicamentepeloWebSphereApplicationServer.
Paraoferecerarmazenamentoem cacheavançado, oCachingProxytambém funcionajunto comocomponenteLoadBalancerdoApplicationServer.Consulteo Capítulo1,“IntroduzindoComponentesdo WebSphereApplicationServer Edge”, na página3paraobter umaintrodução aestessistemas.
Armazenamento em Cache Básico
Asmáquinasdo CachingProxyestãolocalizadas entrea Interneteoshostsde conteúdodaempresa.Agindocomo umsubstituto,oServidorProxyintercepta pedidos dousuárioquechegamdaInternet,encaminha-osparaohostde conteúdoapropriado,armazenaem cacheosdadosretornadoseentregaesses dados ausuáriosnaInternet.OarmazenamentoemcachepermitequeoCaching Proxyatendapedidossubseqüentesdo mesmoconteúdodiretamentedacache,o queémuitomaisrápidodo querecuperá-lonovamentedohostdeconteúdo.As informações podemser armazenadasemcachedependendodequandoexpirarão, do tamanhomáximo dacacheedequandoasinformaçõesdevemser atualizadas.
Temposdedownloadmaisrápidos paracorrespondênciasdacachesignifica melhorqualidadede serviçoparaclientes.AFigura1 descreveafuncionalidade básicadoCachingProxy.
Nesta configuração,o ServidorProxy(4)interceptapedidoscujosURLsincluemo nome dehostdohostde conteúdo(6).Quandoumcliente (1)solicitaumarquivo X,opedidocruza aInternet (2)eentrana redeinternadaempresaatravésdeseu gateway deInternet(3).OServidorProxyinterceptaopedido,geraumnovo pedidocomseupróprioendereçoIPcomooendereçodeorigem eenviaonovo pedidoparaohostde conteúdo(6).
Ohostde conteúdoretornao arquivoXaoServidorProxyemvezderetornar diretamenteaousuáriofinal.Seoarquivopuder serarmazenadoem cache,o
1
1 2 3
1
1X
6 X 5
4
Figura1.ConfiguraçãoBásicadoProxy.Legenda:
1—Cliente 2—Internet 3—Roteador/Gateway 4—Caching Proxy 5—Cache 6—HostdeConteúdo
©CopyrightIBMCorp. 2004 13
CachingProxyarmazenaumacópiaem seucache(5)antesdetransmiti-loao usuário final.Oexemplomaisimportantedeconteúdoquepodeser armazenado em cachesãopáginasdaWebestáticas;porém,oCachingProxytambémoferecea capacidadedearmazenarem cacheeserveoconteúdogerado dinamicamentepelo WebSphereApplicationServer.
Armazenamento em Cache Avançado
Clusters do Caching Proxy com Equilíbrio de Carga
Paraoferecerumafuncionalidadedearmazenamentoemcachemaisavançada, utilizeoCachingProxyjuntocomocomponenteLoadBalancerdoApplication Server. Integrandoosrecursosdearmazenamentoem cacheede equilíbriode carga, vocêpode criarumainfra-estruturadedesempenhodaWebeficiente e altamente gerenciável.
AFigura2 descrevecomovocêpode combinaro CachingProxycomo Load BalancerparaentregarconteúdodaWebdeformaeficiente,mesmoem
circunstâncias degrandedemanda.Nestaconfiguração,oServidorProxy(4)está configuradoparainterceptarpedidoscujosURLsincluem onomedohostparaum cluster dehosts deconteúdo(7)queestárecebendoequilíbriodecargadoLoad Balancer(6).
Quando umcliente(1)solicitaumarquivoX,opedidocruzaa Internet(2)eentra na redeinternadaempresaatravésde seugatewayde Internet(3).OServidor Proxyinterceptaopedido,geraumnovopedidocomseupróprioendereçoIP como oendereçodeorigemeenviao novopedidoparaoLoadBalancerno endereçodo cluster.OLoadBalancerutilizaseualgoritmode equilíbriodecarga paradeterminarqualhost deconteúdotemmaiscapacidade, nomomento,para atender opedidodoarquivoX.EssehostdeconteúdoretornaoarquivoXao ServidorProxyenão atravésdoLoadBalancer.OServidorProxydeterminase devearmazená-lo eentregá-loaousuário finaldaformadescritaanteriormente.
Armazenamento em Cache de Conteúdo Dinâmico
Afuncionalidadedearmazenamentoem cacheavançadotambéméfornecidapelo plug-indeArmazenamentoem CacheDinâmicodoCachingProxy.Quando utilizado comoWebSphereApplicationServer, oCachingProxytem acapacidade
1
1 2 3
11
X 5
4 6
X
7
X
7
X
7
Figura2.CachingProxyAgindocomoServidorProxyparaumClustercomEquilíbriode Carga.Legenda:1—Cliente 2—Internet 3—Roteador/Gateway 4—Caching Proxy 5—Cache 6—LoadBalancer 7—HostdeConteúdo
de armazenaremcache,servire invalidarconteúdodinâmicoemformadeJSP (JavaServerPages) ederespostasde servletgeradasporumWebSphere ApplicationServer.
Geralmente, umconteúdodinâmicocomtempode expiraçãoindefinido deveser marcadocomo″nãoarmazenaremcache″,porquealógica padrãodeexpiraçãoda cachebaseadaem temponão assegurasuaremoçãonahoracerta.Alógica de expiraçãoorientada aeventosdoplug-indoArmazenamentoemCacheDinâmico permitequeoconteúdocomumtempode expiraçãoindefinidosejaarmazenado em cachepeloServidorProxy.Armazenarem cachetalconteúdonaextremidade daredeevitaquehostsde conteúdochamemrepetidamenteumApplicationServer paraatender pedidosdeclientes. Istopode oferecerosseguintesbenefícios:
v Cargadetrabalho reduzidaem servidoresWeb,WebSphereApplicationServere hostsdeconteúdode backend
v Respostamaisrápida parausuários,eliminandoatrasosnarede v Usoreduzidodalarguradebanda,devidoa menostráfegonaInternet v MelhorescalabilidadedeWebsitesqueservemoconteúdogerado
dinamicamente
Oarmazenamentoem cachede respostasdeservleté excelenteparapáginasda Webgeradasdinamicamentequeexpiramcombasena lógicadoaplicativoou em um eventocomoumamensagemdeumbanco dedados.Emboraaduraçãode tal página sejafinita,ovalorde tempodeduraçãonãopode serdefinidonotempo de criaçãoporqueo disparodeexpiraçãonãopode serconhecidoantecipadamente.
Quando otempode duraçãoparataispáginasfordefinidocomozero,oshostsde conteúdoobterãoumagrandepenalidadequandoservindoconteúdodinâmico.
Aresponsabilidadede sincronizara cachedinâmicadoCachingProxye ApplicationServeré compartilhadapor ambosossistemas.Porexemplo,uma página daWebpública geradadinamicamenteporumaplicativoquefornecea previsãodotempo atualpodeser exportadapeloApplicationServer earmazenada em cachepeloCachingProxy.OCachingProxypode entãoservirosresultadosde execuçãodo aplicativorepetidamenteparamuitosusuáriosdiferentes, atéser notificadode quea páginaéinválida.Oconteúdonacachederespostadoservlet do CachingProxyseráinvalida atéqueoServidorProxyremovaumaentrada porque acacheestácongestionada,otempo limitepadrãodefinidopeladiretriz ExternalCacheManager noarquivodeconfiguraçãodo CachingProxyexpireouo CachingProxyreceba umamensagemdeInvalidaçãoinstruindo-oa eliminaro conteúdode seucache.Asmensagensde InvalidaçãosãooriginadasnoWebSphere ApplicationServerquepossuioconteúdoesãopropagadas paracadaCaching Proxyconfigurado.
Nota: Aspáginasprivadasgeradasdinamicamente(comoumapáginaquemostra oconteúdodocarrinhodecomprasdeum usuário)geralmentenão podem enãodevem serarmazenadasemcachepeloCachingProxy.OCaching Proxypodearmazenaremcacheeservirpáginasprivadassomentequando estiverconfiguradoparaexecutarautenticaçãoeautorizaçãoparaassegurar queaspáginasprivadassejamservidasapenasa seususuáriospretendidos.
Recursos Adicionais de Armazenamento em Cache
OCachingProxyofereceoutrosimportantesrecursosde armazenamentoemcache avançados:
v Acapacidadedeutilizarcachesmuitograndes
Capítulo4.ArmazenamentoemCache 15
v Umaopçãoparaatualizar automaticamentea cachecomaspáginasacessadas maisfreqüentemente
v Apossibilidade dearmazenaremcacheatéaspáginasnasquaisasinformações decabeçalhoindicamquedevemser semprebuscadas
v Acoletadelixoconfiguráveldiariamenteparamelhorarodesempenhodo servidoreassegurarmanutenção dacache
v RCA(RemoteCacheAccess),umafunçãoquepermitequeváriasmáquinasdo CachingProxycompartilhema mesmacachereduzindo,assim,a redundância doconteúdoarmazenadoemcache
v Oplug-inICP,quepermitequeo CachingProxyconsulte cachescompatíveis comICP(Internet CachingProtocol)na pesquisadepáginasHTMLedeoutros recursosquepodemser armazenadosem cache
Capítulo 5. Desempenho da Rede
OdesempenhodaredeéafetadopelaintroduçãodafuncionalidadedoCaching Proxy.Utilize oCachingProxysozinhoou juntocomoLoadBalancerpara melhorarodesempenhode suarede.Consulte oCapítulo1,“Introduzindo Componentes doWebSphereApplicationServer Edge”,napágina3 paraobter umaintroduçãoa estessistemas.
OdesempenhodoCachingProxyemsuaempresaétãobomquantoohardware noqual eleéexecutado eaarquitetura geraldosistemanoqualelefoi
introduzido.Paraotimizarodesempenhodarede,modele ohardwareea arquitetura geraldarede paraascaracterísticas deServidorProxy.
Nota: Éclaro,a configuraçãoe administraçãobásicasdosoftwaredoCaching Proxyeoajustenoníveldo sistemaoperacional tambémcontribuemmuito paraodesempenhodoCachingProxy.Muitasalteraçõesdeconfiguraçãodo softwarepodemserfeitasparaaumentarodesempenho;elasincluem,mas nãoestãolimitadasaoajustedediretrizes deregistros,regrasde
mapeamento,plug-ins,valoresdetempolimite,valoresdeconfiguraçãoda cacheevaloresde threadativos.Muitasalteraçõesnaconfiguraçãodo sistemaoperacionalpodemserfeitasparaaumentarodesempenho;elas incluem,masnãoestão limitadasaoajustedeTCPeARP,aumentode limitesdodescritorde arquivos,sincronizaçãode clocksdo sistema,ajuste deplacasNIC (NetworkInterfaceCards)erealização depráticas
recomendáveisaoexecutartarefasdeadministração dosistema.Detalhes sobrea configuraçãodosoftwareCachingProxysãoapresentadosno CachingProxyAdministrationGuide.
Hardware de Rede
Estaseçãodiscuteosproblemasdehardwarederedea seremconsideradosao apresentara funcionalidadedo CachingProxyem suarede.
Considerações sobre Memória
Uma grandequantidadede memóriadeveserdedicadaaoServidorProxy.O CachingProxypode consumir2GBdeespaçodeendereçovirtual quandouma grandecachesomentememóriaéconfigurada.Amemóriatambéménecessária paraokernel, bibliotecascompartilhadasebuffers derede.Portanto,épossívelter um ServidorProxyqueconsuma3ou4 GBde memóriafísica.Observequea cachesomentememóriaésignificativamentemais rápidadoqueumacachede discobruta esomenteestaalteraçãopodeser consideradaumamelhoriano desempenho.
Considerações sobre Disco Rígido
É importanteterumagrandequantidadede espaçoemdisconamáquinaonde o CachingProxyestáinstalado.Istoseaplicaprincipalmentequandosãoutilizadas cachesde disco.Aleitura egravaçãoemumdiscorígidosãoumprocesso intensivo paraum computador.Emboraosprocedimentosde E/SdoCaching Proxysejameficientes,aslimitaçõesmecânicasde unidadesdediscorígidopodem restringirodesempenhoquandooCachingProxyestiverconfiguradoparautilizar umacachededisco.OgargalodeE/Sde discopode serreduzidocompráticas como autilizaçãode váriosdiscosrígidosparadispositivosdecachebrutose
©CopyrightIBMCorp. 2004 17
arquivosde loge comautilizaçãode unidadesdediscocomtemposdeprocura, velocidades rotacionaisetaxasdetransferênciarápidos.
Considerações sobre Rede
Os requisitosde rede,taiscomo velocidade,tipo denúmerodeNICs ea velocidade daconexãode redecomoServidorProxyafetamodesempenhodo CachingProxy.Geralmente,é muitoimportanteparaodesempenhoutilizarduas NICs emumamáquinadoServidorProxy:umaparaotráfegodeentradaeuma paraotráfegode saída.Provavelmente,umaúnicaNICpodeatingirseulimite máximo somentepelotráfegodepedidose respostasdeHTTP.Além disso,as NICs devemterpelomenos100 MBedevemser sempreconfiguradasparauma operaçãofull-duplex.Isto ocorreporque anegociaçãoautomáticaentreo
roteamento eoequipamentodechave provavelmentepode causarerrose prejudicarodesempenho.Porúltimo,avelocidadedaconexãoderedeé muito importante.Porexemplo,vocênãopode esperaratendera umaalta cargade pedidos ealcançarumótimorendimentosea conexãocomamáquinadoCaching ProxyforumaportadoraT1saturada.
Considerações sobre CPU
ACPU (CentralProcessingUnit)deumamáquinadoCachingProxy
provavelmentepode setornarum fatorlimitante.Apotência daCPU afetaa quantidadede tempogastoparaprocessarpedidoseonúmerode CPUsnarede afetaa escalabilidade.É importantecorresponderosrequisitosdaCPUdo Servidor Proxyaoambiente,principalmenteparamodelara cargamáxima depedidosqueo ServidorProxyatenderá.
Arquitetura de Rede
Paradesempenhogeral,geralmenteé útilescalar aarquiteturaenão apenasincluir partesde hardwareindividuais. Nãoimportaaquantidadedehardwareincluída em umaúnicamáquina,essehardwareaindateráum nívelmáximode
desempenho.
Aseçãodiscuteosproblemasdearquiteturade redeaseremconsideradosdurante a introduçãodafuncionalidadedo CachingProxyem suarede.
Considerações sobre Popularidade do Web Site e de Carga do Servidor Proxy
Seo Websitede suaempresaforpopular,poderáhavermaiordemandaporseu conteúdodo queumúnicoServidorProxypossa atenderdeformaeficiente, resultandoem temposderespostalentos.Paraotimizarodesempenhodarede, considere incluirmáquinasdoCachingProxycomcluster,comequilíbriode carga ou utilizarumaarquiteturade cachecompartilhadacomRCA(RemoteCache Access)em suaarquitetura deredegeral.
v Clusterscomequilíbriodecarga
Umaformadeescalara arquiteturaéfazercluster deServidorProxyeutilizaro componenteLoadBalancerparaequilibrara cargaentreeles.Fazerclusterde ServidorProxyéumaconsideração dedesignútilnãoapenasporrazõesde desempenhoe escalabilidade,mastambémpormotivosderedundânciae confiança.UmúnicoServidorProxyrepresentaum únicopontode falha;seele falharouficarinacessíveldevido aumafalhanarede,osusuáriosnão poderão acessarseuWebsite.
v Arquiteturadecachecompartilhada
ConsideretambémumaarquiteturadecachecomRCA.Umaarquitetura de cachecompartilhadaespalhaacachevirtualtotalentreváriosservidores CachingProxyquegeralmenteutilizamum protocoloentrecachescomo oICP (InternetCacheProtocol)ouoCARP(CacheArrayRouting Protocol).ORCAfoi projetadoparaaumentarasproporções decorrespondênciasdacachecom cluster,fornecendoumagrandecachevirtual.
OsbenefíciosdedesempenhoresultamdautilizaçãodeumamatrizRCAde ServidorProxyem contrastecomumúnicoCachingProxyindependenteouaté mesmoumclusterde máquinasdoCachingProxyindependentes.Geralmente, osbenefíciosde desempenhosãocausadospeloaumentodo tamanhodacache virtualtotal,quemaximizaa proporçãodecorrespondência dacacheeminimiza ainconsistênciaea latênciadacache. ComoRCA,somenteumacópiadeum documentoespecíficoresidenacache. Comumclusterde ServidorProxy,o tamanhodacachetotaléaumentado,masváriosservidoresproxy
provavelmentebuscarão earmazenarãoem cacheasmesmasinformações.
Portanto,aproporçãode correspondênciadacachetotalnãoéaumentada.
ORCAécomumenteutilizadoem grandescenáriosdehospedagemde conteúdocorporativo.Noentanto,autilidadedoRCAnãoestálimitadaa implementaçõescorporativasextremamente grandes.ConsidereutilizaroRCA sea cargadesuaredeexigirumcluster deservidoresdacacheeseamaioria dospedidos forcorrespondênciasdacache.Dependendodaconfiguraçãodesua rede,o RCAnemsempremelhoraodesempenhocorporativodevidoa um aumentononúmerodeconexõesTCPqueumclienteutilizaquandooRCAé configurado.Isto ocorreporque ummembrodoRCAé responsávelnão apenas poratenderàsURLsparaasquaiseletema melhorpontuação, mastambém deveencaminharpedidosparaoutrosmembrosou clustersseobtiverum pedidoparaumaURLparaa qualelenãotema melhorpontuação.Isto
significaquequalquermembrodeumamatrizRCApodetermais conexõesTCP abertasdoqueteriasefuncionassecomoum servidorindependente.
Considerações sobre Tipos de Tráfego
Asprincipais contribuiçõesparaummelhordesempenhoresultamdascapacidades de armazenamentoemcachedoCachingProxy.Noentanto,a cachedo Servidor Proxypode setornarum gargalosenãoestiverconfigurada corretamente.Para determinara melhorconfiguraçãodacache,deveser feitoumgrandeesforçopara analisar ascaracterísticas dotráfego.Otipo,tamanho,quantidadeeatributosdo conteúdoafetam odesempenhodo ServidorProxyemtermosdetempogasto para recuperardocumentos deservidoresdeorigemea carganoservidor.Quando você conhece otipodetráfegoqueoCachingProxyvaiaceitarouatender apartirde seucache,épossível incluircomofatoresessascaracterísticas durantea
configuraçãodo ServidorProxy.Porexemplo,sabendoque80%dosobjetosque estãosendoarmazenadosemcachesãoimagens(*.gifou *.jpg)equetêm aproximadamente200 KBdetamanhopodeajudaraajustarosparâmetrosde armazenamento emcacheedeterminarotamanhodacache.Alémdisso,saberque a maioriadoconteúdosãopáginasdinâmicaspersonalizadas quenão são
candidatasa armazenamentoemcachetambémérelativoaoajuste doCaching Proxy.
Analisar ascaracterísticasdotráfegopermitedeterminarseépreciso utilizaruma memóriaoucachedediscoparaotimizaro desempenhode seucache.Alémdisso, a familiaridadecomascaracterísticas detráfegodarede permitedeterminarseo desempenhoaumentadopode resultardautilização dorecursodearmazenamento em cachedinâmico doCachingProxy.
v Memóriaversuscachededisco
Capítulo5.DesempenhodaRede 19
Ascachesdediscosãoapropriadasparasitescom grandesquantidadesde informaçõesaseremarmazenadasemcache.Por exemplo,seoconteúdodosite forgrande(maior doque5 GB)e houverumataxade correspondênciadacache de80a90%, istoindicaqueérecomendadaumacachededisco. Noentanto, sabe-sequeutilizaracachedememória(RAM)é maisrápidoea existênciade muitoscenáriosaoutilizarumacachesomentememóriaé recomendávelpara grandessites.Porexemplo,seataxadecorrespondênciadacachedoCaching Proxynãofortãoimportanteouseestiversendoutilizadaumaconfiguraçãode cachecompartilhada,acachedememóriaseráútil.
v Conteúdogeradodinamicamentepeloarmazenamentoemcache
OCachingProxypode armazenarem cachee invalidaroconteúdodinâmico (resultadosdeJSPede servlet)geradopelacachedinâmicadoWebSphere ApplicationServer,fornecendoumaextensãovirtual dacachedoApplication Serverparacachesbaseadasemrede.Ativaroarmazenamentoem cachede conteúdogeradodinamicamenteéútilparaodesempenhodarede emum ambientenoqualhámuitospedidospor páginasdaWebpúblicasgeradas dinamicamente,queexpiramcombase nalógicadeaplicativo ouemumevento comoumamensagemdeum bancodedados.Aduraçãodapáginaéfinita,mas umdisparodeexpiraçãonão podeserdefinidonomomentodesuacriação;
portanto,hostssemumarmazenamentoemcachedinâmicoeumrecursode invalidaçãodevemdesignar estetipo depáginacomo tendoumvalorde tempo devidazero.
Setalpágina geradadinamicamenteforsolicitadamaisde umavezdurante seu ciclodevida porumoumaisusuários, oarmazenamentoemcachedinâmico forneceráumagranderemoçãodetrabalhoereduzirá acargadetrabalhonos hostsdeconteúdode suarede.Autilizaçãodearmazenamentoem cache dinâmicotambémmelhoraodesempenhodarede,fornecendorespostarápida aosusuários,eliminandoatrasosdaredeereduzindoousodelarguradebanda devidoa umtráfegomenosintenso naInternet.
Capítulo 6. Disponibilidade
Funcionando juntocomhosts deconteúdo,taiscomoWebSphereApplication Server oucomocomponenteCachingProxydoApplicationServer,ocomponente LoadBalancerdoApplicationServerpermitemelhoraradisponibilidadee
escalabilidadedesuarede.(Consulteo Capítulo1,“IntroduzindoComponentesdo WebSphereApplicationServerEdge”,na página3paraobter umaintrodução a estesEdgeComponents).OLoadBalanceréutilizado porredescorporativaseé instaladoentreaInternet eosservidoresdebackenddaempresa.OLoadBalancer agecomo oúnicopontodepresençadaempresanaInternet,mesmoquea
empresautilizemuitosservidoresdebackenddealtademanda ouumagrande quantidadedeconteúdo.
Adisponibilidade éalcançadapormeiodoequilíbrio decargaedesuportea failover.
Equilíbrio de Carga
Oequilíbriode cargamelhoraa disponibilidadeeescalabilidadedoWebsite fazendo clusterdeservidoresproxyedeservidoresdeaplicativosdeforma transparente.Aescalabilidadedeumainfra-estruturade TIémelhorada
significativamenteporque aforçado processamentodebackendpodeserincluída de formatransparente.
Equilíbrio de Carga de Vários Hosts de Conteúdo
Agrandedemandapode seratendida duplicando-seoconteúdoemvárioshosts, masserápreciso umamaneira deequilibrara cargaentreeles.ODNS(Domain Name Service)pode fornecerequilíbrio decargaemrodíziobásico,mashávárias situações emqueseudesempenhonãoé satisfatório.
Uma soluçãomaissofisticada parao equilíbriodecargadevárioshostsde conteúdoéutilizarocomponenteDispatcherdo LoadBalancer,conformedescrito na Figura3napágina 22.Nesta configuração,todososhostsdeconteúdo(as máquinasmarcadas comonúmero5)armazenam omesmoconteúdo.Elessão definidos paraformarum clustercomequilíbriodecargaeumadasinterfacesde rede damáquinadoLoadBalancer(4)recebeatribuiçãodeumnome dehostede um endereçoIPdedicado aocluster.Quandoum usuáriofinalquetrabalhaem umadasmáquinasmarcadas comonúmero1solicitaoarquivoX,opedidopassa pelaInternet (2)eentra naredeinternadaempresaatravésde seugatewayda Internet (3).ODispatcherinterceptaopedidoporquesuaURLémapeadaparao nome dohosteoendereçoIPdoDispatcher.ODispatcherdeterminaqualdos hosts deconteúdonoclustertemmelhorcapacidadeparaatender aopedidoe encaminha opedidoparaessehostque,quandoométododeencaminhamento MAC éconfigurado,retornaoarquivoXdiretamenteaocliente(ouseja,oarquivo Xnão passapeloLoadBalancer).
Nota: ODispatcherfornecetrês métodosdeencaminhamento:
v OmétodoMACéutilizadoparafazeroequilíbrio decargadepedidosde entradaparaoservidor.Asrespostas sãoretornadasdiretamenteao cliente.
©CopyrightIBMCorp. 2004 21
v OmétododeencaminhamentoNAT/NAPTéutilizadocomservidores localizadosremotamente. Ospedidosdeentradarecebemequilíbrio de cargafeitopeloDispatcher,querecebeasrespostasdo servidoreas retornaaosclientes.
v OmétodoCBR(Content-Based Routing)forneceroteamentobaseadoem conteúdodepedidos HTTPeHTTPSsemutilizaroCachingProxy.O roteamento baseadoemconteúdoéexecutadoparao HTTPutilizandoa regradetipo″content″eparaHTTPSutilizandoa autorizaçãodoIDde sessãoSSL.
Por padrão,o Dispatcherutilizaequilíbriodecargaemrodíziocomo oDNS,mas, ainda assim,cuidadeváriasdasimperfeiçõesdo DNS.AocontráriodoDNS,ele acompanhaseumhostdeconteúdoestáindisponívelouinacessível epárade direcionarclientesparaumhostdeconteúdoindisponível.Além disso,levaem consideração acargaatualnoshosts deconteúdoacompanhandoconexõesnovas, ativase concluídas.Vocêpode otimizaraindamaisoequilíbrio decargaativandoo consultor opcionaleoscomponentesdo gerenciadordo LoadBalancer,que
rastreiam umstatusdohost deconteúdocommaiorprecisãoeincorporamas informações adicionaisnoprocessodedecisão deequilíbriodecarga. O gerenciadorpermitequevocê atribuapesosdiferentesaosdiferentesfatores utilizadosnoprocessode decisão,personalizando,adicionalmente,oequilíbriode cargadeseusite.
Equilíbrio de Carga de Vários Servidores Proxy
ODispatcherdo LoadBalancertambém podeexecutaroequilíbrio decargade váriasmáquinasdo CachingProxy.SeoWebsitede suaempresaforpopular, poderáhavermaiordemanda paraseuconteúdodoqueumúnicoServidorProxy possa atenderde formaeficiente,diminuindo potencialmenteodesempenhodo ServidorProxy.
Você podeterváriossistemasCachingProxyexecutandofunçõesdeproxypara um únicohostdeconteúdo(semelhanteà configuraçãodescritana Figura1na página 13),mas seseusiteforpopularosuficienteparaprecisarde vários
Servidores Proxy,provavelmentevocêtambémprecisede várioshosts deconteúdo cujascargassejamequilibradaspeloLoadBalancer.AFigura4na página23 descreveestaconfiguração.ODispatcher marcadocomonúmero4 fazoequilíbrio de cargade umclusterdedoisServidores Proxy(5)eoDispatchermarcadocomo número7 fazoequilíbriode cargadeum clusterdetrês hostsdeconteúdo(8).
1
1 2 3
1
14
5
X
5
X
5
X
Figura3.EquilíbriodeCargadeVáriosHostsdeConteúdo.Legenda:
1—Cliente 2—Internet 3—Roteador/Gateway 4—Dispatcher 5—Hostde Conteúdo
Onomedo hostdoclusterdo Dispatchermarcadocomonúmero4éonome do host queaparecenasURLsdo conteúdodaWebdaempresa(ouseja,éonome do Websitevisível naInternet).Onomedohostdo clusterdoDispatchermarcado como número7nãofica visívelnaInternet e,portanto,podeser qualquervalor desejado.Porexemplo,paraaABCCorporation,umnome dehostapropriado paraoDispatcher marcadocomonúmero4 éwww.abc.com,enquantoo Dispatchermarcadocomonúmero7 podeser chamadodealgocomo http-balancer.abc.com.
Suponhaqueumnavegadoremumadasmáquinasclientesmarcadascomo número1 preciseacessaro arquivoXarmazenadonos servidoresde conteúdo marcados comonúmero8.OpedidodeHTTPpassapelaInternet (2)eentrana rede internadaempresanogateway(3).Oroteadordirecionaopedidoparao Dispatchermarcadocomonúmero4,queotransmiteaoServidorProxy(5),que tem,nomomento, melhorcapacidadeparatratá-lo,de acordocomoalgoritmode equilíbrio decarga.SeoServidorProxytiveroarquivoXemseucache(6),eleo retornará diretamenteaonavegador, ignorandooDispatchermarcadocomo número4.
Seo ServidorProxynão tiverumacópiadoarquivoXemseucache,elecriaum novopedidoquetenhaseupróprionome dehostnocampode origemdo cabeçalhoe oenviaaoDispatcher marcadocomonúmero7.OLoadBalancer determinaqual hostdeconteúdo(8)tem,nomomento, melhorcapacidadede atender aopedidoe direcionaopedidoparalá.Ohostdeconteúdoobtémo arquivoXdoarmazenamentoeo retornadiretamenteparaoServidorProxy, ignorandoo Dispatchermarcadocomo número7.OServidorProxyarmazenaem cacheoarquivoX,seapropriadoeo enviaparaonavegador,ignorandoo
Dispatchermarcadocomonúmero4.
Suporte à Failover
OLoadBalanceragecomoumúnicopontodepresença paraoshostsde conteúdo de suaempresa.Isto éútilporque vocêinformaonome dohosteoendereçodo cluster noDNS,em vezdonomedo hostedoendereçodecadahostdeconteúdo, queforneceumníveldeproteçãocontraataquescasuaiseforneceumaaparência unificada parao Websitede suaempresa.Paraaperfeiçoarainda maisa
disponibilidade doWebsite, configureoutroLoadBalancerparaagircomoum backupparaoLoadBalancerprincipal,conformedescritonaFigura5 napágina 24.SeumLoadBalancerfalharouficar inacessíveldevidoa umafalhanarede,os usuáriosfinaisaindapoderãoacessar oshosts deconteúdo.
1
1 2 3
11
4
X 6
5
X 6
5 7
X
8
X
8
X
8
Figura4.EquilíbriodeCargadeVáriosServidoresProxyeHostsdeConteúdo.
1—Cliente 2—Internet 3—Roteador/Gateway 4—Dispatcher 5—Caching Proxy 6—Cache 7—Dispatcher 8—HostdeConteúdo
Capítulo6.Disponibilidade 23
Nocasonormal,umnavegadorem execuçãoemumadasmáquinasmarcadascom o número1direcionaseupedidodeum arquivoXparaonomede hostdocluster queestámapeadoparao LoadBalancerprincipal(4).ODispatcherroteiaopedido paraohost deconteúdo(6)selecionadocombasenoscritériosdeequilíbrio de cargadoDispatcher.OhostdeconteúdoenviaoarquivoXdiretamenteparao navegador, roteando-oparaogateway daempresa(3)pelaInternet(2),mas ignorandoo LoadBalancer.
ObackupDispatcher(5)não executaoequilíbriode carga,desdequeo principal estejaoperacional.OsDispatcherprincipalede backupacompanhamseusstatus trocandomensagens chamadaspulsações,periodicamente.SeoDispatcherde backupdetectarqueoprincipalfalhou,eleautomaticamenteassumea responsabilidade defazeroequilíbriode carga,interceptandopedidos direcionados aonome dohosteendereçoIPdeclusterdo principal.
Hátambém apossibilidade deseconfigurardoisDispatcherparaaalta disponibilidademútua.Nestecaso,cadaumexecutará ativamenteoequilíbriode cargaparaumclusterseparadodehosts deconteúdo,agindoaomesmotempo como obackupparaseuparceiro.
ODispatchergeralmente nãoconsomemuitosrecursos deprocessamentooude memóriaeoutrosaplicativospodemserexecutadosnamáquinadoLoadBalancer.
Sefor importantereduzircustoscomo equipamento,serápossívelatémesmo executaro backupdo Dispatcheremumadasmáquinasdoclusterna qualeleestá fazendo oequilíbriodecarga.AFigura6 napágina25representaessa
configuração,naqual oDispatcherdebackupéexecutadoem umdoshostsde conteúdo(5)docluster.
1
1 2 3
1
1 45
X
6
X
6
X
6
Figura5.UtilizandoumLoadBalancerPrincipaledeBackupparaTornaroConteúdoda WebAltamenteDisponível.Legenda:
1—Cliente 2—Internet 3—Roteador/Gateway 4—PrincipalDispatcher 5—Backup Dispatcher 6—HostdeConteúdo
1
1 2 3
1
14
5
X X
6
X
6
Figura6.LocalizandooLoadBalancerdeBackupemumHostdeConteúdo.Legenda:
1—Cliente 2—Internet 3—Roteador/Gateway 4—PrincipalDispatcher 5—Backup DispatchereHostdeConteúdo 6—HostdeConteúdo
Capítulo6.Disponibilidade 25
Capítulo 7. Content Based Routing
Funcionando comocomponenteCachingProxydoApplicationServer,o
componenteLoadBalancerdoApplicationServer permitedistribuirpedidospara váriosservidoresdebackendquehospedam conteúdodiferente.(Consulteo Capítulo1,“IntroduzindoComponentesdo WebSphereApplicationServer Edge”, na página3paraobter umaintrodução aestesEdgeComponents).
Seo componenteCBR(ContentBased Routing)doLoadBalancerforinstalado junto comoCachingProxy,ospedidosHTTPpodemserdistribuídoscombase na URLououtrascaracterísticasdeterminadaspeloadministrador,eliminandoa necessidadedearmazenarconteúdoidêntico emtodososservidoresbackend.
Nota: OcomponenteDispatcher doLoadBalancerpodeser configuradopara utilizarométododeroteamentobaseadoem conteúdoparaoferecero roteamentobaseadoem conteúdodepedidosHTTPeHTTPSsemutilizaro CachingProxy.Nestecaso,oroteamento baseadoemconteúdoéexecutado paraHTTPutilizandoa regrade tipo″content″e paraHTTPSutilizandoa autorizaçãodeIDdesessãoSSL.
OusodoCBRseráespecialmenteapropriado seosservidoresdaWebprecisarem executarváriasfunçõesdiferentesouoferecerváriostiposdeserviços.Por exemplo,ositedeumvarejista on-linenaWebdeveexibirseucatálogo,emque umagrandeparteéestática eaceitarpedidos,oquesignificaexecutarum aplicativo interativo,talcomo umscriptCGI(CommomGatewayInterface)para aceitarnúmeros deitense informaçõesdocliente.Ésempremaiseficienteterdois conjuntos diferentesdemáquinasparaexecutarasfunçõesdistintaseutilizaro CBRpararotearosdiferentestiposdetráfegoparaasdiferentesmáquinas.Da mesma forma,umaempresapode utilizaro CBRparafornecerumserviçomelhor paraclientespagantesdo queparavisitantescasuaisdeseusitenaWeb,roteando ospedidospagos paraservidoresdaWebmaispotentes.
OCBRroteiapedidoscombaseem regrasquevocêescreve. Otipo maiscomum é a regradeconteúdo,quedirecionapedidoscombasenonomedo caminhonaURL.
Por exemplo,aABCCorporation podeescreverregrasquedirecionempedidosda URLhttp://www.abc.com/catalog_index.htmlparaumclusterde servidorese http://www.abc.com/orders.htmlparaoutrocluster.Hátambémregrasque roteiampedidos combasenoendereçoIPdo clientequeosenviououemoutras características. Parasabermais,consulteoscapítulosdoWebSphereApplication Server LoadBalancerAdministrationGuidesobreconfiguraçãodo CBResobre funçõesavançadas doLoadBalanceredoCBR. Paraobterasdefiniçõesdesintaxe dasregras,consulteoapêndicedoWebSphereApplicationServerLoad Balancer AdministrationGuidesobreostiposderegrasdoCBR.
AFigura7 napágina28descreveumaconfiguraçãosimplesna qualocomponente CBRdoLoadBalancereo CachingProxysãoinstalados juntosnamáquina marcada comonúmero4eroteiapedidosparatrêshosts deconteúdo(6,7 e8) quehospedamconteúdodiferente.Quandoum usuáriofinalquetrabalhaemuma dasmáquinasmarcadas comonúmero1solicitaoarquivoX,opedidopassapela Internet (2)eentra naredeinternadaempresaatravésde seugatewaydaInternet (3).OServidorProxyinterceptaopedidoetransmite-oaocomponenteCBRna mesma máquina,queanalisaaURLnopedidoedeterminaqualhostdeconteúdo 6 hospedaoarquivoX.OServidorProxygeraumnovopedidoparaoarquivoX,
©CopyrightIBMCorp. 2004 27
e seseurecursodearmazenamentoemcacheestiverativado,determinaseo arquivoéelegívelparaarmazenamentoem cachequandoohost6 oretorna.Seo arquivopuderser armazenadoemcache, oServidorProxyarmazenaráumacópia em seucache(5)antesdetransmiti-loparaousuáriofinal.Oroteamentopara outros arquivosfuncionadamesma forma:pedidosparaoarquivoYvãoparao host deconteúdo7,epedidosparaoarquivoZvãoparaohostdeconteúdo8.
AFigura8 napágina29representa umaconfiguraçãomais complexaquetema possibilidade deseadequara umvarejistaon-line. OcomponenteCBRdoLoad Balancere oServidorProxysãoinstalados juntosna máquinamarcadacomo número4 eroteiampedidosparaduasmáquinasdoLoadBalancer.Amáquinado LoadBalancermarcadacomo número6 equilibraa cargade umclusterdehosts de conteúdo(8)quehospedaoconteúdomaisestáticodocatálogodovarejista, enquantooLoadBalancermarcadocomonúmero7equilibra acargadeum cluster deservidoresWebquetratampedidos (9).
Quando umusuáriofinalquetrabalhaem umadasmáquinasmarcadas como número1 acessaa URLdocatálogodovarejista,opedidopassapelaInternet(2)e entra naredeinternadaempresaatravésde seugatewaydaInternet(3).O ServidorProxyinterceptaopedidoo transmite-oaocomponenteCBRnamesma máquina, queanalisa aURLedeterminaseamáquinadoLoadBalancermarcada como número6trataráessaURL.OServidorProxycria umnovopedidode acesso eenvia-oaoLoadBalancer,quedeterminaqualdoshostsdeconteúdo marcadocomonúmero8 tem,nomomento,melhorcapacidadedeatender o pedido(combase noscritériosdefinidos).Essehostdeconteúdotransmiteo conteúdodo catálogodiretamenteparaoServidorProxy,ignorandooLoad Balancer.Comonoexemploanterior,oServidorProxydeterminaseoconteúdo pode serarmazenado emcacheeoarmazenaemseucache(5),seapropriado.
Ousuário finalfazum pedidoacessandooURLdo varejistaparapedidos, presumivelmentepormeiode umhyperlinknocatálogo.Opedidofazo mesmo caminho queopedidode acessodocatálogo,excetoqueocomponenteCBRna máquina4 roteia-oparaa máquinado LoadBalancermarcadacomonúmero7.O LoadBalancerencaminha-oaomaisapropriadodosservidoresWebmarcadocom o número9,queresponde diretamenteaoServidorProxy.Comoasinformaçõesdo pedidosãogeralmente geradasdeformadinâmica,oServidorProxy
provavelmentenão asarmazenaem cache.
1
1 2 3
1
1X 5 4
X
6
7
Y
8
Z
Figura7.RoteandoPedidosdeHTTPcomoCBR.Legenda:
1—Cliente 2—Internet 3—Roteador/Gateway 4—CachingProxyeComponente CBRdoLoadBalancer 5—Cache 6,7,8—HostdeConteúdo