Prefácio
Por motivos de trabalho, é necessário integrar o Dubbo ao projeto, então verifiquei os documentos relacionados ao Dubbo e descobri que o Dubbo não foi atualizado no momento, então voltei minha atenção para o Dubbox. O Dubbox é um projeto desenvolvido pelo Dangdang.com baseado em Dubbo, Dubbox. Como um dos projetos da empresa é baseado no Spring MVC 3.0 e o outro é baseado na bota da primavera, e a bota da primavera possui relativamente menos documentos, então este artigo registra como herdar o dubbox sob a inicialização da primavera
1. Instale o Zookeeper
1. Introdução ao Zookeeper
O Zookeeper é um serviço de coordenação de aplicativos distribuído e distribuído. É uma implementação de código aberto do gordinho do Google e um componente importante do Hadoop e HBase. É um software que fornece serviços consistentes para aplicativos distribuídos e suas funções incluem: configuração e manutenção, serviços de nomes de domínio, sincronização distribuída, serviços de grupo, etc.
O objetivo do Zookeeper é empacotar serviços complexos e propensos a erros e fornecer aos usuários interfaces simples e fáceis de usar e sistemas eficientes e estáveis.
Dubbo é uma estrutura distribuída que depende do Zookeeper. Obviamente, o Dubbox do Desenvolvimento Secundário deverá definitivamente confiar no Zookeeper, então precisamos instalar o Zookeeper primeiro.
2. Baixe o Zookeeper
Endereço oficial do site Zookeeper http://zookeeper.apache.org/
Download Endereço http://apache.fayea.com/zookeeper/
O endereço de download local é mais conveniente: //www.vevb.com/softs/578345.html
3. Instale o Zookeeper
Como eu o configurei no ambiente do Windows, falarei brevemente sobre a configuração abaixo do Windows. Primeiro, descompacte o pacote compactado, depois digite a pasta Conf, copie zoosample.cfg para criar uma cópia e renomei -la para zoo.cfg, porque o Zookeeper reconhece apenas o zoo.cfg e o padrão não está disponível. Zoosample.cfg é o arquivo de configuração padrão, mas devido ao nome do arquivo, o Zookeeper não pode reconhecê -lo. Obviamente, não há problema em renomear diretamente o zoo_sample.cfg, depende apenas do seu favorito.
4. Inicie o Zookeeper
Basta executar o ZkSserver.cmd no diretório do bin diretamente no ambiente do Windows. Se for um ambiente Linux, execute -o no diretório da bin.
./zkserver.sh Start
Zookeeper pode ser iniciado
5. Adicione as dependências do Dubbox
<Depencency> <Puperid> com.alibaba </frugiD> <stifactId> dubbo </sutifactId> <versão> 2.8.4 </version> </dependency> <pendence> <purfactid> com.101tec </groupid> <stifactId> zkclient </artifactid> <ulsy> 0,9 <//Groupid> <PupidId> org.apache.zookeeper </frugiD> <TRAFACTID> Zookeeper </stutifactId> <versão> 3.4.6 </version> <clusions> <clusion> <purbrougid> org.slf4j </groupid> <scrusão> slf4j-log4j12 </artefactId> <TarfactId> log4j </sutifactId> </clusion> </clusions> </pendence>
Observe que a versão 2.8.4 do dubbo aqui é compilada por mim, que não está disponível no repositório maven porque o dubbo não é mais atualizado, enquanto 2.8.4 é o dubbox de Dangdang.com, por isso
6. Adicione a classe de interface do provedor de serviços:
pacote wang.raye.dubbo.interfaces; interface pública dubbointerface {public string hello (nome da string);}Classe de implementação da interface:
pacote wang.raye.dubbodemo1; importar org.springframework.stereotype.service; importar wang.raye.dubbo.dubbointerface; @ServicePublic Class dubboimpl implementa DubboInterface {public String hello (nome da string) {return "hello"+name+"este é dubbodemo1"; }}7. Adicione o arquivo XML de configuração do Dubbo à pasta Fontes. Você pode nomear o nome à vontade. Aqui está o dubbo.xml
<? xml versão = "1.0" coding = "utf-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http:/wwww.w3 xmlns: jee = "http://www.springframework.org/schema/jee" xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: dubbo = "httpp:/" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/Context/spring-context-1.1.xsd "default-lAzy-init = false"> <!-Nome do prover informações Nossa página de gerenciamento do Dubbo é mais clara qual aplicativo exposto-> <dubbo: nome do aplicativo = "dubbo-provider1"> < /dubbo: aplicação> <!-exponha a interface usando anotação <dubbo: annotation package = "wang.raye.dubbodemo" />-> <!-exposição usando o endereço do serviço usando zookender Endereço = "Zookeeper: //192.168.1.126: 2181" check = "false" subscribe = "false" registr = ""> </dubbo: Registry> <!-Exposição a interface a ser exposta-> <dubbo: serviço interface = "wang.dubbo.///////bobbo"/"/wang.dubbo.interfuaces.dubbo"
Cada nó aqui tem uma explicação, acredito que não será muita explicação
8. Configure os consumidores
Referências a fornecedores remotos em sala de aula
pacote wang.raye.dubbodemo3.Controller; importar org.springframework.beans.factory.annotation.autowired; importar org.springframework.tereotype.controller; importar org.springframework.web.bind.annotation.requestmapping; importar org.springframework.web.bind.annotation.Responsebody; importar wang.raye.dubbo.dubbointerface; @ControllerPublic Classe dubbocontroll {@Autowired Private DubboInterface Interface1; @RequestMapping ("/hello") @ResponseBody public String Hello (Nome da String) {return interface1.hello (nome); }}Configuração XML do consumidor
<Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w.org/2001/xmlSchema-nstance" xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http:/code.alibansh.schema.xsd http:/code.alibansh.schema.xsd http:/code.alibatech.schema.xsd http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-Nome do aplicativo do consumidor, usado para calcular dependências, não condições de correspondência, não são as mesmas que o provedor-> <dubbo: nome do aplicativo =" dubbo-custom-dsp "/> <dubbo: Endereço = "Zookeeper: //192.168.1.126: 2181"/> <!-Gere um agente de serviço remoto, você pode usar demosserve como feijão local-> <dubbo: referência id = "dubboservice" interface = "wang.dubbo.interfaces.dubbointerface"/>
Existem comentários aqui, então não deve haver necessidade de dizer mais. Além disso, este artigo não presta atenção à configuração do Dubbo, mas fala principalmente sobre a integração de inicialização da primavera Dubbox
9. Referência Dubbo Configuration XML para adicionar anotações à classe de aplicação de inicialização da mola
@IMPORTRESOURCE ({"ClassPath: dubbo.xml"})Como meu nome XML é dubbo.xml, quando você o usa, você precisa alterá -lo com seu próprio nome XML. NOTA: A classe de aplicação do projeto do consumidor e o projeto do provedor de serviços precisam ser configurados com esta anotação.
Final
Neste ponto, o Duubex da integração de inicialização da primavera está concluído. Obviamente, deve estar vazio para dizer isso, então o projeto que testei foi enviado para o GitHub. Você pode se referir a ele. Obviamente, se você deseja testá -lo, precisará modificar o endereço do Zookeeper no nó Dubbo: Registry of dubbo.xml.
Endereço de demonstração, para mostrar as vantagens do Dubbo, criei dois provedores de serviços. Se eu ligar com frequência, selecionarei automaticamente qualquer um desses dois e até evitarei o balanceamento de carga. Isso deve ser feito pelo próprio Zookeeper, então sinto que é muito bom.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.