SpringCloud服务注册与发现

1 服务治理

由于Spring Cloud为服务治理做了一层抽象接口,所以在Spring Cloud应用中可以支持多种不同的服务治理框架,比如:Netflix Eureka、Consul、Zookeeper。在Spring Cloud服务治理抽象层的作用下,我们可以无缝地切换服务治理实现,并且不影响任何其他的服务注册、服务发现、服务调用等逻辑。

1.1 Netflix Eureka

1.1.1 创建“服务注册中心”

@EnableEurekaServer注解启动一个服务注册中心提供给其他应用进行对话。

在默认设置下,该服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为,只需要在application.properties配置文件中增加如下信息

spring.application.name=eureka-server
server.port=1001

eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

1.1.2 创建“服务提供方”

应用主类中通过加上@EnableDiscoveryClient注解,该注解能激活Eureka中的DiscoveryClient实现。

spring.application.name=eureka-client
server.port=2001
eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/

1.2 Consul

1.2.1 创建“服务注册中心”

consul agent -dev

1.2.2 创建“服务提供方”

pom.xml中将eureka的依赖修改为如下依赖:

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-consul-discovery</artifactId>
</dependency>

接下来再修改一下application.properites,将consul需要的配置信息加入即可,比如:(下面配置是默认值)

spring.cloud.consul.host=localhost
spring.cloud.consul.port=8500

猜你喜欢

转载自my.oschina.net/duhongming52java/blog/1787979