• 【码上微服务】- 环境搭建


    一、前言

      本章将讲述基于Spring Cloud的注册中心Eureka的简单工程搭建及Docker部署。

    二、环境准备

    • 操作系统:CentOS 7.2
    • 项目管理:MAVEN(推荐使用阿里源中央仓库:http://maven.aliyun.com/nexus/content/repositories/central/)
    • 开发IDE:IDEA
    • 所用语言:JAVA
    • 所用容器:Docker

    三、 Eureka注册中心项目搭建

    • JAVA工程创建(这里使用了IDEA)

     

    • 相关的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.lee</groupId>
        <artifactId>eureka_server</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <name>eureka_server</name>
        <description>eureka_server</description>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.3.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <java.version>1.8</java.version>
            <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
    
        <dependencyManagement>
            <dependencies>
                <dependency>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-dependencies</artifactId>
                    <version>${spring-cloud.version}</version>
                    <type>pom</type>
                    <scope>import</scope>
                </dependency>
            </dependencies>
        </dependencyManagement>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    </project>
    • 相关propertities.yml配置文件

    server:
      port: 8761
    
    eureka:
      instance:
        hostname: 127.0.0.1
      client:
        registerWithEureka: false
        fetchRegistry: false
        serviceUrl:
          defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      server:
        enable-self-preservation: false # 设为false,关闭自我保护,生产环境不建议关闭,采用其他方式,后面会讲
        eviction-interval-timer-in-ms: 5000 # 清理间隔(单位毫秒,默认是60*1000)
    • 启动/查看

    【打开浏览器】-->【输入:http://127.0.0.1:8761】

       至此,简单的注册中心工程创建完成。

    四、Maven打包/Docker容器

    •  Maven打包jar(windows环境下)

      流程:在CMD窗口下切换至工程根目录 --> 输入Maven打包命令:  mvn package -f pom.xml 

      注:打包过程中会下载Maven打包所使用的插件,首次打包过程会花费一定的时间。

      看到上述信息代表打包成功,打包生成的jar包路径如图所示。

    • Docker部署(这里使用Dockerfile打包成Docker容器)

      流程:将Maven打包好的jar包文件上传至服务器 --> 编写Dockerfile文件 --> 执行build --> 启动容器

      注:有同学会问怎么那么繁琐,本系列为纯手工过程,理解了过程,后面会使用自动化构建进行替代,是一个循序渐进的过程。

      我这里上传的路径为:/home/teach/eureka_server/eureka_server-0.0.1-SNAPSHOT.jar

      Dockerfile文件与jar包同目录,Dockerfile内容如下:

    FROM java:8
    MAINTAINER 2299252@qq.com
    WORKDIR /app
    ADD eureka_server-0.0.1-SNAPSHOT.jar /app/eureka_server-0.0.1-SNAPSHOT.jarEXPOSE 8761
    ENTRYPOINT ["/usr/bin/java","-jar","eureka_server-0.0.1-SNAPSHOT.jar"]

      执行Docker build 命令(注意命令最后的【.】)

    docker build -t lee/eureka_server:v1 .

      启动镜像

    docker run --name eureka_server_v1 -d -p 8761:8761 lee/eureka_server:v1

      检验 【打开浏览器】-->【输入:http://部署主机地址:8761】

      至此,Eureka注册中心的简单工程搭建及Docker部署结束。

  • 相关阅读:
    【spring源码分析】IOC容器初始化(五)
    【spring源码分析】IOC容器初始化(四)
    【spring源码分析】IOC容器初始化(三)
    【spring源码分析】IOC容器初始化(二)
    Thread.currentThread()和this的区别——《Java多线程编程核心技术》
    【spring源码分析】IOC容器初始化(一)
    【spring源码分析】准备工作
    DefaultNamespaceHandlerResolver中handlerMappings如何初始化
    SimpleDateFormat非线程安全
    MyBatis批量操作
  • 原文地址:https://www.cnblogs.com/hackly/p/9264123.html
Copyright © 2020-2023  润新知