Dubbo服务的部署

    xiaoxiao2023-03-24  2

    一、Dubbo服务的运行方式:

    1、使用Servlet容器运行(Tomcat、Jetty等)----不可取

      缺点:增加复杂性(端口、管理)

          浪费资源(内存)

    2、自建Main方法类来运行(Spring容器)    ----不建议(本地调试可用)

     缺点: Dobbo本身提供的高级特性没用上

          自已编写启动类可能会有缺陷

    3、使用Dubbo框架提供的Main方法类来运行(Spring容器)----建议使用

    优点:框架本身提供(com.alibaba.dubbo.container.Main)

    可实现优雅关机(ShutdownHook)   

    二、使用maven-assembly-plugin打包dubbo服务

    1. 首先在pom文件中,添加maven-assembly-plugin插件

    <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.1</version> <configuration> <compilerVersion>1.7</compilerVersion> <source>1.7</source> <target>1.7</target> </configuration> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-javac</artifactId> <version>1.8.1</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.17</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin> <!-- 添加脚本 -->

    <plugin>

    <artifactId>maven-assembly-plugin</artifactId>

    <configuration>

       <descriptor>src/main/assembly/assembly.xml</descriptor>

    </configuration>

    <executions>

       <execution>

              <id>make-assembly</id>

              <phase>package</phase>

              <goals>

                     <goal>single</goal>

              </goals>

       </execution>

    </executions>

    </plugin>

     

    在该插件的第四行我们指定了一个assembly.xml文件,下面我们就看看assembly.xml的内容

    2assembly.xml内容

    <assembly>

       <id>assembly</id>

       <formats>

              <format>tar.gz</format>

       </formats>

       <includeBaseDirectory>true</includeBaseDirectory>

       <fileSets>

              <fileSet>

                     <directory>${project.build.directory}/dubbo/META-INF/assembly/bin</directory>

                     <outputDirectory>bin</outputDirectory>

                     <fileMode>0755</fileMode>

              </fileSet>

              <fileSet>

                     <directory>src/main/assembly/conf</directory>

                     <outputDirectory>conf</outputDirectory>

                     <fileMode>0644</fileMode>

              </fileSet>

       </fileSets>

       <dependencySets>

              <dependencySet>

                     <outputDirectory>lib</outputDirectory>

              </dependencySet>

       </dependencySets>

    3、整体项目结构

    4、运行mvn clean install打包部署

    解压压缩文件,目录结构

      Bin :程序执行目录

    Conf:dubbo配置文件,如果dubbo-service.xml中配置了dubbo的对应属性,则conf目录下的dubbo.properties文件配置会失效,建议不要使用dubbo.properties文件配置,推荐使用对应XML配置

     

    Lib:程序依赖的jar

    进入bin 目录,运行start.bat/start.sh

    转载请注明原文地址: https://ju.6miu.com/read-1201163.html
    最新回复(0)