• Dubbo应用服务的配置文件部分


    ^.^ :接一下昨天的Dubbo服务的应用说下如何将昨天的配置工程给跑起来

    1.首先是dubbo-api的依赖包,这边我用的是这些依赖

    <dependencies>
            <!--mybatis-plus的依赖-->
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
            </dependency>
            <!--swagger ui的依赖包-->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
            </dependency>
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
            </dependency>
            <!--lombok的依赖包-->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
        </dependencies>

    2.Dubbo-provider工程的的依赖

    <dependencies>
    <!--引入dubbo-api工程的依赖-->
    <dependency>
    <groupId>cn.com.fuzhou</groupId>
    <artifactId>dubbo-api</artifactId>
    <version>1.0-SNAPSHOT</version>
    </dependency>
    <!--dubbo的依赖-->
    <dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>dubbo-spring-boot-starter</artifactId>
    </dependency>
    <dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    </dependency>
    <!--zookeeper的依赖-->
    <dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    </dependency>
    <!--postgres的依赖(一种数据库)-->
    <dependency>
    <groupId>org.postgresql</groupId>
    <artifactId>postgresql</artifactId>
    </dependency>
    <!--mybatis-plus的依赖-->
    <dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    </dependency>
    </dependencies>

    3.dubbo-consumer工程的依赖包

     <dependencies>
            <dependency>
                <groupId>cn.com.fuzhou</groupId>
                <artifactId>dubbo-api</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>com.alibaba.boot</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
            </dependency>
        </dependencies>

    4.dubbo-api的yml配置文件部分

    server:
      port: 20138
    spring:
      application:
        name: dubbo-api
    #MyBatis-plus的配置部分
    mybatis-plus:
      global-config:
        db-config:
          table-prefix: ct_
          id-type: assign_id
      configuration:
        map-underscore-to-camel-case: true
      mapper-locations: classpath*:mapper/*Mapper.xml
      type-aliases-package: cn.com.dubbo.api.pojo

    5.dubbo-provider的yml文件部分

    server:
      port: 20198
    
    
    #指定Dubbo的配置
    dubbo:
      application:
        name: dubbo-provider
      registry:
        protocol: zookeeper
        address: localhost:2181
      protocol:
        name: dubbo
        port: 20880
      scan:
        base-packages: cn.com.dubbo.provider.impl
    spring:
      datasource:
        url: jdbc:postgresql://localhost:15432/postgres?useUnicode=true&characterEncoding=utf-8
        username: postgres
        password: xxxxx(自己的密码)
        driver-class-name: org.postgresql.Driver

    6.dubbo-consumer

    server:
      port: 20199
    
    dubbo:
      application:
        name: dubbo-consumer
      registry:
        protocol: zookeeper
        address: localhost:2181
      protocol:
        name: dubbo
        port: 20880
    spring:
      datasource:
        url: jdbc:postgresql://localhost:15432/postgres?useUnicode=true&characterEncoding=utf-8
        username: postgres
        password: 自己的密码
        driver-class-name: org.postgresql.Driver

    7.然后是主pom文件

    <modules>
            <!--dubbo的接口工程-->
            <module>dubbo-api</module>
            <!--dubbo的生产者工程-->
            <module>dubbo-provider</module>
            <!--dubbo的消费者工程-->
            <module>dubbo-consumer</module>
        </modules>
    
        <!--定义父类版本-->
        <properties>
            <!--定义JDK的版本部分-->
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <swagger.version>2.8.0</swagger.version>
            <dubbo-spring-boot-starter.version>0.2.0</dubbo-spring-boot-starter.version>
            <curator-framework.version>2.12.0</curator-framework.version>
            <mybatis-plus.version>3.4.0</mybatis-plus.version>
            <lombok.version>1.18.6</lombok.version>
            <zookeeper.version>3.4.8</zookeeper.version>
            <postgresql.version>42.2.12</postgresql.version>
        </properties>
    
    
        <dependencyManagement>
        <dependencies>
            <!--Spring-boot的版本-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <!--swagger-->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger2</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <!--swagger ui-->
            <dependency>
                <groupId>io.springfox</groupId>
                <artifactId>springfox-swagger-ui</artifactId>
                <version>${swagger.version}</version>
            </dependency>
            <!--添加阿里巴巴封装的Dubbo服务框架-->
            <dependency>
                <groupId>com.alibaba.boot</groupId>
                <artifactId>dubbo-spring-boot-starter</artifactId>
                <version>${dubbo-spring-boot-starter.version}</version>
            </dependency>
            <!--Dubbo的客户端-->
            <dependency>
                <groupId>org.apache.curator</groupId>
                <artifactId>curator-framework</artifactId>
                <version>${curator-framework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
            </dependency>
            <dependency>
                <groupId>com.baomidou</groupId>
                <artifactId>mybatis-plus-boot-starter</artifactId>
                <version>${mybatis-plus.version}</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
               <version>${postgresql.version}</version>
            </dependency>
    
            <dependency>
                <groupId>org.apache.zookeeper</groupId>
                <artifactId>zookeeper</artifactId>
                <version>${zookeeper.version}</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.slf4j</groupId>
                        <artifactId>slf4j-log4j12</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>log4j</groupId>
                        <artifactId>log4j</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
        </dependencies>
        </dependencyManagement>

    Linux上安装zookeeper(Linux)

    
    
    查看docker提供的zookeeper的镜像文件
    docker search zookeeper
    拉取zookeeper的镜像
    docker pull zookeeper

    查看docker 的镜像是否拉取成功
    docker images

    运行docker镜像
    docker run --privileged=true -d --name zookeeper --publish 12181:2181 -d zookeeper:latest

    查看镜像是否运行成功
    docker ps (能看见zookpper的名字表示镜像启动成功)

    ps:如果想进入到zookeeper的容器中
    docker exec -it zk容器ID /bin/bash

    ls:查看容器里面的目录

    cd bin/ :进入到容器的bin目录中

    ./zkCli.sh :进入到zookeeper的客户端

    ls / 查看全部的节点
    quit :退出zk客户端

    exit退出docker容器

    这样zookeeper的安装就完成了

    下边来说下如何能直观的看到dubbo的服务注册结果(安装dubbo-admin客户端)

    这边提供一个dubbo-admin的下载地址网上也有很多这边是我自己用的:

    链接:https://pan.baidu.com/s/1C_S-0uLt3FzBPT0Zvh5fxA 
    提取码:b62o

    接下来说下dubbo-admin的客户端如何使用

    ps:首选端口可以选择性修改,其次是zookeeper的服务地址要改成知己的端口地址,然后登录的用户密码可以选择修改root用户密码是root,guest用户密码是guest这边为了方便我统一修改为root

    然后我们将该文件打一个包这边可以看下pom我们这边打的是jar包

    运行命令
    mvn clean package

    能看多啊SUCCESS说明打包成功

    ps:当然想吧java程序跑起来肯定是需要用到jdk的所以们可以选择在docker中安装一个JDK(docker安装JDK请自行百度谢谢)

    想要将jar包变成可运行的docker容器咋办呢这边我们来编写一个Dockerfile

    1.我们在linux中创建一个文件夹用来存放jar包和Dockerfile文件
    
    cd /usr
    mkdir jar_file
    将jar包上传到jar_file文件中
    cd jar_file/
    vim Dockerfile

    这边我们编写个Dockerfile文件试试#指定JDK的版本

    FROM java:8
    
    #创建人信息
    MAINTAINER LingZsj
    
    #这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层。
    VOLUME /tmp
    
    #添加文件中的dubbo-admin-0.0.1-SNAPSHOT.jar到docker容器中
    ADD dubbo-admin-0.0.1-SNAPSHOT.jar dubbo-admin.jar
    
    #bash方式执行,使得ct-plat.jar可访问
    #RUN新建立一层,在其上执行这些命令,执行结束后.commit这层修改,构成新镜像
    RUN bash -c "touch /dubbo-admin.jar"
    
    #申明服务运行时容器提供服务端口,只做申明,并不会主动开启服务端口
    EXPOSE 17001
    
    #指定容器启动程序及参数
    ENTRYPOINT ["java","-jar","dubbo-admin.ja"]
    
    
    
    ....好像写不下了感觉是不是我写的太啰嗦了...只能在这里追加了抱歉~QvQ~
    然后在jar_file文件夹目录中运行
    docker build -t dubbo-admin .
    
     ps:后面的.别写掉了
     
    然后docker images查看镜像时候构建成功
    如成功了name我们就来启动容器了
    
    docker run -d --name dubbo-admin -p 17001:17001 dubbo-admin
    这边-p前面的端口是容器与外部映射的端口也就是你外部访问的端口:后面的端口是你application.properties中配置的程序的端口别写错了...
    
    
    好了写完了写完了溜了溜了,若有错误欢迎指教谢谢^V^
  • 相关阅读:
    scrapy爬虫框架
    运用GRASP原则来做uml交互类图-------pos机实例
    csv文件读取
    文件编码解读
    smtp模块使用
    csv模块简单使用
    用Beautifulsoup 来爬取贴吧图片
    批处理命令——set
    bat批处理教程之for的/f参数
    docker 下 alpine 镜像设置时区的有效办法
  • 原文地址:https://www.cnblogs.com/Lingzsj/p/14046706.html
Copyright © 2020-2023  润新知