1、Eureka简介
首先,大概介绍一下Eureka,Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部门,它基于Netflix Eureka做了二次封装,主要负责完成微服务架构中的服务治理功能,服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册与发现,二话不说,开始搭建环境。
我使用的开发工具是IDEA,IDEA对SpringCloud以及SpringBoot有非常好的支持,所以推荐使用IDEA。
2、注册中心环境搭建
首先创建一个SpringBoot项目,只需要选择Eureka的依赖即可,过程比较简单就不一一演示了。
创建完成之后在启动类上加入@EnableEurekaServer注解,这个注解表示启动一个服务注册中心提供给其他应用进行对话。
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);
}
}
然后修改application.yml文件
server:
port: 20001
eureka:
instance:
hostname: 127.0.0.1
#服务名称
appname: eureka-server
client:
service-url:
#注册中心的地址
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
#是否向注册中心注册自己,默认为true,
#由于只是单节点(之后会分享高可用的Eureka集群的搭建),所以这里选择false
register-with-eureka: false
#是否检索服务,由于注册中心的职责是维护服务示例,默认为true
#并不需要检索服务,所以这里选择false
fetch-registry: false
配置完成之后,访问我们配置的注册中心地址http://127.0.0.1:20001/,出现如下界面则表示注册中心搭建成功,只是里面还没有任何的服务。
3、服务注册
注册中心搭建完成之后,现在我们再创建一个SpringBoot项目,然后注册到注册中心上,搭建过程比较简单,就不演示了,之后主要讲解一下配置。
首先需要在启动类上加入@EnableDiscoveryClient,这个注解是让微服务可以被注册中心发现,注册到注册中心的服务都是一个客户端(注册中心也有可能是客户端,这个之后会详解),然后修改application.yml配置文件。
server:
port: 30001
eureka:
instance:
#注册到注册中心的名字
appname: provide-server
client:
service-url:
#注册中心的地址
defaultZone: http://127.0.0.1:20001/eureka/
配置完成之后我们启动服务,再次访问注册中心,出现下面的情况,则表示注册成功。
Eureka基本的配置就是这样,之后会分享服务之间的调用以及Eureka高可用的实现。