一、创建00-eurekaserver-8000

(1)创建工程

创建一个Spring Initializr工程,命名为00-eurekaserver-8000,仅导入Eureka Server依赖即可

(2)pom.xml文件如下

若你使用的是JDK6、7、8,那么这些依赖无需导入。而JDK9及其以上版本需要导入


  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.abc</groupId>
  6. <artifactId>00-eurekaserver-8000</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <parent>
  10. <groupId>org.springframework.boot</groupId>
  11. <artifactId>spring-boot-starter-parent</artifactId>
  12. <version>2.1.7.RELEASE</version>
  13. <relativePath/> <!-- lookup parent from repository -->
  14. </parent>
  15. <properties>
  16. <java.version>1.8</java.version>
  17. <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
  18. </properties>
  19. <dependencies>
  20. <!--JAXB,Java Architechture for Xml Binding,XML绑定的Java技术
  21. JDK6、7、8版本的不用导入以下依赖,但9及其以上版本需要导入
  22. -->
  23. <!--<dependency>-->
  24. <!--<groupId>javax.xml.bind</groupId>-->
  25. <!--<artifactId>jaxb-api</artifactId>-->
  26. <!--<version>2.2.11</version>-->
  27. <!--</dependency>-->
  28. <!--<dependency>-->
  29. <!--<groupId>com.sun.xml.bind</groupId>-->
  30. <!--<artifactId>jaxb-core</artifactId>-->
  31. <!--<version>2.2.11</version>-->
  32. <!--</dependency>-->
  33. <!--<dependency>-->
  34. <!--<groupId>com.sun.xml.bind</groupId>-->
  35. <!--<artifactId>jaxb-impl</artifactId>-->
  36. <!--<version>2.2.11</version>-->
  37. <!--</dependency>-->
  38. <!--<dependency>-->
  39. <!--<groupId>javax.activation</groupId>-->
  40. <!--<artifactId>activation</artifactId>-->
  41. <!--<version>1.1.1</version>-->
  42. <!--</dependency>-->
  43. <dependency>
  44. <groupId>org.springframework.cloud</groupId>
  45. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  46. </dependency>
  47. <dependency>
  48. <groupId>org.springframework.boot</groupId>
  49. <artifactId>spring-boot-autoconfigure</artifactId>
  50. </dependency>
  51. </dependencies>
  52. <dependencyManagement>
  53. <dependencies>
  54. <dependency>
  55. <groupId>org.springframework.cloud</groupId>
  56. <artifactId>spring-cloud-dependencies</artifactId>
  57. <version>${spring-cloud.version}</version>
  58. <type>pom</type>
  59. <scope>import</scope>
  60. </dependency>
  61. </dependencies>
  62. </dependencyManagement>
  63. <build>
  64. <plugins>
  65. <plugin>
  66. <groupId>org.springframework.boot</groupId>
  67. <artifactId>spring-boot-maven-plugin</artifactId>
  68. </plugin>
  69. </plugins>
  70. </build>
  71. </project>

(3)创建并配置yml文件


  1. server:
  2. port: 8000
  3. eureka:
  4. instance:
  5. hostname: localhost # 指定Eureka主机
  6. client:
  7. register-with-eureka: false # 指定当前主机是否向Eureka服务器进行注册
  8. fetch-registry: false # 指定当前主机是否要从Eurka服务器下载服务注册列表
  9. service-url: # 服务暴露地址
  10. defaultZone: http://localhost:8000/eureka
  11. # defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
  12. # server:
  13. # enable-self-preservation: false # 关闭自我保护

(4)定义spring boot启动类

二、创建提供者工程02-provider-8081

(1)创建工程

复制01-provider-8081,并重命名为02-provider-8081

https://blog.csdn.net/u012965203/article/details/99065322

