创建Dubbo微服务操作流程

Dubbo 是一个RPC框架,主要提供服务之间的发现注册功能,有关Dubbo相关实现细节不再本片的介绍范围。此文主要介绍如何在本机上搭建一个Dubbo初始的环境。我们知道Dubbo是提供服务之间的注册发现功能,他的注册发现功能是通过注册中心实现的,Dubbo官方推荐的注册中心是Zookper,所以我们先要在本地搭建一个Zookeeper,有了他就可以实现服务之间的注册发现。这时候Dubbo的框架就像是一个黑盒子我们很难指导里边发生了什么,这时候就需要我们的监控工具Dubbo-admin。有了这两个之后就可以通过我们本地的IDE搭建Dubbo的Customer与Provider

一、搭建Zookeeper

1、下载适当文件

Index of /apache/zookeeper/zookeeper-3.6.3 (bfsu.edu.cn)

在这里插入图片描述
下载的时候选择tar.gz的,这个是现在完成之后可以直接用的,但是应该是3.5之后我们应该选择带bin的,否则启动的时候会卡死砸死一个地方。现在完成之后进行解压。

2、更改相关配置文件

进入conf目录、zoo_sample.cfg,复制一份出来并改名为zoo,zoo_sample.cf就像是系统给我们的一个配置模板
在这里插入图片描述
更改端口号与特定目录,data、log的文件
在这里插入图片描述

3、启动并测试

在这里插入图片描述
第二部出现Welcome to Zookeeper的时候代表Zookeeper成功启动
在这里插入图片描述

二、安装Dubbo-admin

1、下载代码包

在这里插入图片描述

2、文件打包

文件一定是要在解压出来的文件的根目录先打包,在原来打包的时候打在了dubbo-admin-server下面,程序是如何也启动不起来的,但是打包生成的文件却是在dubbo-admin-server的target下的。打包指令:

mvn clean package -U -Dmaven.test.skip=true

在这里插入图片描述

3、启动jar

在最新的版本中项目dubbo-admin好像是采用了前后端分离,所以打包以及部署的时候可能有所区别。同时按照我们的这个教程打出来的是jar包如果先要达成war包应该下载相应的源码(应该是dubbo的),现在完之后再进行相关的打包操作,当生成war包之后再部署到tomcat中。

java -jar dubbo-admin-0.2.0-SNAPSHOT_32.jar

jar包的位置是在:
在这里插入图片描述

三、创建Customer与Provider工程

1、概述

这里的项目建议创建成父子目录的结构形式,依赖这样这我们做开发与测试的时候方便,不用在多个窗口之间来回切换;再这就是这也是微服务架构下的一个形式。有关父子工程的创建可以参考文章:

(10条消息) IDEA中创建父子工程(微服务项目框架)_任天柳-CSDN博客

在这里插入图片描述

2、项目相关的Pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>dubbo-demo-annotation</artifactId>
        <groupId>com.end</groupId>
        <version>1.0.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.end</groupId>
    <artifactId>dubbo-demo-annotation-provider</artifactId>
    <version>1.0.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>com.end</groupId>
            <artifactId>dubbo-demo-api</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-spring-boot-starter -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-spring-boot-starter</artifactId>
            <version>2.7.3</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <version>2.3.0.RELEASE</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-registry-zookeeper -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-registry-zookeeper</artifactId>
            <version>2.7.3</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-metadata-report-zookeeper -->
        <dependency>
            <groupId>org.apache.dubbo</groupId>
            <artifactId>dubbo-metadata-report-zookeeper</artifactId>
            <version>2.7.3</version>
        </dependency>
    </dependencies>

</project>

这里面重要的一个就是引入共同的api依赖,即dubbo-demo-api,在消费者端引入与SpringWeb相关的依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.3.0.RELEASE</version>
    <scope>compile</scope>
</dependency>

3、Provider配置文件

dubbo:
  application:
    name: dubbo-annotation-provider
  registry:
    address: zookeeper://127.0.0.1:2181
  protocol:
    name: dubbo
    port: 20881
  metadata-report:
    address: zookeeper://127.0.0.1:2181

4、Customer配置文件

dubbo:
  application:
    name: dubbo-annotation-consumer
  registry:
    address: zookeeper://127.0.0.1:2181
  protocol:
    name: dubbo
    port: 20882
  metadata-report:
    address: zookeeper://127.0.0.1:2181
server:
  port: 8089

5、IDEA下的多项目同时运行

在这里插入图片描述
在这里插入图片描述
所有要启动的子项目都需要配置,配置完之后如果不生效的话要记得重启IDEA,完成之后的运行效果为:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值