springcloud-Eureka搭建服务注册中心2-集群化

目标:搭建出三个节点的服务注册中心集群,并实现一个服务的注册。java

目录:git

    一、注册中心集群配置(代码里都有关键注释,可自行查看);github

    二、运行集群;spring

    三、hello-server服务注册;浏览器

 

1、注册中心集群配置springboot

    跟上一篇文章的单个服务注册中心同样,首先建立一个springboot项目eureka-server-cluster,而后在pom.xml文件中添加spring cloud的版本依赖和Eureka的服务端依赖(请查看上一篇文章的pom.xml配置,事实是两个项目pom内容同样),而后进行下面配置:app

    一、首先在项目的resource下建立三个节点的配置文件-目的为了后面启动集群不一样节点加载不一样配置文件,服务注册中心节点1的主机名为: eurekaserverone、服务注册中心节点2的主机名为: eurekaservertwo、服务注册中心节点3的主机名为: eurekaserverthree(由于这里我是在本机器环境下搭建的集群,因此三个节点的IP都是127.0.0.1,只是端口不一样-具体端口见下面的配置文件,为了主机名能映射到IP地址,因此咱们须要在系统的host文件中配置对应的映射以下图示)。三个配置文件分别为:application-serverone.yml,application-servertow.yml,applicatioin-serverthree.yml 具体配置分别以下:spa

         

           1) application-serverone.yml配置,这里服务注册中心节点eurekaserverone注册到服务注册中心节点eurekaservertwo和服务注册中心节点eurekaserverthree.net

# 配置服务名称(由于这里做为服务中心集群,因此将本身做为服务向其它服务中心注册本身,造成互相注册的服务注册中心)
spring:
  application:
    name: eureka-server-cluster

# 配置端口
server:
  port: 1111

eureka:
  # 配置本注册中心的hostname
  instance:
    hostname: eurekaserverone
  # 本Eureka服务端将本身做为服务将要注册的注册中心的地址
  client:
    serviceUrl:
      defaultZone: http://eurekaservertwo:1112/eureka/,http://eurekaserverthree:1113/eureka/

            2) application-servertwo.yml配置,这里服务注册中心节点eurekaservertwo注册到服务注册中心节点eurekaserverone和服务注册中心节点eurekaserverthree命令行

# 配置服务名称(由于这里做为服务中心集群,因此将本身做为服务向其它服务中心注册本身,造成互相注册的服务注册中心)
spring:
  application:
    name: eureka-server-cluster

# 配置端口
server:
  port: 1112

eureka:
  # 配置本注册中心的hostname
  instance:
    hostname: eurekaservertwo
  # 本Eureka服务端将本身做为服务将要注册的注册中心的地址
  client:
    serviceUrl:
      defaultZone: http://eurekaserverone:1111/eureka/,http://eurekaserverthree:1113/eureka/

            3) application-serverthree.yml配置,这里服务注册中心节点eurekaserverthree注册到服务注册中心节点eurekaserverone和服务注册中心节点eurekaservertwo

# 配置服务名称(由于这里做为服务中心集群,因此将本身做为服务向其它服务中心注册本身,造成互相注册的服务注册中心)
spring:
  application:
    name: eureka-server-cluster

# 配置端口
server:
  port: 1113

eureka:
  # 配置本注册中心的hostname
  instance:
    hostname: eurekaserverthree
  # 本Eureka服务端将本身做为服务将要注册的注册中心的地址
  client:
    serviceUrl:
      defaultZone: http://eurekaserverone:1111/eureka/,http://eurekaservertwo:1112/eureka/

    

    二、在EurekaServerClusterApplication.java中即项目的启动类中添加开启此段为服务注册中心注解@EnableEurekaServer,代码以下:

package com.lyq.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

/**
 * @description	: @EnableEurekaServer开启此端为服务注册中心
 * @author 		: lyq
 * @date		: 2018/01/10
 */
@EnableEurekaServer
@SpringBootApplication
public class EurekaServerClusterApplication {

	public static void main(String[] args) {
		SpringApplication.run(EurekaServerClusterApplication.class, args);
	}

}

 

2、运行集群

    一、将上面项目进行编译打包后,如今到命令行环境去针对不一样节点加载不一样配置文件运行,具体命令以下

        1)启动服务中心节点eurekaserverone,命令以下:

            java -jar eureka-server-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=serverone

        2)启动服务中心节点eurekaservertwo,命令以下:

            java -jar eureka-server-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=servertwo

        3)启动服务中心节点eurekaserverthree,命令以下:

            java -jar eureka-server-cluster-0.0.1-SNAPSHOT.jar --spring.profiles.active=serverthree

         我这启动成功后界面,这里也能够看注册的信息(本身去看吧,这里我就再也不叙述了)

         

    二、三个命令窗口启动成功后,能够在浏览器中输入以下地址便可看到集群各节点的注册信息:

        http://eurekaserverone:1111/   

        http://eurekaservertwo:1112/

        http://eurekaserverthree:1113/

        其中一个界面的信息为(这里能够看到节点2和节点3都注册到节点1上了,其余节点相似):

        

3、hello-server服务注册

    一、这里我直接使用的上一篇文章里面的eureka-clientone项目做为服务注册到服务注册中心集群中;

    二、对项目eureka-clientone只对application.yml文件进行了以下修改:

# 配置注册到注册中心的服务名称
spring:
  application:
    name: hello-service

## 配置服务注册中心的地址(实践单节点服务注册中心案例时,放开此注释,而且注释下面的代码)
#eureka:
#  client:
#    serviceUrl:
#      defaultZone: http://eurekaserverone:1111/eureka/

# 配置服务注册中心的地址(实践服务注册中心集群案例时,放开此注释,而且注释上面的代码)
eureka:
  client:
    serviceUrl:
      defaultZone: http://eurekaserverone:1111/eureka/

    三、运行此项目后,再在浏览器输入上述地址中的一个,例如我这输入的是:

         http://eurekaserverone:1111/ 

       能够在注册中心界面看到,此服务hello-service已经注册进去了(注意:其它服务注册中心节点eurekaservertwo、eurekaserverthree也都注册了此服务),以下图所示:

         

         到这里集群服务注册中心代码已经完成,若有建议或疑问敬请在博客留言。接下来文章会对服务注册中心集群的详细配置一一进行分解。

         服务注册中心服务端代码地址:https://github.com/camel-luo/eureka-server-cluster

         服务注册中心被注册服务代码:https://github.com/camel-luo/eureka-clientone

相关文章
相关标签/搜索