• springCloud相关之注册中心Eureka


          众所周知,springCloud是spring家族中的一个成员,它是现今非常流行的微服务框架,下面介绍几个比较基本的组件之注册中心Eureka。

    Eureka

      Eureka是微服务的注册中心和发现,它的作用是管理庞大的原子性服务,每个原子性服务必须注册到eruka中。举个例子:我们把Eureka比作美团APP,那么这些商家就是一个一个的原子性服务。它起的作用就是管理这些商家。

      各个服务必须向Eureka发送心跳,表示它们还在健康的工作,一般而言,每隔30秒会发送一次,Eureka在90秒内没有接受到服务的心跳,它将其剔除,当然,你也可以开启保护机制。

      Eureka承载的服务以及接受的心跳数量是非常巨大的,那么它是如何控制这么大的并发呢?内存,它的最可观的设计就是设计在内存中,下面简单介绍下。

      Eureka 的基本架构,其中主要包括以下 种角色。

                  Register Service :服务注册中心,它是一个 ureka Server ,提供服务注册和发现的功能。

                  Provider Service :服务提供者,它是 Eureka Client ,提供服务

                  Consumer Service :服务消费者,它是 Eureka Cient ,消费服务

           服务消费的基本过程如下:首先前要 1个服务注册中心 Eureka Server ,这时服务生产者将在注册中心注册,包括自己的IP和服务名称,服务消费者也是如此。然后,消费者会获取到一个服务注册表,通过这个注册表获取相关服务,最后消费服务生产者的服务。

      代码层面解析Eureka原理:

        注册:Registe:在Eureka客户端中,有一个服务注册的方法register(),启动时,会以HTTP形式向服务端注册。代码如下:

                                                                     

             此时,我们继续追踪Eureka客户端中的register方法,可以发现,这个方法被InstancelnfoReplicator类的RUN()方法调用,而InstancelnfoReplicator类实现了runnable接口。

                                                                     

        而InstancelnfoReplicator类是在DiscoveryClient初始化过程中使用的,其中有个initScheduledTasks()方法,该方法主要开启了获取服务注册表的信息。如果要向注册中心注册,则要开启注册,并且开启续约:

                                                                     

        再来跟踪 Eureka server 端的代码,会发现有一 EurekaBootStrap 的类,BootStrapContext 类在程序启动 具有最先初始化的权 限,代码如下

                                                                     

        其中, PeerAwarelnstanceRegistryImp 和PeerErekaNod 其命名上看 应该 服务 注册以及 Eureka Server 高可用有关。代码如下:

                                                                    

        点击其中的 super.register(info, leaseDuration, isReplication 方法,进入其父类 AbstractlnstanceRegistry 可以发现更多细节:

                                                         

        以上就是注册中心相关说明。

        

  • 相关阅读:
    Android 源代码在线查看
    Android天气预报程序开发
    为自己的网站写个api接口
    Windows Server 2012改造成Windows8的方法(新增解决网络卡)
    完整java开发中JDBC连接数据库代码和步骤
    RF频偏
    通信系统架构,RF架构
    RF 速率与引导码preamble关系
    ubuntu虚拟机共享无线网上网
    win7下AdHoc网络设置共享外网上网
  • 原文地址:https://www.cnblogs.com/wuyandijun/p/13231522.html
Copyright © 2020-2023  润新知