springcloud(1):注册中心Eureka

注册中心

服务中心又称注册中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等,比如dubbo admin后台的各种功能。

Eureka的基本架构,由3个角色组成:

1、Eureka Server

  • 提供服务注册和发现

2、Service Provider

  • 服务提供方
  • 将自身服务注册到Eureka,从而使服务消费方能够找到

3、Service Consumer

  • 服务消费方
  • 从Eureka获取注册服务列表,从而能够消费服务

 

简单实例

(1)pom添加入依赖

<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka-server</artifactId>
		</dependency>

(2)application.properties添加以下配置

spring.application.name=spring-cloud-eureka
#
server.port=8000
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

   注意:

  • eureka.client.register-with-eureka :表示是否将自己注册到Eureka Server,默认为true。
  • eureka.client.fetch-registry :表示是否从Eureka Server获取注册信息,默认为true。
  • eureka.client.serviceUrl.defaultZone :设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔。

(3)添加启动代码中添加@EnableEurekaServer注解

(4)验证,访问http://localhost:8000/,如下图即成功

集群

注册中心这么关键的服务,如果是单点话,遇到故障就是毁灭性的。在一个分布式系统中,服务注册中心是最重要的基础部分,理应随时处于可以提供服务的状态。为了维持其可用性,使用集群是很好的解决方案。Eureka通过互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署。

实例

(1)创建application-peer1.properties

spring.application.name=spring-cloud-eureka

server.port=8000
#eureka.client.register-with-eureka=false
#eureka.client.fetch-registry=false

eureka.instance.hostname=peer1
eureka.client.serviceUrl.defaultZone=http://peer2:8001/eureka/,http://peer3:8002/eureka/

如上,依次创建application-peer2.properties,application-peer3.properties并修改对应配置

(2)在host中添加

127.0.0.1 peer1  
127.0.0.1 peer2
127.0.0.1 peer3

(3)分别启动

java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1
java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2
java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer3

(4)访问http://peer1:8000/http://peer1:8001/http://peer1:8002/,如下图即实现注册中心集群

猜你喜欢

转载自blog.csdn.net/qq_42683700/article/details/85164854
今日推荐