【码上微服务】- 环境搭建 - Eureka注册中心

一、前言

  本章将讲述基于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部署结束。

原文地址:https://www.cnblogs.com/hackly/p/9264123.html

时间: 2024-08-02 15:53:15

【码上微服务】- 环境搭建 - Eureka注册中心的相关文章

怀仁药店微服务环境搭建记录

怀仁药店微服务环境搭建记录: 基础条件:服务器已安装docker,且开通外网功能. 修改计算机hostname: hostnamectl set-hostname hr-rs 一.建立分区及格式: (注:先确保没有镜像和容器运行在服务器上) [[email protected] ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 50G 2.6G 48G 6% / devtmpfs 16G 0 16G 0% /dev tmpfs 16G

微服务环境搭建

第三章.微服务环境搭建 名词解释: 1.准备 实现配置好Java开发环境,包括jdk的安装.IDEA的安装: 注:SpringBoot2.0版本中要求最低的jdk的版本是1.8: 2.创建一个SpringBoot工程 file—new—project—Spring Initializr—选择SDK—next 填写Group和Artifact——选择默认的Maven工程,其他配置默认——next 开发Java web项目,至少选择一个勾选web中的web——finish——finish: IDEA

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

一.前言 本系列针对有一定微服务架构基础的同僚,写博主要是为了沟通学习. 二.环境准备 操作系统:CentOS 7.2 三.Docker安装 使用官方安装脚本自动安装(这里使用了阿里云镜像源) curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 手动安装(使用yum进行安装,这里使用了阿里云镜像源) # step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils device

centos7环境搭建Eureka-Server注册中心集群

目的:测试和线上使用这套独立的Eureka-Server注册中心集群,目前3台虚拟机集群,后续可直接修改配置文件进行新增或减少集群机器. 系统环境: Centos7x64 java8+(JDK1.8+)(java –version  确保java没问题.注意添加环境变量) 端口:8761 各peer节点分别为: 192.168.1.134  peer1 192.168.1.27   peer2 192.168.1.152  peer3 一 创建项目 注意!注意!注意 这里有个IDEA的坑 开始引

idea搭建eureka注册中心

1.创建Eureka Server File-New-Project-Maven工程(SDK1.8) next next finish 2.添加依赖及编写类 pom.xml中添加依赖 <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</a

Spring Cloud第三篇 | 搭建高可用Eureka注册中心

? ?本文是Spring Cloud专栏的第三篇文章,了解前两篇文章内容有助于更好的理解后面文章: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring Cloud第二篇 | 使用并认识Eureka注册中心 ? 一.Eureka注册中心高可用集群概述 1-1.传统架构 在微服务架构的这种分布式系统中,我们要充分考虑各个微服务组件的高可用性问题,不能有单点故障,由于注册中心Eureka本身也是一个服务,如果它只有一个节点,那么它有可能发生故障,这样我们

微服务架构:Eureka集群搭建

版权声明:本文为博主原创文章,转载请注明出处,欢迎交流学习! 服务注册.发现是微服务架构的关键原理之一,由于微服务架构是由一系列职责单一的细粒度服务构成的网状结构,服务之间通过轻量机制进行通信,这就必然引入一个服务注册发现的问题,也就是说服务提供方要注册报告服务地址,服务调用方要能发现目标服务.在我们的微服务架构中我们采用了Eureka来完成微服务的注册与发现.微服务通过Eureka进行注册,服务调用方通过Eureka找到目标服务.由于服务提供方以集群方式提供服务,Eureka也采用集群的方式来

SpringCloud微服务(01):Eureka组件,管理服务注册与发现

一.Eureka基本架构 1.Eureka角色结构图 角色职责如下: 1).Register:服务注册中心,它是一个Eureka Server ,提供服务注册和发现功能. 2).Provider:服务提供者,它是一个Eureka Client ,提供服务. 3).Consumer:服务消费者,它是一个Eureka Cient ,消费服务. 2.Eureka中几个核心概念 1).Registe服务注册 当Client向Server 注册时,Client 提供自身的元数据,比如IP 地址.端口.运行

【一起学源码-微服务】Nexflix Eureka 源码十:服务下线及实例摘除,一个client下线到底多久才会被其他实例感知?

前言 前情回顾 上一讲我们讲了 client端向server端发送心跳检查,也是默认每30钟发送一次,server端接收后会更新注册表的一个时间戳属性,然后一次心跳(续约)也就完成了. 本讲目录 这一篇有两个知识点及一个疑问,这个疑问是在工作中真真实实遇到过的. 例如我有服务A.服务B,A.B都注册在同一个注册中心,当B下线后,A多久能感知到B已经下线了呢? 不知道大家有没有这个困惑,这篇文章最后会对此问题答疑,如果能够看到文章的结尾,或许你就知道答案了,当然答案也会在结尾揭晓. 目录如下: C