服务端

build.gradle配置

dependencies {
compile('org.springframework.cloud:spring-cloud-starter-netflix-eureka-server')
testCompile('org.springframework.boot:spring-boot-starter-test')
} dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}

bootstrap.yml相关配置

server.port: 8761
management.port: 8762 eureka:
instance:
hostname: localhost
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://localhost:8761/eureka/

启动代码

package lind.sprindemo.eurekaServer;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer
@EnableDiscoveryClient
@SpringBootApplication
public class EurekaServerApplication { public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}

客户端

向我们配置中心的客户端同时也是eureka的一个客户端,例如一个订单服务,它的配置存储在配置中心,它如果希望公开自己,就需要是eureka的一个客户端。

例子

graph TD
A[订单服务]-->B(注册)
B-->C(eureka)
A-->D(获取配置)
D-->E(clientserver)

高可用的eureka集群

主要是在eureka里注册另一个eureka,两个eureka实例相互注册,实现一个最高用的集群。

同一时刻,只有一个eureka里有服务,而当这个eureka挂了之后,会把服务自动同步到另一个节点上,这就是高可用。

  1. 配置代码
server:
port: ${PORT:8761}
management:
port: ${BG_PORT:8762}
application:
name: ${NAME:eurekaserver}
spring:
profiles:
active: dev
---
eureka:
profile: dev
instance:
hostname: ${application.name}
perferIpAddress: true #基于IP地址注册
client:
registerWithEureka: false #false表示不向注册中心注册自己。
fetchRegistry: false #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
serviceUrl:
defaultZone: ${URL:http://${eureka.instance.hostname}:${server.port}/eureka/}
  1. Dockerfile内容

可以从远程下载你的jar包,如果你的网速足够好的话

FROM fabric8/java-jboss-openjdk8-jdk:1.4
ENV JAVA_APP_JAR="app.jar"
ENV JAVA_MAX_MEM_RATIO=40
ENV AB_OFF ""
ADD --chown=jboss:jboss ./jar/eurekaServer-0.0.2.jar /deployments/app.jar
  1. docker-compose实现eureka集群
version: "3.3"
services: eurekaserver1:
build: ./eureka-server
restart: on-failure
ports:
- "6761:6761"
- "6762:6762"
networks:
- dev
environment:
- PORT=6761
- BG_PORT=6762
- NAME=eureka1
- URL=http://eureka2:6761/eureka #集群地址配置 eurekaserver2:
build: ./eureka-server
restart: on-failure
ports:
- "5761:5761"
- "5762:5762"
networks:
- dev
environment:
- PORT=5761
- BG_PORT=5762
- NAME=eureka2
- URL=http://eureka1:6761/eureka #集群地址配置

运行docker-compose up -d 就会先构建eureka的镜像,然后运行你的两个eureka实例了。

springcloud~Eureka实例搭建的更多相关文章

  1. SpringCloud+Eureka快速搭建微服架构

    什么是springcloud? Springcloud是一个微服务框架,相比dubbo等,springcloud提供全套的分布式系统解决方案. Eureka是什么? Eureka是netflix的一个 ...

  2. 小D课堂 - 新版本微服务springcloud+Docker教程_3-05 服务注册和发现Eureka Server搭建实战

    笔记 5.服务注册和发现Eureka Server搭建实战     简介:使用IDEA搭建Eureka服务中心Server端并启动,项目基本骨架介绍          官方文档:http://clou ...

  3. SpringCloud+Eureka+Feign+Ribbon的简化搭建流程,加入熔断,网关和Redis缓存[2]

    目录 前提:本篇是基于 SpringCloud+Eureka+Feign+Ribbon的简化搭建流程和CRUD练习[1] 的修改与拓展 1.修改consumer的CenterFeign.java,把返 ...

  4. 小D课堂 - 新版本微服务springcloud+Docker教程_3-06 服务注册和发现之Eureka Client搭建商品服务实战

    笔记 6.服务注册和发现之Eureka Client搭建商品服务实战     简介:搭建用商品服务,并将服务注册到注册中心 1.创建一个SpirngBoot应用,增加服务注册和发现依赖     2.模 ...

  5. 微服务之SpringCloud实战(二):SpringCloud Eureka服务治理

    服务治理 SpringCloud Eureka是SpringCloud Netflix微服务套件的一部分,它基于Netflix Eureka做了二次封装,主要完成微服务的服务治理功能,SpringCl ...

  6. springcloud(第三篇)springcloud eureka 服务注册与发现 *****

    http://blog.csdn.net/liaokailin/article/details/51314001 ******************************************* ...

  7. SpringCloud Eureka 服务注册与服务发现

    一.Eureka简介 spring Cloud Netflix技术栈中,Eureka作为服务注册中心对整个微服务架构起着最核心的整合作用.有了服务发现与注册,你就不需要整天改服务调用的配置文件了,你只 ...

  8. SpringCloud Eureka参数配置项详解

    SpringCloud Eureka参数配置项详解(转) Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下 ...

  9. SpringCloud——eureka集群

    目的: 第一种普通方式 第二种方式骚操作 Eureka自我保护机制 Eureka集群搭建 说的通俗易懂一点就是,同一个项目部署在多个服务器上. 当注册中心扛不住高并发的时候,这时候 要用集群来扛: 今 ...

随机推荐

  1. Python ymal 模块和configparser

    ymal : 是一种config文件 # !/user/bin/python # -*- coding: utf-8 -*- import configparser # 生成一个config文件 (当 ...

  2. Java 学习笔记 (五) Java Compile\Build\Make的区别

    以下内容引自: http://blog.51cto.com/lavasoft/436216 Compile.Make和Build的区别 原创leizhimin2010-11-30 11:30:20评论 ...

  3. stm.go

    package) ].ModRevision } func,, ,, ].ModRevision ].Value) }

  4. 删除外部dwg中指定的块定义

    本例实现删除外部图纸中指定的块定义,在外部图纸当前模型空间中是没有该块定义的块参照存在. 代码如下: void CBlockUtil::DeleteBlockDefFormOtherDwg(const ...

  5. bzoj3598 [Scoi2014]方伯伯的商场之旅

    数位dp,我们肯定枚举集合的位置,但是如果每次都重新dp的话会很麻烦,所以我们可以先钦定在最低位集合,dp出代价,然后再一步步找到正确的集合点,每次更改的代价也dp算就好了. #include < ...

  6. JavaScript对象的指向问题

    JavaScript对象的指向问题 标签(空格分隔): JavaScript 对象 在接触了JavaScript之后,我们常听到一句话就是一切皆对象,意思是说除了object以外,JavaScript ...

  7. SQL Android

    SQLite是一款轻量级的关系型数据库,它的运算速度非常快,占用资源很少. 一般有以下几个关键步骤: 1.创建数据库 2.创建表 3.操作:增删改查 4.关闭数据库 5.删除表(非必选) SQLite ...

  8. 为啥程序会有bug?

    如果这是第二次看到我的文章,欢迎右侧扫码订阅我哟~ 

  9. 一起来学Spring Cloud | 第二章:服务注册和发现组件 (Eureka)

    本篇文章,很浅显的一步步讲解如何搭建一个能运行的springcloud项目(带所有操作截图).相信!看完本篇之后,你会觉得springcloud搭建如此简单~~~~ 一. Eureka简介: 1.1  ...

  10. Spark学习之数据读取与保存总结(二)

    8.Hadoop输入输出格式 除了 Spark 封装的格式之外,也可以与任何 Hadoop 支持的格式交互.Spark 支持新旧两套Hadoop 文件 API,提供了很大的灵活性. 要使用新版的 Ha ...