Construir el centro de registro de Dubbo (cuidador del zoológico) y el centro de monitoreo de Dubbo combinado con Spring

Construcción del centro de registro y centro de monitoreo de dubbo

Construcción del centro de registro de dubbo (guardián del zoológico)

Enlace de descarga: https://zookeeper.apache.org/releases.html
Nota: descargue la versión con bin al descargar

  1. ¡Descomprima
    atención, atención, atención! ! ! ! No puede descomprimirlo directamente debajo de la ventana, de lo contrario no puede eliminarlo, pero puede guardar el país por curva. Coloque el paquete de instalación descargado en Linux, descomprímalo en Linux y vuelva a colocarlo en la ventana.

Debido a que antes se instalaron todo tipo de software en Linux, la memoria de la máquina virtual Linux no es suficiente. (Bueno, de hecho, los comandos de Linux son demasiado problemáticos y es cómodo de usar sin una ventana de visualización de ventana).
El directorio descomprimido en la ventana es el siguiente:
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
al iniciar zkServer.cmd. En un instante, debe comenzar desde cmd.
Cambie al directorio de instalación de su apache-zookeeper-3.5.5-bin e inicie zkServer.cmd. Puede ver que el mensaje de error es que no hay /conf/zoo.cfg
Inserte la descripción de la imagen aquí2. En conf, cópielo y cámbiele el nombre.
Inserte la descripción de la imagen aquí
Como se muestra a continuación:
Inserte la descripción de la imagen aquí
3. Agregue el disco d delante de la ruta. Guardar y salir Ahora
Inserte la descripción de la imagen aquí
iniciando zkServer.cmd. Empezar exitosamente
Inserte la descripción de la imagen aquí

instalación del centro de monitoreo de dubbo

Encuentre un proyecto dubbo-admin en Internet, cópielo y empaquételo en un paquete jar con su propia idea

Inserte la descripción de la imagen aquí
Nota: Verifique la dirección registrada de zookeepr y si es una dirección registrada local en el archivo de configuración. Si no es así, los errores seguirán ocurriendo más tarde.
Inserte la descripción de la imagen aquí
Nota: Primero use el comando doc para iniciar zookeeper y luego use el comando doc para iniciar el centro de administración.

java -jar donde escribiste como jar

Hay un dubbo-admin-0.0.1-SNAPSHOT.jar empaquetado en el recurso
Inserte la descripción de la imagen aquí

Después del inicio, ingrese http: localhost: 7001 en el navegador para ver si puede acceder al centro de administración de dubbo.
Inserte la descripción de la imagen aquí
Si puede acceder a él, significa que el centro de administración está instalado.

dubbo combinado con primavera

Crea un proyecto de maven.
Configuración en pom.xml bajo el proyecto 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>

Construido por el proveedor de servicios dubbo

Cree un subproyecto de módulo
pom.xml bajo el proyecto 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>

Configurar en applicationContext.xml después de importar el paquete 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>

En la clase principal

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

Cree un método en la clase de implementación de la capa de servicio.

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;
    }
}

Crear un módulo de API de interfaz

como:

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

pojo
crea un User.java

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

Crear un módulo de subconsumidor

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>

Categoría principal del 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();
    }

}

prueba

Ejecutar, ¿puedes ver los consumidores y proveedores registrados en el centro de control de dubbo?

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Esto muestra que el dubbo combinado con la configuración de resorte es exitoso. También puede crear múltiples consumidores y múltiples proveedores. (Solo necesita cambiar la configuración del archivo de configuración, como el nombre y el puerto del proveedor, y el nombre del consumidor) es copiar el módulo al proyecto y luego cambiar y agregar la estructura del módulo.
Inserte la descripción de la imagen aquí
Puede tener varios proveedores. Es decir, la función del cluster es la misma, pero hay dos para brindar servicios a los consumidores.

Supongo que te gusta

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