zoukankan      html  css  js  c++  java
  • springcloud ----Eureka

    Eureka分为客户端和服务端,服务端可以将服务注册到Eureka中心,并提供监控;客户端可以注册到Eureka中心,以便其他服务可以通过Eureka搜索到以及调用

    本实例为springcloud的项目结构,所有服务都继承自maven的父工程

    一 服务端搭建(Eureka的module)

    1 在Eureka模块中添加Eureka Server的依赖

    <!--eureka-server服务端 -->
    		<dependency>
    			<groupId>org.springframework.cloud</groupId>
    			<artifactId>spring-cloud-starter-eureka-server</artifactId>
    		</dependency>

    2 yml配置文件中配置Eureka相关信息

    server: 
      port: 7001
     
    eureka: 
      instance:
        hostname: eureka7001.com #eureka服务端的实例名称
      client: 
        register-with-eureka: false     #false表示不向注册中心注册自己。
        fetch-registry: false     #false表示自己端就是注册中心,我的职责就是维护服务实例,并不需要去检索服务
        service-url: 
          defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/       #设置与Eureka Server交互的地址查询服务和注册服务都需要依赖这个地址(单机)。
          #defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
         

    3 在启动类上添加 @EnableEurekaServer注解,标志该服务为Eureka服务端

    二 客户端创建

     1 客户端模块中添加Eureka Client依赖

    <!-- 将微服务provider侧注册进eureka -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-eureka</artifactId>
            </dependency>

    2  yml配置文件中配置 要注册到的Eureka中心地址

    eureka:
      client: #客户端注册进eureka服务列表内
        service-url: 
          defaultZone: http://localhost:7001/eureka
          #defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/      
      instance:
        instance-id: microservicecloud-dept8001
        prefer-ip-address: true     #访问路径可以显示IP地址     
     

    其中:

    instance-id: microservicecloud-dept8001 是指定该服务暴露的名称为microservicecloud-dept8001,

    prefer-ip-address: true     在Eureka中心,访问路径可以显示IP地址   

    3 在启动类上添加@EnableEurekaClient注解,标志该服务为Eureka Client,会自动注册到配置好的Eureka中心去

    Info内容详细信息

    这时候,访问Eureka监控页面,可以看到已注册的服务,但是点开服务详情页没有相关信息,

    下面来解决该问题

    1 Client服务中添加springboot的监控依赖

    <!-- actuator监控信息完善 -->
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-actuator</artifactId>
    		</dependency>

    2 父工程中添加build信息

    <build>
    		<finalName>microservicecloud</finalName>
    		<resources>
    			<resource>
    				<directory>src/main/resources</directory>
    				<filtering>true</filtering>
    			</resource>
    		</resources>
    		<plugins>
    			<plugin>
    				<groupId>org.apache.maven.plugins</groupId>
    				<artifactId>maven-resources-plugin</artifactId>
    				<configuration>
    					<delimiters>
    						<delimit>$</delimit>
    					</delimiters>
    				</configuration>
    			</plugin>
    		</plugins>
    	</build>

    3 在Client的yml配置文件配置info信息

    info: 
      app.name: zgq-microservicecloud
      company.name: www.xxx.com
      build.artifactId: $project.artifactId$
      build.version: $project.version$

    配置完这些之后,再次点开Eureka的管理中心,点开Eureka Client的info信息,就会显示如下信息,就是上面配置的信息

    {
        "app": {
            "name": "zgq-microservicecloud"
        },
        "company": {
            "name": "www.xxx.com"
        },
        "build": {
            "artifactId": "microservicecloud-provider-dept-8001",
            "version": "0.0.1-SNAPSHOT"
        }
    }
  • 相关阅读:
    java中栈内存和堆内存的简单理解
    java中构造函数与一般函数的区别

    另一部漫画
    海边的卡夫卡
    11-12
    这篇大概值一百万吧
    我的千岁寒
    11-9
    嗯……………股票已经涨的我不想上班了
  • 原文地址:https://www.cnblogs.com/labtabhub/p/12164208.html
Copyright © 2011-2022 走看看