Spring Cloud的Eureka注册中心集群搭建

本文详细介绍了如何使用SpringCloud的Eureka组件搭建服务注册中心,包括单机和集群模式的配置过程,以及如何在SpringBoot项目中集成Eureka。

Spring Cloud也包含了许多的子项目 , 下面等下要使用的Eureka只是其中的一个子项目 

Eureka的功能有点类似于dubbo和zookeeper,它是一个服务治理组件,包含了服务注册中心、服务注册与发现机制。

Eureka的使用非常简单 

我们首先在idea里创建一个maven项目 , 等下方便我们进行操作

服务治理组件  我们需要弄服务注册中心、服务注册(提供者)与发现机制(消费者)三个Spring Boot项目,我把他们都放在maven里进行管理 ,具体步骤如下:

先在maven项目上在去新建一个module ,作为我们的服务注册中心(eureka)

12582044dc596d7336fe04f1ec9884b9fbe.jpg

新建的module我们选择Spring Boot项目 , 勾选如下依赖

c9f1d1feb91c8f23b239c82a2b530df1869.jpg

 

具体依赖如下

 <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.5.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.liy</groupId>
    <artifactId>eureka</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>eureka</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.SR1</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</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>

这个服务中心 ,我们只需要在配置文件中配置一下 , 然后在启动类里使用一个注解 ,然后启动项目即可

application.properties

#端口号
server.port=1111
spring.application.name=eureka
#是否向注册中心(eureka)注册 ,不必向自己注册 ,除非是搭建一个注册中心的集群,那么这里就要为true了
eureka.client.register-with-eureka=false
#是否允许它去获取其他的注册的服务,因为他是注册中心,所以不需要去获取的
eureka.client.fetch-registry=false

启动类里添加个@EnableEurekaServer

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {

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

}

启动项目看到如下页面 , 即注册中心ok了(下面截图只截取了头部)

689746777ad20fb6e2acee21fa883ad3828.jpg

 

如果是要搭建这个注册中心的集群的话 ,也是相当简单的 , 

复制这个application.properties配置文件的两份

c43a9582b2e1b745b4ce4bca17fb3eaf29d.jpg

application-peer1.properties

server.port=1111
spring.application.name=eureka
eureka.instance.hostname=peer1
#搭建eureka集群 ,开启向eureka注册
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=false
#搭建eureka集群,那么需要注册到eureka去,这是注册的eureka的路径
eureka.client.service-url.defaultZone=http://peer2:1112/eureka

application-peer2.properties

server.port=1112
spring.application.name=eureka
eureka.instance.hostname=peer2
eureka.client.register-with-eureka=true
eureka.client.fetch-registry=false
#互相注册,保持消息服务同步
eureka.client.service-url.defaultZone=http://peer1:1111/eureka

还需要在 本机的C:\Windows\System32\drivers\etc  路径下去到 hosts 文件里去加上下面图片上的两行

5404e5aa435cc293575e94d1e048d86e15f.jpg

这是在一个Spring Boot项目里 ,怎么运行不同的配置文件呢 , 我们把项目进行打包

b90e0a62c914c347d54fda8febbd83aa88c.jpg

选择左边的maven ,然后选择要打包的Spring Boot项目 ,双击如图的package ,就开始打包了  ,如下打包成功

35a7ac0c8549cab0a312c8a3a7c2fbd1ee9.jpg

 

然后我们点击Terminal

53326bb012c7dec93ee422762f165cc03cc.jpg

进入打包的目录里去

852b7b693827373a6d0c8d73c521327af07.jpg

分别启动两个

21b7913d24379d9db8f46b2956fac0fc96c.jpg

 

2f571c0f8c5bc5a89a66c3dc1df360fb858.jpg

 

如果你只启动了一个 ,或者另一个还没有启动起来 , 那么那个已经启动了的会一直报错

9841f8591d2bdd36b341bc5da7335082da4.jpg,

 

你只需把另一个启动即可  ,两个启动成功

23c07272d2b56f4c05172fd757e07bb2c66.jpg

0de0e7b9e852d02d25044a02bdecdca95ae.jpg

f73547f425afe2e8a45248a49fd1265f18f.jpg

 

这样我的注册中心eureka集群就就搭建好了 , 下一篇我们讲提供者(provider)以及提供者集群和消费者(consumer)怎么搭建

转载于:https://my.oschina.net/u/4116654/blog/3061780

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值