springcloud--Eureka-搭建与配置服务中心
程序员文章站
2024-03-16 17:18:40
...
Eureka-搭建与配置服务中心
Eureka是一个服务治理组件,是微服务架构中服务注册与发现的核心组件之一。springcloud提供了多种服务注册与发现的实现方式。spring支持最好的是Eureka,其次是Consul再次是Zookeeper。
服务注册:将服务所在主机、端口、版本号、通信协议等登记到注册中心上。
服务发现:服务消费者向注册中心请求已经登记的服务列表,然后得到某个服务的主机、端口、版本号、通信协议等信息,从而实现对具体服务的调用。
springcloud使用Eureka注册中心实际上是一个springboot工程,通过引入依赖和注解配置就可以让springboot构建的微服务与Eureka整合。步骤如下
1.创建一个springboot项目,并且添加springboot相关依赖
2.修改pom.xml配置文件,添加eureka依赖:
springcloud更新换代比较快,1.5版本使用spring-cloud-starter-eureka-server还是没问题的。2.0以上建议使用 spring-cloud-starter-netflix-eureka-server。springcloud坑比较多,多做笔记多联系
<!--SpringCloud的eureka-server起步依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependencyManagement>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencyManagement>
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/libs-milestones</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
3.定义程序启动类即springboot入口类添加注解@EnableEurekaSever注解,用于开启Eureka注册中心服务端。
package com.wkcto.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
4.在application.properties或application.yml配置文件中,配置Eureka服务注册中心信息:
application.properties
application.yml
在这里插入代码片
server:
port:8761
eureka:
instance:
hostname:localhost
client:
register-with-eureke:false
fetch-register:false
service-url:
defaultZone:http://$(eureka.instance.hostname):$(server.port)/eureka/
# defaultZone:http://localhost:8761/eureka/