(2)pom.xml依赖如下


  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-parent</artifactId>
  8. <version>2.1.7.RELEASE</version>
  9. <relativePath/> <!-- lookup parent from repository -->
  10. </parent>
  11. <groupId>com.abc</groupId>
  12. <artifactId>02-provider-8081</artifactId>
  13. <version>0.0.1-SNAPSHOT</version>
  14. <name>02-provider-8081</name>
  15. <description>Demo project for Spring Boot</description>
  16. <properties>
  17. <java.version>1.8</java.version>
  18. <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
  19. </properties>
  20. <dependencies>
  21. <dependency>
  22. <groupId>com.alibaba</groupId>
  23. <artifactId>druid</artifactId>
  24. <version>1.1.10</version>
  25. </dependency>
  26. <!--actuator依赖-->
  27. <dependency>
  28. <groupId>org.springframework.boot</groupId>
  29. <artifactId>spring-boot-starter-actuator</artifactId>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework.boot</groupId>
  33. <artifactId>spring-boot-starter-data-jpa</artifactId>
  34. </dependency>
  35. <!--eureka客户端依赖-->
  36. <dependency>
  37. <groupId>org.springframework.cloud</groupId>
  38. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  39. </dependency>
  40. <!--修改MySQL驱动版本-->
  41. <dependency>
  42. <groupId>mysql</groupId>
  43. <artifactId>mysql-connector-java</artifactId>
  44. <version>5.1.47</version>
  45. <scope>runtime</scope>
  46. </dependency>
  47. <dependency>
  48. <groupId>org.springframework.boot</groupId>
  49. <artifactId>spring-boot-starter-web</artifactId>
  50. </dependency>
  51. <dependency>
  52. <groupId>org.projectlombok</groupId>
  53. <artifactId>lombok</artifactId>
  54. <optional>true</optional>
  55. </dependency>
  56. <dependency>
  57. <groupId>org.springframework.boot</groupId>
  58. <artifactId>spring-boot-starter-test</artifactId>
  59. <scope>test</scope>
  60. </dependency>
  61. </dependencies>
  62. <dependencyManagement>
  63. <dependencies>
  64. <dependency>
  65. <groupId>org.springframework.cloud</groupId>
  66. <artifactId>spring-cloud-dependencies</artifactId>
  67. <version>${spring-cloud.version}</version>
  68. <type>pom</type>
  69. <scope>import</scope>
  70. </dependency>
  71. </dependencies>
  72. </dependencyManagement>
  73. <build>
  74. <plugins>
  75. <plugin>
  76. <groupId>org.springframework.boot</groupId>
  77. <artifactId>spring-boot-maven-plugin</artifactId>
  78. </plugin>
  79. </plugins>
  80. </build>
  81. </project>

(3)修改yml文件


  1. server:
  2. port: 8081
  3. spring:
  4. jpa:
  5. # 指定在Spring容器启动时是否自动建表,默认为false
  6. generate-ddl: true
  7. # 指定是否在控制台显示其执行的SQL语句,默认false
  8. show-sql: true
  9. # 指定应用重启时是否重新创建更新表
  10. hibernate:
  11. ddl-auto: none
  12. # 配置数据源
  13. datasource:
  14. type: com.alibaba.druid.pool.DruidDataSource
  15. driver-class-name: com.mysql.jdbc.Driver
  16. url: jdbc:mysql:///test?useUnicode=true&amp;characterEncoding=utf8
  17. username: root
  18. password: root
  19. # 指定当前微服务对象暴露的名称
  20. application:
  21. name: abcmsc-provider-depart
  22. logging:
  23. # 设置日志输出格式
  24. pattern:
  25. console: level-%level %msg%n
  26. level:
  27. root: info
  28. org.hibernate: info
  29. org.hibernate.type.descriptor.sql.BasicBinder: trace
  30. org.hibernate.type.descriptor.sql.BasicExtractor: trace
  31. com.abc.provider: debug
  32. # 指定Eureka服务中心
  33. eureka:
  34. client:
  35. service-url:
  36. defaultZone: http://localhost:8000/eureka
  37. # defaultZone: http://localhost:8100/eureka,http://localhost:8200/eureka,http://localhost:8300/eureka
  38. # 指定当前客户端主机在注册中心的名称
  39. # instance:
  40. # instance-id: abcmsc-provider-8081
  41. info:
  42. company.name: www.abc.com
  43. company.addr: China Beijing
  44. company.tel: 12345678
  45. app.name: abc-msc
  46. app.desc: mic-server-cloud
  47. author: abc

三、创建消费工程02-consumer-8080

消费者将使用提供者暴露的服务名称(spring.application.name)来消费服务

(1)创建工程

复制01-consumer-8080,并重命名为02-consumer-8080

https://blog.csdn.net/u012965203/article/details/99065322

