spring cloud 之一(注册中心 Eureka)

一、注册中心

  服务架构图(原理图)

 

springcloud注册中心挂了 springcloud注册中心是什么_springcloud注册中心挂了

  •  Eureka:就是一个服务注册中心(也可以是一个集群)。对外暴露自己的地址
  • 提供者:启动后想Eureka 注册自己的信息
  • 消费者:想Eureka订阅服务,Eureka将对应的服务所提供者地址列表发送给消费者。并且定期更新
  • 心跳:提供者定期通http方式向Eureka刷新自己的状态

  在微服务中,服务的注册与发现是核心的技术之一,spring cloud 提供了多种注册与发现的实现方式。spring cloud 支持最好的 eureka、 其次 consul 、然后 zookeeper

二、注册与发现

  在服务注册与发现中,有一个注册中心,当服务启动时,会把当前的自己服务器的信息注册到注册中心上。另一方(消费者|生产者)去注册中心获取实际的服务通讯地址、然后通过rpc远程调用。

三、注册中心的搭建

  1、创建spring boot项目 pom 注意spring cloud 版本

<dependencyManagement>
        <dependencies>
            <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-dependencies -->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Finchley.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
<!--eureka服务端依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

  2、创建application.yml文件

spring:
  application:
    name: springcloud-eureka-server
server:
  port: 8700
#设置该服务中心的hostname,指定ip,该实例名称不能重复
eureka:
  instance:
    hostname: localhost
  client:
    #由于我们目前创建的应用是一个服务注册中心,而不是一个普通的应用,默认情况下,这个应用会向注册中心(也是它自己)注册它自己,设置为false表示禁止这种自己向自己注册的默认行为
    register-with-eureka: false
    #表示是否从Eureka Server获取注册信息,默认为true。如果这是一个单点的 Eureka Server,不需要同步其他节点的数据,可以设为false。
    fetch-registry: false
    #指定服务注册中心的位置
    #如果是集群,Eureka集群相互指向注册中心
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka
  server:
    #自我保护模式默认是自动开启的,可以选择关闭,禁用自我保护模式,保证不可用的服务及时剔除
    enable-self-preservation: true
    #剔除失效服务间隔单位ms,默认1分钟
    eviction-interval-timer-in-ms: 20000
    #留存的服务示例低于多少比例进入保护模式,默认85%
    renewal-percent-threshold: 0.5

 

@EnableEurekaServer 注解 启动项目 

   服务log(部分)

springcloud注册中心挂了 springcloud注册中心是什么_spring_02

 

 访问url:http://localhost:8700/ 见下图则搭建成功:

springcloud注册中心挂了 springcloud注册中心是什么_spring_03