Dubbo2-概述

Dubbo

阿里公司开源的一个高性能,轻量级的javaRPC(远程服务调用方案)框架,提供高性能远程调用方案以及SOA服务治理方案

Dubbo架构

Dubbo2-概述_第1张图片
节点角色说明:
Provider:服务提供方
Container:服务运行容器
Consumer:调用远程服务的服务消费方
Register:服务注册与发现的注册中心
Monitor:统计服务的调用次数和调用时间的监控

消费方不能直接访问提供服务方,需要通过Register获取提供方的注册信息后,才能访问提供方

注册中心-zookeeper

zookeeper安装地址
安装zookeeper
1.上传到虚拟机
Dubbo2-概述_第2张图片
2.修改配置文件
zoo_sample.cfg 该配置文件未生效,想要生效的话,需将名字改为zoo.cfg,然后修改其文件存储地址,文件存储地址自建

修改配置文件,zookeeper数据存储位置

Dubbo2-概述_第3张图片
启动命令
Dubbo2-概述_第4张图片
关闭命令
Dubbo2-概述_第5张图片

快速入门

Dubbo2-概述_第6张图片
1.提供服务方到注册中心进行注册
2.消费方访问注册中心
3.将提供服务方的注册信息返回给消费方
4.消费方访问提供服务方

入门案例

Dubbo2-概述_第7张图片
1.接口
Dubbo2-概述_第8张图片
该模块中,根据业务需要,只需创建服务接口

2.服务提供方
实现类
Dubbo2-概述_第9张图片
dubbo的配置信息
在这里插入图片描述
webapp的配置信息
Dubbo2-概述_第10张图片
3.消费方
控制器
Dubbo2-概述_第11张图片
spring的配置
Dubbo2-概述_第12张图片

Dubbo2-概述_第13张图片
实现模块单独运行,需要导入tomcat插件,不参与运行且被依赖的模块,打jar包,需要运行的,打war包,在运行之前需要将被依赖的模块在生命周期install

//log4j.properties
# DEBUG < INFO < WARN < ERROR < FATAL
# Global logging configuration
log4j.rootLogger=info, stdout,file
# My logging configuration...
#log4j.logger.com.tocersoft.school=DEBUG
#log4j.logger.net.sf.hibernate.cache=debug
## Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%n

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=../logs/iask.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss}  %l  %m%n
//pom
 <properties>
        <spring.version>5.1.9.RELEASE</spring.version>
        <dubbo.version>2.7.4.1</dubbo.version>
        <zookeeper.version>4.0.0</zookeeper.version>
    </properties>

    <dependencies>
        <!-- servlet3.0规范的坐标 -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
        <!--spring的坐标-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--springmvc的坐标-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!--日志-->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.21</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.21</version>
        </dependency>



        <!--Dubbo的起步依赖,版本2.7之后统一为rg.apache.dubb -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo</artifactId>
            <version>${dubbo.version}</version>
        </dependency>
        <!--ZooKeeper客户端实现 -->
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-framework</artifactId>
            <version>${zookeeper.version}</version>
        </dependency>
        <!--ZooKeeper客户端实现 -->
        <dependency>
            <groupId>org.apache.curator</groupId>
            <artifactId>curator-recipes</artifactId>
            <version>${zookeeper.version}</version>
        </dependency>
        <dependency>
            <groupId>com.itheima</groupId>
            <artifactId>dubbo-interface</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!--tomcat插件-->
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.1</version>
                <configuration>
                    <port>8100</port>
                    <path>/</path>
                </configuration>
            </plugin>
        </plugins>
    </build>


你可能感兴趣的:(dubbo,dubbo,zookeeper)