Spring Cloud实战(二)-注册中心

接着上一篇 Spring Cloud实战(一)-项目架构搭建 现在开始搭建注册中心

一.register-server

1.pom.xml

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">

cloud-action

com.example

0.0.1-SNAPSHOT

4.0.0

register-server

org.springframework.cloud

spring-cloud-starter-netflix-eureka-server

2.RegisterApplication.java

package com.example.register;

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**

* @author 86188

*/

@SpringBootApplication

@EnableEurekaServer //开启eureka服务

public class RegisterApplication {

public static void main(String[] args) {

SpringApplication.run(RegisterApplication.class, args);

}

}

3.application.yml

spring:

application:

name: eureka-server

profiles:

active: single

---

#单机版

spring:

config:

activate:

on-profile: single

server:

port: 1111 #当前eureka-server服务的端口号

eureka:

instance:

hostname: localhost #当前eureka-server服务的主机名

client:

register-with-eureka: false #当前eureka-server服务不需要到eureka-server上注册

fetch-registry: false #注册中心的职责是维护服务实例,不需要检索服务

service-url:

defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ #eureka-client设置eureka-server的地址

server:

enable-self-preservation: false #本地开发 关闭自我保护机制,确保注册中心可以将不可用实例正确删除. 线上环境需要开启

---

spring:

config:

activate:

on-profile: peer1

server:

port: 1112 #当前eureka-server服务的端口号

eureka:

instance:

hostname: peer1 #当前eureka-server服务的主机名[需要在本地 etc/hosts 中配置 127.0.0.1 peer1 ]

lease-renewal-interval-in-seconds: 30 #服务续约(心跳检测)时间,默认30秒

lease-expiration-duration-in-seconds: 90 #服务剔除时间,默认90秒

client:

service-url:

defaultZone: http://peer2:1113/eureka/ #eureka-client设置eureka-server的地址

server:

enable-self-preservation: false #本地开发 关闭自我保护机制,确保注册中心可以将不可用实例正确删除. 线上环境需要开启

---

spring:

config:

activate:

on-profile: peer2

server:

port: 1113 #当前eureka-server服务的端口号

eureka:

instance:

hostname: peer2 #当前eureka-server服务的主机名[需要在本地 etc/hosts 中配置 127.0.0.1 peer2 ]

lease-renewal-interval-in-seconds: 30 #服务续约(心跳检测)时间,默认30秒

lease-expiration-duration-in-seconds: 90 #服务剔除时间,默认90秒

client:

service-url:

defaultZone: http://peer1:1112/eureka/ #eureka-client设置eureka-server的地址

server:

enable-self-preservation: false #本地开发 关闭自我保护机制,确保注册中心可以将不可用实例正确删除. 线上环境需要开启

4.测试

此处我配置了单机版single和集群版peer1,peer2,集群很简单 就是相互注册.

单机版

java -jar register-server-0.0.1-SNAPSHOT.jar

集群版

java -jar register-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1

java -jar register-server-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

​ 至此,注册中心搭建完毕.

特别说明:

为了避免端口冲突,单机版端口全部以四位数的相同数字开始,集群最后一个数字递增.

例如:

注册中心 单机版(single):1111 集群(peer1,peer2,...):1112,1113,...

配置中心 单机版(single): 2222 集群(peer1,peer2,...):2223,2224,...

...

本地为了方便,后续如无特殊需要均以单机版为主

Top