(2)添加依赖管理及依赖


  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com.abc</groupId>
  6. <artifactId>02-consumer-8080</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <parent>
  10. <groupId>org.springframework.boot</groupId>
  11. <artifactId>spring-boot-starter-parent</artifactId>
  12. <version>2.1.3.RELEASE</version>
  13. <relativePath/> <!-- lookup parent from repository -->
  14. </parent>
  15. <properties>
  16. <java.version>1.8</java.version>
  17. <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
  18. </properties>
  19. <dependencies>
  20. <!--actuator依赖-->
  21. <dependency>
  22. <groupId>org.springframework.boot</groupId>
  23. <artifactId>spring-boot-starter-actuator</artifactId>
  24. </dependency>
  25. <!--eureka客户端依赖-->
  26. <dependency>
  27. <groupId>org.springframework.cloud</groupId>
  28. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  29. <version>2.1.2.RELEASE</version>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework.boot</groupId>
  33. <artifactId>spring-boot-starter-web</artifactId>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.projectlombok</groupId>
  37. <artifactId>lombok</artifactId>
  38. <optional>true</optional>
  39. </dependency>
  40. <dependency>
  41. <groupId>org.springframework.cloud</groupId>
  42. <artifactId>spring-cloud-commons</artifactId>
  43. <version>2.1.2.RELEASE</version>
  44. <scope>compile</scope>
  45. </dependency>
  46. </dependencies>
  47. <dependencyManagement>
  48. <dependencies>
  49. <dependency>
  50. <groupId>org.springframework.cloud</groupId>
  51. <artifactId>spring-cloud-dependencies</artifactId>
  52. <version>${spring-cloud.version}</version>
  53. <type>pom</type>
  54. <scope>import</scope>
  55. </dependency>
  56. </dependencies>
  57. </dependencyManagement>
  58. <build>
  59. <plugins>
  60. <plugin>
  61. <groupId>org.springframework.boot</groupId>
  62. <artifactId>spring-boot-maven-plugin</artifactId>
  63. </plugin>
  64. </plugins>
  65. </build>
  66. </project>

(3)修改yml文件


  1. spring:
  2. application:
  3. name: abcmsc-consumer-depart
  4. eureka:
  5. client:
  6. service-url:
  7. defaultZone: http://localhost:8000/eureka
  8. # defaultZone: http://localhost:8100/eureka,http://localhost:8200/eureka,http://localhost:8300/eureka

(4)修改处理器

(5)修改JavaConfig类

四、测试

(1)启动eureka

(2)启动提供者

(3)启动消费者

(4)查看eureka服务列表

(5)测试功能

五、EurekaServer集群集群

这里要搭建的EurekaServer集群中包含三个EurekaServer节点,其端口号分别为8100、8200与8300

设置域名

在C:\Windows\System32\drivers\etc的host文件中添加如下域名映射信息


  1. 127.0.0.1 eureka8100.com
  2. 127.0.0.1 eureka8200.com
  3. 127.0.0.1 eureka8300.com

一、创建00-eurekaserver-8100

(1)创建工程

复制00-eurekaserver-8000工程,并重命名为00-eurekaserver-8100

(2) 修改pom

(3)修改配置文件


  1. server:
  2. port: 8100
  3. eureka:
  4. instance:
  5. hostname: eureka8100.com # 指定Eureka主机
  6. client:
  7. register-with-eureka: false # 指定当前主机是否需要向注册中心注册(不用,因为当前主机是Server,不是Client)
  8. fetch-registry: false # 指定当前主机是否需要获取注册信息(不用,因为当前主机是Server,不是Client)
  9. service-url: # 暴露服务中心地址
  10. defaultZone: http://eureka8100.com:8100/eureka,http://eureka8200.com:8200/eureka,http://eureka8300.com:8300/eureka

(4)创建00-eurekaserver-8200

再以相同的方式再复制出00-eurekaserver-8200

(5)创建00-eurekaserver-8300

再以相同的方式再复制出00-eurekaserver-8300

(6)修改提供者配置文件

(7)修改消费者配置文件

(8)启动eureka8100.com

(9)启动eureka8200.com

(10)启动eureka8300.com

(11)启动消费者

(12)启动提供者

(13)查看提供服务列表

