SpringCloud注册中心(一)

简介:

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

Eureka分为两个组件:server(服务端)和client(客户端)

注册中心节点默认时间:Eureka Server发送心跳,默认周期为30秒,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。

eureka server 优点:  通过复制的方式完成数据的同步,Eureka还提供了客户端缓存机制,即使所有的Eureka Server都挂掉,客户端依然可以利用缓存中的信息消费其他服务的API。综上,Eureka通过心跳检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。

本章实例为eureka注册中心的发现

eureka版本:1.5

工具:idea

工程:maven

环境:jdk1.8

实例流程如下

一:建一个以maven为依赖的父项目用来管理多个子项目

然后下一个窗口:Projectname表示项目名称                            Projectlocation表示项目存储的电脑路径         Finish即可完成

 二:新建springboot项目作为eurekaserver(注册中心)

在刚刚创建好的父工程名称右键:New~Model

 

打开作为注册中心的子工程项目

在resources下重命名application.properties  ~~~~改名为application.yml

配置如下:

##端口号
server:
  port: 8889
##服务ip   
eureka:
  instance:
      hostname: 127.0.0.1
  client:
  #表示本身不被eureka注册中心发现与注册
    register-with-eureka: false
    fetch-registry: false
    #建立eureka-server注册中心的地址方便其它服务发现并注册
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
##服务名称      
spring:
  application:
    name: eureka-server

启动类如下:(idea一般都会自动生成一个启动类如果没有就新建一个)

package com.itxwl.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
//启动类必须的注解
@SpringBootApplication
//表示这是一个注册中心
@EnableEurekaServer
public class EurekaApplication {

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

}

pom.xml核心依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.18.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.itxwl</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>Edgware.SR5</spring-cloud.version>
    </properties>
    <!--eureka核心依赖-->
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-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>

启动类~~启动之后打开浏览器

如下所示即为成功

 如果有哪些不对的希望大佬给与指教。感谢!!!!!

猜你喜欢

转载自blog.csdn.net/qq_40384470/article/details/85689645