• docker微服务部署之:一,搭建Eureka微服务项目


    先说明一下docker需要搭建的微服务的基本情况:

    • 项目情况:一个demo_parent项目,下面三个子模块:demo_eureka(eureka服务)、demo_article(文章服务)、demo_zuul(网关服务)。
    • 用到的资源有:jdk1.8、mysql5.7。
    • 需要用到的docker容器有:mysql(mysql单独一个容器)、jdk1.8(article、eureka、zuul三个服务运行在该jdk1.8容器中)

    一,用idea新建父项目

    File->New->Project->Maven,选择Project SDK为jdk8->GroupId:com.demo,ArtifactId:demo_parent

    修改pom.xml文件,完整如下:

    <?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">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.demo</groupId>
        <artifactId>demo_parent</artifactId>
        <packaging>pom</packaging>
        <version>1.0-SNAPSHOT</version>
    
    <!-- spring boot parent--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.0.RELEASE</version> <relativePath/> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> <lombok.version>1.16.10</lombok.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.M9</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
       <!-- 引入lombok依赖,可以在使用了@Data注解的类中,不用写getter和setter方法 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </dependency> </dependencies> <repositories> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <snapshots> <enabled>true</enabled> </snapshots> </repository> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> <pluginRepository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </pluginRepository> </pluginRepositories> </project>

    二、新增demo_eureka模块,并编写代码

    右键demo_parent->new->Module->Maven,选择Module SK为jdk8->ArtifactId:demo_eureka

    1.修改pom.xml<?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>demo_parent</artifactId>
            <groupId>com.demo</groupId>
            <version>1.0-SNAPSHOT</version>
        </parent>
        <modelVersion>4.0.0</modelVersion>
    
        <artifactId>demo_eureka</artifactId>
    
    
        <dependencies>
    <!-- eureka 服务端依赖 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies> </project>

    2.在resources目录下新增application.yml文件

    server:
      port: 7000 #eureka的启动端口,可自定义
    spring:
      application:
        name: demo-eureka #eureka项目名称,可自定义
    eureka:
      client:
        register-with-eureka: false
        fetch-registry: false
        service-url:
          defaultZone: http://127.0.0.1:${server.port}/eureka #在IDEA中运行时使用127.0.0.1,部署发布时,请修改为虚拟机宿主机的ip地址

    注:由于这里讲的是单机部署,所以eureka的register-with-eureka和fetch-registry都设置为了false

    3.新建com.demo.eureka包,并在该包下新建启动类EurekaApplication

    package com.demo.eureka;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
    
    /**
    * 注册中心微服务
    */
    // 标注为一个spring boot项目 @SpringBootApplication
    // 标注为Eureka服务端 @EnableEurekaServer
    public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication.class, args); } }

    4.右键EurekaApplication,点Run 'EurekaApplication'启动该demo-eureka项目

    在浏览器输入localhost:7000,看到如上界面,表示项目启动成功。No instances available表示暂时还没有服务注册到eureka上来。

    docker微服务部署之:二、搭建文章微服务项目

  • 相关阅读:
    移动语义
    unordered_map/unordered_set & unordered_multimap/unordered_multiset非关联容器
    C++构造函数和析构函数,以及构造函数特殊成员变量和函数的初始化
    Valgrind,内存调试工具
    堆排序,图解,C/C++实现
    哈希表概念和实现,C/C++实现
    AVL平衡二叉树实现,图解分析,C++描述,完整可执行代码
    二叉排序树,Binary_Sort_Tree,C++完整实现
    [Codeforces Round #656 (Div. 3)] (E. Directing Edges)拓扑排序
    最短路 2 [HDU
  • 原文地址:https://www.cnblogs.com/ztone/p/10569235.html
Copyright © 2020-2023  润新知