springcloud-eureka(注册中心)

  Eureka是Netflix开发的服务发现框架,springcloud将它集成在自己的子项目spring-cloud-netflix中,实现springcloud的服务发现功能。Eureka Server会提供服务注册的功能,个个服务节点启动后,会在Eureka Server进行注册,这样Eureka Server就又所有服务节点的信息,并且Eureka有自己的监控界面。Eureka 有一个心跳机制,当某个节点服务在规定的时间内没有发送信条信号时,Eureka会从服务注册列表把这个服务节点移除。Eureka还提供了客户端缓存机制,即使所有的Eureka Server挂掉,客户端仍然可以利用缓存中的信息调用服务节点中的服务,Eureka一般配合Ribbon进行使用,Ribbon提供了客户端负载均衡的功能,Ribbon利用从Eureka中读取到服务信息,在调用服务节点提供的服务时,会合理地进行负载。Eureka遵守的就是AP原则。

知识点:

1.服务注册:Eureka客户端向 Eureka Server注册时,它提供自身的元数据,比如IP地址、端口、运行状况指示符URL、主页等。

2.服务续约:Eureka客户端会每隔30秒发送一次心跳来续约。告知Eureka Server没有出现问题。Eureka Server 在90秒后没有收到客户端的心跳信号就会从服务列表剔除。也就是说在默认的情况下默认跳三次。

3.Eureka客户端缓存机制,Eureka客户端从服务器获取注册表信息,并将其缓存在本地。

开发一个简单的Eureka注册中心

基础idea开发,新建工程:springcloid-eureka-server,

一、添加依赖

<!-- 注册中心 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>

二、在应用启动雷伤添加@EnableEurekaServer,然后在配置文件中添加如下配置:
spring.application.name=eureka-server
server.port=8761
#eureka.instance.hostname=localhost

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

三、启动运
运行主程序,
访问:http://localhost:8761
能看到Eureka提供的页面就说明Eureka Server搭建成功。
四、注册服务到注册中心,新建工程,springcloud-service,并且添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

五、在启动类上添加@EnableDiscoveryClient,通过该注解,实现服务发现,注册。也可以通过EnableEurekaClient,这两个的区别就是一个是通用的服务发现,可以发现Eureka/Consul/Zookeeper中的注册服务,一个是专门为Eureka使用的。

六、新建一个类、TestController,然后加入代码
@RestController
public class TestController {
@RequestMapping(value = "/test",method = RequestMethod.GET)
public String test(@RequestParam Integer a,@RequestParam Integer b){
return "ok";
}
}

七、添加如下信息到配置文件:
spring.application.name=test

server.port=8762

eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/

八、启动工程springcloud-service
请求:http://localhost:8762/test/
可以看到元数据信息。

简单的注册中心就搭建完,并测试完成了。

猜你喜欢

转载自www.cnblogs.com/zhuoweihuang/p/10619646.html