• SpringCloud-服务注册与实现-Eureka创建服务注册中心(附源码下载)


    场景

    SpringCloud学习之运行第一个Eureka程序:

    https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/90611451

    SpringCloud -创建统一的依赖管理:

    https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102530574

    Rureka(服务发现框架)

    Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
    Eureka包含两个组件:Eureka Server和Eureka Client。
    Eureka Server提供服务注册服务,各个节点启动后,会在Eureka Server中进行注册,这样EurekaServer中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
    Eureka Client是一个java客户端,用于简化与Eureka Server的交互,客户端同时也就是一个内置的、使用轮询(round-robin)负载算法的负载均衡器。
    在应用启动后,将会向Eureka Server发送心跳,默认周期为30秒,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
    Eureka Server之间通过复制的方式完成数据的同步,Eureka还提供了客户端缓存机制,即使所有的Eureka Server都挂掉,客户端依然可以利用缓存中的信息消费其他服务的API。综上,Eureka通过心跳检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    参照上面创建统一的依赖管理的实现,新建文件夹以及pom文件

    然后复制如下代码到pom.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" 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">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <groupId>com.badao</groupId>
            <artifactId>hello-spring-cloud-dependencies</artifactId>
            <version>1.0.0-SNAPSHOT</version>
            <relativePath>../hello-spring-cloud-dependencies/pom.xml</relativePath>
        </parent>
    
        <artifactId>hello-spring-cloud-eureka</artifactId>
        <packaging>jar</packaging>
    
        <name>hello-spring-cloud-eureka</name>
        <url>https://blog.csdn.net/badao_liumang_qizhi</url>
        <inceptionYear>2019-Now</inceptionYear>
    
        <dependencies>
            <!-- Spring Boot Begin -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            <!-- Spring Boot End -->
    
            <!-- Spring Cloud Begin -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
            </dependency>
            <!-- Spring Cloud End -->
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <!--指定程序入口类-->
                        <mainClass>com.badao.hello.spring.cloud.eureka.EurekaApplication</mainClass>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>

    注意:

    这里的parent标签要与上面的统一的依赖管理对应起来。

    要修改指定的程序入口类为自己相应的路径。

    然后手动将pom.xml托管。

    然后新建src/main/java目录

    然后将其设置为源码目录

    然后再新建src/main/resources

    然后将其设置为资源目录

    然后再java下新建package,这里以完整项目名作为后缀包名

    然后新建应用启动类EurekaApplication

    添加如下代码

    package com.badao.hello.spring.cloud.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);
        }
    }

    注:

    添加注解@EnableEurekaServer表示启动一个服务注册中心

    如果代码有红色错误出现,需要设置JDK

    然后再resources下新建application.yml

    spring:
      application:
        name: hello-spring-cloud-eureka
    
    server:
      port: 8761
    
    eureka:
      instance:
        hostname: localhost
      client:
        registerWithEureka: false
        fetchRegistry: false
        serviceUrl:
          defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
    

      

    注:

    1.服务注册与发现是根据上面的name去寻找。

    2.port表示端口号。

    3.hostname表示eureka服务的地址,这里是本地所以是localhost。

    4.client下的两个为false的配置,表示这是服务端,如果不加则表示为客户端。

    5.serviceURL设置eureka的地址。

    然后打开Maven面板,双击Install,不然会提示程序找不到启动类。

    然后运行启动类。打开浏览输入:

    localhost:8761

    源码下载

    https://download.csdn.net/download/badao_liumang_qizhi/11858953

  • 相关阅读:
    HDU5873
    HDU5874
    HDU1565(状态压缩dp)
    POJ2774(二分+哈希)
    HDU4474
    HDU2602(背包)
    单链表
    POJ2503(hash)
    POJ1200(hash)
    顺序表
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11667745.html
Copyright © 2020-2023  润新知