-
注册中心相当于微服务架构中的“通讯录”,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到注册中心,当服务需要调用其他服务时,就到这里找到服务的地址,进行调用。服务注册中心的作用就是服务的注册和服务的发现。
-
常见注册中心的对比
-
Eureka 注册中心三种角色
- Eureka Server
- 通过 Register、Get、Renew 等接口提供服务的注册和发现
- Application Service(Service Provider)
- 服务提供方,把自身的服务实例注册到 Euraka Server 中
- Application Client(Service Consumer)
- 服务调用方,通过 Eureka Server 获取服务列表,消费服务
- Eureka Server
-
单例Eureka Server服务注册中心
- 导入依赖
<?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"> <parent> <artifactId>xxx</artifactId> <groupId>自己的父项目</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>1.0.0</modelVersion> <artifactId>spring-cloud-eureka-server-8761</artifactId> <properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> </properties> <dependencies> <!--Eureka server依赖--> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> </dependencies> </project>
- 配置文件的编写
#eureka server端口 server: port: 8761 spring: application: name: spring-cloud-eureka-server #应用名称,应用名称会在Eureka中作为服务名称 #euraka客户端配置(和Server交互) eureka: instance: hostname: localhost #当前Eureka实例的主机名 client: service-url: #配置客户端所交互的Eureka defaultZone: http://${eureka.instance.hostname}}:${server.port}/eureka register-with-eureka: false #当前自己就是server,不需要注册自己 fetch-registry: false #查询获取注册中心的服务信息,自己就是Server,所以不需要获取
- 启动类
@SpringBootApplication // 声明当前项目为Eureka服务 @EnableEurekaServer public class EurekaServerApp8761 { public static void main(String[] args) { SpringApplication.run(EurekaServerApp8761.class, args); } } * 服务启动成功后访问http://localhost:8761/就能看各种信息了