毕业设计(一)完成Eureka集群

in 毕业设计 with 0 comment

和Zookeeper类似,Eureka是一个用于服务注册和发现的组件。Eureka是SpringCloud首选推荐的服务注册与发现组件,与SpringCloud其他组件可以无缝对接。比如负载句话组件Ribbon、熔断器组件Hystrix以及Zuul组件相互配合,能够很容易的实现注册、负载均衡、熔断和智能路由等功能。

项目结构

主要采用Maven多Module的结构。
结构如下
image.png

Maven依赖

主要使用了SpringBoot一系列jar包和spring-cloud-starter-netflix-eureka-server

<dependencies>
        <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>
            <exclusions>
                <exclusion>
                    <groupId>org.junit.vintage</groupId>
                    <artifactId>junit-vintage-engine</artifactId>
                </exclusion>
            </exclusions>
        </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>

Eureka集群的注册与发现

主要是在配置文件中
image.png

具体配置如下

server:
  port: 10001
eureka:
  instance:
    prefer-ip-address: true
    instance-id: 127.0.0.1:10001

  client:
    service-url:
      defaultZone: http://127.0.0.1:10002/eureka/,http://127.0.0.1:10003/eureka/
spring:
  application:
    name: Eureka

三个配置的不同就在于端口号与不同的注册连接。

在启动类加入注解@EnableEurekaServer
image.png

项目运行

Eureka启动!!发车
image.png
先点击这个
image.png
再配置启动参数,即选择配置文件启动
启动!
image.png
控制台出现status up,即启动成功,其实在一个一个启动的过程中,因为其他服务没启动或者正在启动中,会导致Eureka找不到注册地址而报错,不用管,全启动就行。

项目报错

在启动10001报错了,欧吼
image.png
10001端口被占用了
查找问题
MAC终端输入 lsof -i:10001
image.png
找到了,云盘在下东西,哈哈。
去死吧,云盘。
云盘退出,重新运行
image.png
成功

运行结果

进入localhost:10001,localhost:10002,localhost:10003

image.png

ok,全上了

写在最后

虽然这个是个毕设,但是我准备把它放在GitHub上,开源算逑。

首先提交到本地Git仓库,idea快捷键Command+K

提交后,上传到GitHub远程仓库

image.png

先创建好远程仓库, 再按下
image.png

成功上传到GitHub

image.png

哦了