[bigdata-105] spring-cloud-02 服务注册 eureka server 双机高
1. 双机高可用是标配,解决单点故障问题。源码跟单机版一样。配置文件不同。运行方式要略有注意。为完整起见,贴出全部代码。 参考资料:http://blog.didispace.com/springcloud6/ 2. 源码目录结构 . 3. pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.didispace</groupId> <artifactId>eureka-server</artifactId> <version>1.0.0</version> <packaging>jar</packaging> <name>eureka-server</name> <description>Spring Cloud In Action</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.7.RELEASE</version> <relativePath /> </parent> <repositories> <repository> <id>my-nexus-central</id> <name>my local nexus</name> <url>http://localhost:8081/nexus/content/repositories/central/</url> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> </repository> </repositories> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <!--<dependency> --> <!--<groupId>org.springframework.boot</groupId> --> <!--<artifactId>spring-boot-starter-actuator</artifactId> --> <!--</dependency> --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Brixton.SR5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> package com.brian.demo.eurekaserver; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @EnableEurekaServer @SpringBootApplication public class App{ public static void main(String[] args) { new SpringApplicationBuilder(App.class).web(true).run(args); } } 4.?application-peer1.properties spring.application.name=eureka-server server.port=1111 eureka.instance.hostname=peer1 eureka.client.serviceUrl.defaultZone=http://peer2:1112/eureka/ 5.application-peer2.properties spring.application.name=eureka-server server.port=1112 eureka.instance.hostname=peer2 eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/ 7. 编译打包 mvn clean package 8. 运行 要将jar包放到不同的目录下运行。 8.1 ?java -jar ~/usr/eureka-server-1/eureka-server-1.0.0.jar?--spring.profiles.active=peer1 ? ? 此时会报错,因为第二个eureka server尚未运行,继续等待既可。 8.2??java -jar ~/usr/eureka-server-2/eureka-server-1.0.0.jar?--spring.profiles.active=peer2 ?? 9. 查看 9.1?http://localhost:1111/ 可以看到这里注册了1112这个端口的服务 9.2 http://localhost:1112/ 可以看到这里注册了1111这个端口的服务 10. 如果一个服务要同时注册到这两个server上,配置application.properties文件内容如下: spring.application.name=compute-service server.port=2222 eureka.client.serviceUrl.defaultZone=http://peer1:1111/eureka/,http://peer2:1112/eureka/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |