ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 一、Eureka服务注册中心 生产环境中的Eureka服务注册中心的架构应该如下图所示 ![](https://img.kancloud.cn/86/ee/86ee6b94cd1551cce34ea0b02357bc15_918x564.png) 可以简单的理解: * 服务注册中心就是一个婚姻介绍所 * A服务找老婆,B服务找老公 * 每个服务需要向婚姻介绍所登记(服务注册),也都需要从婚姻介绍所获取候选人信息(服务发现) 为了保障微服务的高可用,提供更高的并发能力,通常需要部署多份实现集群部署。为了快速的让大家入手Spring Cloud 微服务架构,此文只做简化版的服务注册中心的构建。后续我们会讲集群部署。 ![](https://img.kancloud.cn/88/de/88de722443f5863e9638878ff34c6f70_487x264.png) ## 二、搭建Eureka服务注册中心 ### 2.1.Spring Cloud版本管理 eureka服务注册中心,是我们第一次使用Spring Cloud相关的组件。所以我们需要在dongbb-cloud的父项目中添加统一的版本管理。 ~~~ <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR3</version> <type>pom</type> <scope>import</scope> </dependency> ...... </dependencies> </dependencyManagement> ~~~ ### 2.2.新建Spring Boot项目 需要注意的是:eureka服务注册中心本身也是一个微服务,它是使用Spring Boot为基础服务框架搭建的。所以我们需要在dongbb-cloud父项目中新建一个Spring Boot子项目:zimug-server-eureka 这个过程,我们已经多次做过了,就不写详细步骤了(翻看前面章节)。此处是新建及项目调整完成之后的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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>dongbb-cloud</artifactId> <groupId>com.zimug</groupId> <version>1.0</version> </parent> <groupId>com.zimug.congbb.cloud</groupId> <artifactId>zimug-server-eureka</artifactId> <version>1.0</version> <name>zimug-server-eureka</name> <description>zimug-server-eureka</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> ~~~ * 注意这里spring Boot 2.0引入的包是spring-cloud-starter-netflix-eureka-server,正是该包帮助我们实现eureka服务注册中心。 * 在Spring Boot 1.0版本引入的包是spring-cloud-starter-eureka,在Spring Boot2.0版本中不再使用。 * 因为在父项目中进行了版本号的管理,所以子项目中不必写版本号。 ### 2.3.修改application配置文件 我喜欢使用yml文件,所以先改名application.properties为application.yml ~~~ server: port: 8761 servlet: context-path: /eureka spring: application: name: eureka-server eureka: instance: hostname: localhost #该服务部署的主机名称,参考windows的hosts文件或linux的/etc/hosts client: #是否从其他实例获取服务注册信息,因为这是一个单节点的EurekaServer,不需要同步其他的EurekaServer节点的数据,所以设置为false; fetch-registry: false #表示是否向eureka注册服务,即在自己的eureka中注册自己,默认为true,此处应该设置为false; register-with-eureka: false service-url: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ ~~~ ### 2.4.配置启动类注解 ![](https://img.kancloud.cn/1c/74/1c74c68a3024f9efd6f4907fa5f79e36_810x175.png) ### 2.5.访问测试 访问http://localhost:8761/eureka/,出现如下页面表示我们服务注册中心搭建成功。 ![](https://img.kancloud.cn/df/9d/df9d261dbb88aeba228292929a79f100_1640x906.png)