Spring Cloud中使用Eureka的更多相关文章

  1. Spring Cloud中,Eureka常见问题总结

    Spring Cloud中,Eureka常见问题总结. 1 eureka.environment: 指定环境 参考文档: 1 eureka.datacenter: 指定数据中心 参考文档: 使用配置项 ...

  2. 【spring cloud】spring cloud中启动eureka集群时候,发生端口已经绑定的报错The Tomcat connector configured to listen on port 8000 failed to start. The port may already be in use or the connector may be misconfigured.

    在分别设置 进行微服务eureka集群启动时候,执行命令行启动jar包时候,报错前面一个端口8000已经被使用,而我这里启动的配置文件中端口号是8001,怎么会导致端口冲突呢?? 但是报错我的端口冲突 ...

  3. Spring Cloud中五大神兽总结(Eureka/Ribbon/Feign/Hystrix/zuul)

    Spring Cloud中五大神兽总结(Eureka/Ribbon/Feign/Hystrix/zuul) 1.Eureka Eureka是Netflix的一个子模块,也是核心模块之一.Eureka是 ...

  4. Spring Cloud中负载均衡器概览

    在上篇文章中(RestTemplate的逆袭之路,从发送请求到负载均衡)我们完整的分析了RestTemplate的工作过程,在分析的过程中,我们遇到过一个ILoadBalancer接口,这个接口中有一 ...

  5. Spring Cloud 系列之 Eureka 实现服务注册与发现

    如果你对 Spring Cloud 体系还不是很了解,可以先读一下 Spring Cloud 都有哪些模块 Eureka 是 Netflix 开源的服务注册发现组件,服务发现可以说是微服务架构的核心功 ...

  6. Spring Cloud中的负载均衡策略

    在上篇博客(Spring Cloud中负载均衡器概览)中,我们大致的了解了一下Spring Cloud中有哪些负载均衡器,但是对于负载均衡策略我们并没有去详细了解,我们只是知道在BaseLoadBal ...

  7. Spring Cloud中服务的发现与消费

    之前没注意,微信公众号的图片不能引用到其他地方,本文图片显示不正常,原图在写完博客后已经删了,,,,,,所以本文小伙伴可以移步这里https://mp.weixin.qq.com/s/GoIZdwt5 ...

  8. 基于Spring cloud Ribbon和Eureka实现客户端负载均衡

    前言 本案例将基于Spring cloud Ribbon和Eureka实现客户端负载均衡,其中Ribbon用于实现客户端负载均衡,Eureka主要是用于服务注册及发现: 传统的服务端负载均衡 常见的服 ...

  9. spring cloud config与eureka配合使用

    前面两篇介绍了Spring Cloud Config服务端和客户端的简单配置,本篇介绍Spring Cloud Config与Eureka配合使用 前言 默认情况下,配置客户端启动时,都是通过配置属性 ...

随机推荐

  1. VSCode PHP 开发环境配置 详细教程

    VSCode PHP 开发环境配置 详细教程 这篇文章主要介绍了VScode+PHPstudy配置PHP开发环境的步骤,整理了官方以及优秀第三方的内容,对于学习和工作有一定借鉴意义. 配置过程 第一步 ...

  2. 记录一个很傻的错误(C++)

    使用的vscode写代码,导入了vector,memory,然后忘了导入string.但是代码中能够提示std::string也就让我忘了导入string.然后就莫名其妙的报错了.找了很久的错.记录下 ...

  3. yum设置取消代理

    unset http_proxy unset https_proxy 暂时取消代理,若永久取消代理,需要修改/etc/yum.conf 去掉 proxy=http://proxyhost:8080

  4. [gym102770L]List of Products

    有一个很重要的性质:若$a\le b$且$c\le d$,则$ac\le bd$ 根据这一性质,就可以利用单调性$o(n)$求出小于$a_{x}\cdot b_{y}$的数的个数(先要对$a$和$b$ ...

  5. java获取CPU核心数

    package ThreadTest; public class ThreadTest05 { public static void main(String[] args) { //获取CPU核心 S ...

  6. idea解决Command line is too long. Shorten command line for ServiceStarter or also for Application报错

    找到 .idea\workspace.xml: 找到<component name="PropertiesComponent">,在里面添加<property n ...

  7. char数据可以放入int[]中会自动转换

    int[] ary ={'b','c','a','d','e','f'};System.out.println(ary[0]);//98String str = new String(ary, 2, ...

  8. Codeforces 1137F - Matches Are Not a Child's Play(LCT)

    Codeforces 题面传送门 & 洛谷题面传送门 考虑将一个点 \(x\) 的编号变为当前所有点编号最大值 \(+1\) 会对每个点的删除时间产生怎么样的影响.由于编号最大的点肯定是最后一 ...

  9. pcm-pcie 解析

    简介 pcm 全称为 Performance Counter Monitor,该项目是针对 intel 平台处理器的资源利用率进行监控的工具.在现代 Intel 处理器已经提供了监视处理器内部性能事件 ...

  10. n组字母和最大

    字母A-J,用0-9对应字母使得n组数据和最大,输入字符串前面保证非0 如输入组数据: 2 ABC BCA 输出: 1875 思路:其实就是求和,对应字符乘以相应的量级,按系数排序 如上MAX(101 ...