zoukankan      html  css  js  c++  java
  • Eureka 系列(01)最简使用姿态

    Eureka 系列(01)最简使用姿态

    Eureka 是由 Netflix 公司的服务发现中间件,包括服务发现服务器和客户端的。Spring Cloud Eureka 官网文档

    0. Spring Cloud 系列目录 - Eureka 篇

    1. 服务发现与发现

    1.1 服务发现(Service Discovery)

    服务发现:在计算机网络中,一种自动发现设备或者服务的技术,通过服务发现协议(Service Discovery Protocol)实现。常见的协议有以下几种:

    • Java: Jini(Apache River)
    • REST: HATEOAS
    • Web Services: UDDI(Universal Description Discovery and Integration)

    1.2 服务注册(Service Registration)

    服务注册(Service Registration)在计算机网络中,为了更好地治理多个设备或者服务,这些设备或者服务主动或者被动注册到管理中心,以便服务被发现和消费。常见注册中心有以下几种:

    • Apache Zookeeper: CAP 满足 CP 理论,高一致性,牺牲了可用性。
    • Netflix Eureka: CAP 满足 AP 理论,高可用性,牺牲了高一致性。
    • Consul: GO语言编写。

    2. Eureka

    2.1 服务端: Eureka Server

    Eureka Server 是 Eureka Client 的注册服务中心,管理所有注册服务、以及其实例信息和状态。

    运行 Eureka Server:

    • 依赖:org.springframework.cloud:spring-cloud-starter-eureka-server
    • 激活: @EnableEurekaServer

    默认情况下 Eureka 即是服务端,也是作为其它 Eureka Server 的客户端,需要配置 Eureka 的地址,单机版配置如下:

    # 因为当前的 Eureka 是单机的,需要关闭集群的配置
    eureka:
      client:
        register-with-eureka: false		# 取消向注册中心注册
        fetch-registry: false			# 取消向注册中心获取注册信息(服务、实例信息)
        service-url:
          defaultZone: http://localhost:10001/eureka
    

    2.1.1 Eureka Server HA

    集群情况下 Eureka 也是作为其它 Eureka Server 的客户端,配置 Eureka 的地址即可:

    eureka:
      instance:
        hostname: peer1
      client:
        service-url:
          defaultZone: http://peer2:10012/eureka,http://peer3:10013/eureka
    

    2.1.2 OPEN API

    表1:Eureka OPEN API
    操作 OPEN API
    获取所有服务 http://${host}:${port}/euraka/apps
    获取指定应用服务 http://${host}:${port}/euraka/apps/{appName}
    获取指定应用的指定实例服务 http://${host}:${port}/euraka/apps/{appName}/{id}
    注册实例服务 http://${host}:${port}/euraka/apps/{appName}

    2.2 客户端: Eureka Client

    Eureka Client 为当前服务提供注册、同步、查找服务以及其实例信息或状态等能力。

    运行 Eureka Client

    • 依赖:org.springframework.cloud:spring-cloud-starter-eureka

    • 激活: @EnableEurekaClient(只有 Eureka 才有效) 或者 @EnableDiscoveryClient

      是不是没扫描包@ComponentScan

    eureka.client.service-url.defaultZone=http://localhost:10001/eureka
    

    (1) Euraka Client API

    • EurekaClientConfigBean Eureka 客户端配置 API
    • EurekaInstanceConfigBean Eureka 实例配置 API

    每天用心记录一点点。内容也许不重要,但习惯很重要!

  • 相关阅读:
    true和false
    计算几何算法概览
    pixi.js 总结
    typescript 不用import?
    nodejs 新特性
    p2 碰撞
    Java学习笔记(十四)——Java静态工厂
    Java学习笔记(十三一)——Xml 常用知识总结
    读书笔记(二) ——《恶意》你善良吗?
    Spring学习(二)——Spring中的AOP的初步理解
  • 原文地址:https://www.cnblogs.com/binarylei/p/11605730.html
Copyright © 2011-2022 走看看