注册中心在微服务中是必不可少的一部分,主要用来实现服务自治的功能,本文则主要记载使用Netflix提供的Eureka作为注册中心,来实现服务自治的功能。
实际上Eureka的集群搭建方法很简单:每一台Eureka只需要在配置中指定另外多个Eureke的地址,就可以实现一个集群的搭建了
例如:
两节点
-- 节点1注册到节点2
--节点2注册到节点1
三节点
--节点1注册到节点2,3
--节点2注册到节点1,3
--节点3注册到节点1,2
我做的是两个Eureka节点构建注册中心,然后一个producer和一个customer分别进行提供服务和请求服务:见图
节点1:
先新建一个Maven项目,添加依赖(基于jdk11,如果不是jdk11,可以不添加)
pom.xml主要代码
1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <version>1.5.4.RELEASE</version> 5 <relativePath/> 6 </parent> 7 8 <properties> 9 <java.version>11</java.version> 10 </properties> 11 12 <!-- 依赖 --> 13 <dependencies> 14 <!-- Eureka --> 15 <dependency> 16 <groupId>org.springframework.cloud</groupId> 17 <artifactId>spring-cloud-starter-eureka-server</artifactId> 18 </dependency> 19 20 <!--java 11 缺少的模块 javax.xml.bind--> 21 <dependency> 22 <groupId>javax.xml.bind</groupId> 23 <artifactId>jaxb-api</artifactId> 24 <version>2.3.0</version> 25 </dependency> 26 <dependency> 27 <groupId>com.sun.xml.bind</groupId> 28 <artifactId>jaxb-impl</artifactId> 29 <version>2.3.0</version> 30 </dependency> 31 <dependency> 32 <groupId>org.glassfish.jaxb</groupId> 33 <artifactId>jaxb-runtime</artifactId> 34 <version>2.3.0</version> 35 </dependency> 36 <dependency> 37 <groupId>javax.activation</groupId> 38 <artifactId>activation</artifactId> 39 <version>1.1.1</version> 40 </dependency> 41 42 <!-- 添加 Spring-Security 不需要则不添加--> 43 <dependency> 44 <groupId>org.springframework.boot</groupId> 45 <artifactId>spring-boot-starter-security</artifactId> 46 </dependency> 47 </dependencies> 48 49 <!-- Spring Cloud --> 50 <dependencyManagement> 51 <dependencies> 52 <dependency> 53 <groupId>org.springframework.cloud</groupId> 54 <artifactId>spring-cloud-dependencies</artifactId> 55 <version>Dalston.SR4</version> 56 <type>pom</type> 57 <scope>import</scope> 58 </dependency> 59 </dependencies> 60 </dependencyManagement>