jboss eap 6
DESCRIPTION
JBoss EAP 6 Standalone x DomainTRANSCRIPT
JBoss EAP 6
Elvis RochaConsultor [email protected]
JBoss EAP 6
Estrutura de arquivosConfiguração e Administração
Subsistemas e PerfisModo Standalone
Modo Domain
Estrutura de Arquivos
Configuração
• Configuração centralizada – Arquivo únicoNão há mais arquivos de configuração espalhados.
Domain: domain.xmlStandalone: standalone.xml
• As alterações feitas nas ferramentas de administração são refletidas nos arquivos de configuração.
Configuração
Administração
• Console Line Interface (CLI)/jboss-eap-6.0/bin/jboss-cli.sh
• Console Webhttp://localhost:9990/console
Administração
JBoss-CLI
• Adicionando usuários:/jboss-eap-6.0/bin/add-user.sh
• Acessando a interface de administração:./jboss-eap-6.0/bin/jboss-cli.sh --connect Connected to standalone controller at localhost:9999 [standalone@localhost:9999 /] :read-attribute(name=server-state) { "outcome" => "success", "result" => "running" } [domain@localhost:9999 /] deploy -all-server-groups /home/helloworld.war
Web Console
• Disponível por padrão em:http://localhost:9990/console
• Disponível tanto para o modo Standalone quanto para o modo Domain.
Administração
• Standalone:Gerencia a instância JBoss atual
• Domain:Gerencia várias instâncias a partir de um único pontoFaz deploy em várias instâncias de uma vezFaz rollback em várias instâncias de uma vez
Subsistemas
• Um subsistema é um serviço ou componente que existe no servidor e que tem sua configuração agrupada.Exemplo: Transaction Manager, Messaging, EJB, WebServer, JGroups, etc..
• Cada subsistema tem sua seção de configuração. (standalone.xml ou domain.xml)
Perfis
• A quantidade de subsistemas que um grupo ou um servidor vai possuir depende do perfil escolhido.
Default: Perfil web do JavaEE com suporte a WebServices RestFul e EJB3Full – Suporte a tudo da especificação JavaEE sem clusterHa – Perfil default com suporte a clusterFull-ha – Perfil Full com suporte a cluster
Perfis
• Exemplo da configuração de um perfil:<domain xmlns="urn:jboss:domain:1.0"> .... <profile name=”web”> .... <subsystem xmlns="urn:jboss:domain:web:1.0"> <connector name="http" protocol="HTTP/1.1" socket-binding="http" scheme="http"/> <virtual-server name="localhost"> <alias name="example.com"/> </virtual-server> </subsystem> <subsystem xmlns="urn:jboss:domain:weld:1.0"/> </profile> ....
Modo Standalone
• Cada instância é gerenciada independentemente• O Usuário é responsável pelas mudanças nos
servidores• Semelhante às versões anteriores do JBoss
Standalone em Cluster• Servidores Standalone em Alta Disponibilidade (HA)
O modo Standalone se difere do modo Domain somente no gerenciamento, os serviços continuam da mesma forma.
Modo Domain
• Várias instâncias com a mesma configuração.• Política dos servidores definida no arquivo
domain.xml• Servidores podem ser heterogêneos no
domínio (conceito de grupos).
Domain - Topologia
Domain Controller
• É um Host Controller configurado para ser “master”, chamado de Domain Controller
• Os outros Host Controllers são contralados pelo Domain Controller
• A tarefa de administração é feita interagindo com o Domain Controller
• O DC coordena o push de configurações nos Host Controllers e nas instâncias
Host Controller
• Um por máquina• Chamado via ./host-slave.sh• Quando iniciado contacta o Domain para obter
as configurações.• Controla as instâncias naquela máquina (a
gerência é feita pelo Domain)• Coordena as mudanças entre as instâncias• Não atende requisições
Grupos
• Cada instância criada no Domain pertence a um Grupo (server-group)
• Um Domain pode ter vários Grupos• A maioria das configurações são feitas por
grupo: Deploy, Sockets, Datasources, etc..
Domain - Instâncias
• Uma instância de JBoss no modo domain é derivada de dois lugares:
Configurações relativas ao domain: domain/configuration/domain.xml – no Domain Controller Configurações específicas do host:domain/configuration/host-slave.xml – No Host Controller
Master (Domain Controller)<domain xmlns="urn:jboss:domain:1.0"> ...
<profiles><profile name="web">... details of the web profile</profile> <profile name=“jms">... details of the messaging profile</profile>
</profiles> <socket-binding-groups>
<socket-binding-group name="web-sockets" default-interface="local"> ...</socket-binding-group> <socket-binding-group name=“jms-sockets" default-interface="local"> ...</socket-binding-group>
</socket-binding-groups> <server-groups>
<server-group name="web-group" profile=“web"> <socket-binding-group ref="web-sockets"/> </server-group> <server-group name="jms-group" profile=“jms"> <socket-binding-group ref=“jms-sockets"/> </server-group>
</server-groups> </domain>
Slave (Host Controller)<host name=“slave1" xmlns="urn:jboss:domain:1.3"> <interfaces> <interface name=“public"> <inet-address value="192.168.204.13"/> </interface> <servers> <server name="instancia-web-A" group="web-group" auto-start="false"/> <server name="instancia-jms-A" group="jms-group" auto-start="false"> <!-- para evitar conflitos de porta no socket-group --> <socket-bindings port-offset="100"/> </server> </servers></host>
Domain - Topologia Física
Domain – Topologia Lógica
Passos• Domain:– Escolho um perfil (full-ha)– Escolho sockets do perfil (portas) (full-ha-sockets)– Crio um grupo: (grupo-fnde)
• Host Controllers (Slaves):– Conecto o host no domain– Crio as instâncias e defino um grupo para elas (hot add)
Dúvidas?