SpringCloudEureka是基于NetfliEureka做了二次封装,负责微服务架构的服务治理功能。
SpringCloud通过为Eureka增加SpringBoot风格的自动化配置,只需要简单的引入依赖和注解配置,就能让SpringBoot构建的微服务应用轻松和Eureka服务治理体系整合。
各个微服务实例的注册与发现。
<dependencies>
<!-- 注册中心 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!-- 如果要用gson,则需要先去除默认的jackson-databind,再加入Gson依赖。-->
<exclusions>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR9</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class, args);
}
}
application.properties
server.port=8881
spring.application.name=eureka-server
## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/
http://localhost:8881/
分布式环境下,考虑发生故障的情况,要构建高可用的注册中心,以增强系统的可用性。
注册中心,互相注册,形成一组集群,以实现服务清单的互相同步,达到高可用效果。
在Spring Cloud Eureka中,DS Replicas(数据副本)是指Eureka Server集群中各个节点之间同步注册表信息的副本。
server.port=8881
spring.application.name=eureka-server
## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://localhost2:8882/eureka/
java -jar eureka-1.0-SNAPSHOT.jar
http://localhost:8881/
application-b.properties
server.port=8882
spring.application.name=eureka-server
## eureka服务端:禁用自己的客户端注册行为
eureka.instance.hostname=localhost2
# 服务端禁用自己的客户端注册行为
eureka.client.registerWithEureka=false
# 服务端只需要维护服务实例,不需要检索服务
eureka.client.fetchRegistry=false
# 服务端设置自己的.properties属性值
eureka.client.serviceUrl.defaultZone=http://localhost:8881/eureka/
java -jar eureka-1.0-SNAPSHOT.jar --spring.profiles.active=b
http://localhost:8882/
http://localhost:8881/
http://localhost:8882/
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。