zoukankan      html  css  js  c++  java
  • (转)微服务_创建一个简单的Eureka注册中心

          原文地址:https://www.cnblogs.com/lplshermie/p/9105329.html

    微服务和分布式已经成了一种极其普遍的技术,为了跟上时代的步伐,最近开始着手学习SpringCloud,就从Eureka开始。他们俩就不做介绍了,网上的说明一堆,随便打开一个搜索引擎输入关键字都足够了解了,而且本文主要也是记录本人按照网上示例搭建eureka注册中心的一个极其简单的demo,只做记录只用,对于学习的指导意义微乎其微,下面直接开始。

      一.工具

    • IDE  :  Intellij IDEA  2018.1
    • JDK :  1.8
    • Maven :3.3.9

      二.创建一个maven主工程

      ①打开IDEA,创建一个新工程

      

      之后选择Maven项目

      

      这里什么不用勾选,直接下一步

      

      点击Next

      

      然后点击Finish,创建完的project如下图所示  

      三.创建一个Eureka-server module作为服务注册中心

      ① 在创建的project右击,New->Module

       

      ②选择Spring Initializr,然后点击Next

      

      ③输入Module相关信息

      

      ④选中Cloud Discovery,右边勾选Eureka Server

      

      ⑤然后一路直接到Finish创建完成。创建完后的项目结构如图所示

      

      项目的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>
    
        <groupId>com.norexis</groupId>
        <artifactId>eureka-server</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>jar</packaging>
    
        <name>eureka-server</name>
        <description>Demo project for Spring Boot</description>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.0.2.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>
            <spring-cloud.version>Finchley.BUILD-SNAPSHOT</spring-cloud.version>
        </properties>
    
        <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>
            </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>
    
        <repositories>
            <repository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>https://repo.spring.io/snapshot</url>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
            <repository>
                <id>spring-milestones</id>
                <name>Spring Milestones</name>
                <url>https://repo.spring.io/milestone</url>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
        </repositories>
    
    
    </project>
    复制代码

      ⑦想要创建服务中心,只需要在项目的启动类Application.java上添加一个@EnableEurekaServer注解

      

      此外,还需要对eureka server进行一些配置,这里采用yml的形式,删除resources下的application.properties,创建application.yml

      

    复制代码
    server:
      port : 8761
    
    eureka:
      instance:
        hostname : localhost
      client:
        registerWithEureka : false
        fetchRegistry : false
        serviceUrl:
          defaultZone : http://${eureka.instance.hostname}:${server.port}/eureka/
    复制代码

      然后启动Application.java即可。

      至此,Eureka Server的创建完成,为了验证效果,可以打开浏览器,输入http://localhost:8761,即可看到eureka的注册中心界面

      

      可以看到此时Application里那里显示No instances available,因为此时还没有服务实例注册,我们需要创建一个服务实例

      三.创建Eureka Client服务实例

      ①创建Eureka Client的module过程同Eureka Server 的过程完全一样,就不再说明。

      ②创建的Eureka Client需要在Application启动类上添加注解 @EurekaDiscoveryClient

      

      ③同Server一样,创建一个新的yml配置文件,添加如下配置

      

    复制代码
    eureka:
      client:
        serviceUrl:
          defaultZone : http://localhost:8761/eureka/
    server:
      port: 8762
    spring:
      application:
        name : service-test
    复制代码

      ④之后启动application,再次打开Eureka注册中心,可以看到已经成功注册服务,显示service-test

      

      ⑤在地址栏输入Http://localhost:8762/info?name=norexis,可以看到如下信息

      

      到这里,一个简单的eureka注册中心和服务实例均已完成

  • 相关阅读:
    3.10_eclipse的使用和Object类型
    团队项目推荐:礼物推荐 —— by Xizhou
    团队项目推荐:不一样的旅游——by Lijun
    团队项目推荐:自动化卡通人脸生成——by Feng Nie
    团队项目推荐:手机社交照片管理软件——by Zhaofan
    Team Project Proposal:App:等车时间预测(重写) -- by DengPan
    对MSRA-USTC 2011的 meng-meng(萌萌) 的team project的学习和评价
    Team Project Proposal: All-in-one多信息源整合的移动应用[Revised in 8th Oct]——by Yuchan
    Team Project Proposal:App:等车时间预测 -- by DengPan
    Team Project Proposal:手机音频美化APP——by Kun Qian
  • 原文地址:https://www.cnblogs.com/hhhh2010/p/11100788.html
Copyright © 2011-2022 走看看