SpringCloud(二)之Eureka(简单的服务的注册与发现)

转载请注明出处:https://blog.csdn.net/weixin_41133233/article/details/85070323
本文出自 程熙cjp 的博客

一. SpringCloud介绍:

Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁定,领导选举,分布式会话,集群状态)。分布式系统的协调导致锅炉板模式,使用Spring Cloud开发人员可以快速站起来实现这些模式的服务和应用程序。它们适用于任何分布式环境,包括开发人员自己的笔记本电脑,裸机数据中心和Cloud Foundry等托管平台。

二.项目demo简介和环境

(1)项目简介

     这是一个普通的,查询用户信息的简单入门案例

(2) 项目环境

  1. 操作系统是window10
  2. 开发工具是idea,版本是2018.1.5
  3. JDK版本是1.8

三.搭建eureka项目

  1. 第一步
    创建项目第一步

  2. 第二步
    创建eureka第二步

  3. 第三步
    创建第三步

  4. 第四步
    创建项目第五步

  5. 第五步(最后一步)

    创建项目最后一步

好了,至此项目创建完成了。接下来是配置项目环境了。

四. 配置eureka项目环境

1. pom文件

<?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>

    <groupId>com.chengxi</groupId>
    <artifactId>eureka_test</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>eureka_test</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <!-- SpringCloud版本,是最新的F稳定系列,也有其他更新一级的Greenwich.M3版本,但是不稳定大项目不建议使用 -->
        <spring-cloud.version>Finchley.RC1</spring-cloud.version>
    </properties>

    <dependencies>
        <!-- Eureka服务端 -->
        <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-web</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <!-- SpringCloud依赖,一定要放到dependencyManagement中,起到管理版本的作用即可 -->
            <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>

    <!--SpringCloud的官网仓库地址,这里是配置仓库的方法之一。在项目中配置仅作用于当前项目,在下载坐标时优先从这里配置的仓库中查找,如果没有再从本地配置的仓库查找-->
    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>


</project>

2. yml文件

server:
#  注意这里的eureka注册是个模板,在搭建集群的时候会被多次复制,其中Eureka01的端口号是:8091,Eureka02的端口号是8092。注意修改
  port: 8090
spring:
  application:
#   服务注册列表中的应用名称,会在Eureka中显示(注意中间不要以下划线连接,否则会注册错误。)
    name: eureka-server
eureka:
  client:
#  是否注册自己的信息到EurekaServer,默认是true。搭建集群的时候需要互相注册,提高项目的高可用性。在用Dashboard模板时,重新修改配置文件部署在Tomcat相当于把原来的复制了一份
    register-with-eureka: true
#  是否拉取其它服务的信息,默认是true,同上
    fetch-registry: true
#  EurekaServer的地址,现在是自己的地址,如果是集群,需要加上其它Server的地址。
    service-url:
#    注意搭建eureka集群的时候,要相互注册,需要修改此处配置,这里暂时不搭建集群,注册在自己的服务列表中
      defaultZone: http://127.0.0.1:8090/eureka
#      defaultZone: http://127.0.0.1:${server.port}/eureka    # 这个是自动获取当前端口号的注册,yml语法${}
  1. 添加SpringBoot启动类配置
    配置springboot

  2. 启动SpringBoot项目
    运行结果如图:
    运行结果图

至此,小熙分享的一个简单的Eureka服务器已经搭建好了。下一章小熙将会详细讲解eureka和搭建高可用的Eureka集群

猜你喜欢

转载自blog.csdn.net/weixin_41133233/article/details/85077717