Construir centro de registro dubbo (zookeeper) e centro de monitoramento dubbo combinado com mola

Construção do centro de registro e monitoramento de dubbo

Construção do centro de registro de dubbo (zookeeper)

Link para download: https://zookeeper.apache.org/releases.html
Nota: Baixe a versão com bin ao baixar

  1. Descompacte
    atenção, atenção, atenção! ! ! ! Você não pode descompactá-lo diretamente sob a janela, caso contrário, você não pode excluí-lo, mas pode salvar o país por curva. Coloque o pacote de instalação baixado no Linux, descompacte-o no Linux e coloque-o de volta na janela

Como todos os tipos de software foram instalados no Linux antes, a memória da máquina virtual Linux não é suficiente. (Bem, na verdade, os comandos do Linux são muito problemáticos e são confortáveis ​​de usar sem uma janela de visualização de janela).
O diretório descompactado para a janela é o seguinte:
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
ao iniciar zkServer.cmd. Em um piscar de olhos, você precisa começar do cmd.
Mude para o diretório de instalação do seu apache-zookeeper-3.5.5-bin e inicie zkServer.cmd. Você pode ver que a mensagem de erro é que não há /conf/zoo.cfg
Insira a descrição da imagem aqui2. Em conf, copie e renomeie-o.
Insira a descrição da imagem aqui
Conforme mostrado abaixo:
Insira a descrição da imagem aqui
3. Adicione o disco d na frente do caminho. Salve e saia Agora
Insira a descrição da imagem aqui
iniciando zkServer.cmd. Comece com sucesso
Insira a descrição da imagem aqui

instalação do centro de monitoramento dubbo

Encontre um projeto dubbo-admin na Internet, copie-o e empacote-o em um pacote jar em sua própria ideia

Insira a descrição da imagem aqui
Nota: Verifique o endereço registrado de zookeepr e se é um endereço local registrado no arquivo de configuração. Se não estiver, os erros ainda ocorrerão mais tarde.
Insira a descrição da imagem aqui
Nota: Primeiro use o comando doc para iniciar o zookeeper e, em seguida, use o comando doc para iniciar o centro de gerenciamento.

java -jar onde você digitou como jar

Há um pacote dubbo-admin-0.0.1-SNAPSHOT.jar no recurso
Insira a descrição da imagem aqui

Após a inicialização, digite http: localhost: 7001 no navegador para ver se você pode acessar o centro de gerenciamento dubbo.Se
Insira a descrição da imagem aqui
você pode acessá-lo, significa que o centro de gerenciamento está instalado.

dubbo combinado com primavera

Crie um projeto maven.
Configuração em pom.xml no projeto mavaen

	<properties>
        <project.build.sourceEncodiing>UTF-8</project.build.sourceEncodiing>
        <maven.compile.source>1.8</maven.compile.source>
        <maven.compile.target>1.8</maven.compile.target>
        <dubbo.version>2.7.3</dubbo.version>
    </properties>

Construído por provedor de serviços dubbo

Crie um subprojeto de módulo
pom.xml no projeto maven

 <properties>
        <springframework.version>4.3.11.RELEASE</springframework.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.7</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.3</version>
        </dependency>
        <dependency>
            <groupId>com.itzz</groupId>
            <artifactId>dubbo01-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

Configure em applicationContext.xml após importar o pacote jar

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo
       http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!--使用zookeeper注册中心暴露当前地址-->

    <dubbo:registry address="zookeeper://localhost:2181"></dubbo:registry>

    <!-- 用dubbo协议在20880端口暴露服务 当前应用通过20880暴露服务-->
    <dubbo:protocol name="dubbo" port="20880" />

    <!-- 提供方应用信息,用于计算依赖关系 -->
    <dubbo:application name="dubbo01-provider" />

    <!--定义实现类的bean-->
    <bean id="userService" class="com.itzz.provider.service.Impl.UserServiceImpl"></bean>

    <!--声明暴露的接口-->
    <dubbo:service interface="com.itzz.provider.service.UserService"  ref="userService" version="1.0.0"></dubbo:service>
</beans>

Na classe principal

public static void main(String[] args) throws IOException {
    
    
        ClassPathXmlApplicationContext context =new ClassPathXmlApplicationContext("applicationContext.xml ");
        context.start();
        System.in.read();
    }

Crie um método na classe de implementação da camada de serviço.

public class UserServiceImpl implements UserService {
    
    
    public void sayHello() {
    
    
        System.out.println("你好,我是提供者。---1");
    }

    public User findUser() {
    
    
        User user = new User();
        user.setId(1);
        user.setUsername("张三");
        user.setAddress("北京");
        return user;
    }
}

Crie um módulo de API de interface

tal como:

public interface UserService {
    
    
    void sayHello();
    User findUser();
}

pojo
cria um User.java

public class User implements Serializable {
    
    
    private int id;
    private String username;
    private String address;
    //setter getter
}

Crie um módulo de sub-consumidor

pom.xml

    <properties>
        <springframework.version>4.3.11.RELEASE</springframework.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.7</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.4.6</version>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.3</version>
        </dependency>
        <dependency>
            <groupId>com.itzz</groupId>
            <artifactId>dubbo01-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo
       http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

    <!--使用zookeeper注册中心暴露当前地址-->

    <dubbo:registry protocol="zookeeper" address="localhost:2181"></dubbo:registry>
    
    <!-- 提供方应用信息,用于计算依赖关系 -->
    <dubbo:application name="dubbo01-consumer" />
    
    <!--定义参照接口-->
    <dubbo:reference interface="com.itzz.provider.service.UserService"  version="1.0.0" id="userService" check="false"></dubbo:reference>


</beans>

Categoria principal do consumidor

package com.itzz.provider;


import com.itzz.provider.pojo.User;
import com.itzz.provider.service.UserService;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;


public class ConsumerMain {
    
    
    public static void main(String[] args) throws IOException {
    
    
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        //启动容器
        context.start();
        //获取bean
        UserService userService = context.getBean(UserService.class);
        userService.sayHello();

        //
        User user = userService.findUser();
        System.out.println(user.toString());

        System.in.read();
    }

}

teste

Corra, você pode ver consumidores e provedores cadastrados na central de controle do dubbo

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Isso mostra que o dubbo combinado com a configuração da mola foi bem-sucedido. Você também pode criar vários consumidores e vários provedores. (Você só precisa alterar a configuração do arquivo de configuração, como o nome do provedor e a porta, e o nome do consumidor) para copiar o módulo para o projeto e, em seguida, alterar e adicionar a estrutura do módulo.
Insira a descrição da imagem aqui
Você pode ter vários provedores. Ou seja, o cluster implementa as mesmas funções, mas existem duas para fornecer serviços aos consumidores.

Acho que você gosta

Origin blog.csdn.net/qq_39095899/article/details/107323323
Recomendado
Clasificación