SpringBoot(十五):SpringBoot2.x集成eureka实现注高可用册中心,高可用的服务器提供者,以及消费者示例...

本章节主要包含SpringCloud终端服务器注册中心、服务提供者、服务器消费几个角色的项目创建示例。

我们这里选取Euerka作为服务注册发现框架,实际上能提供服务注册与发现的框架并不止它一个,但是业界内使用这个还比较广泛,但是有人说它从2.0之后Netflix就不在维护它了,但是依然有不少公司还坚持选了它,因为它到2.0就已经很稳定了。

Eureka注册中心简介

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

 

SpringBoot(十五):SpringBoot2.x集成eureka实现注高可用册中心,高可用的服务器提供者,以及消费者示例..._第1张图片

Eureka包含两个组件:Eureka Server和Eureka Client。

Eureka Server:提供服务注册服务,服务启动后,服务会在Eureka Server中进行注册,包括主机与端口号、服务版本号、通信协议等。这样Eureka Server中的服务注册表中将会存储所有可用的服务节点的信息,服务节点的信息可以在界面中直观的看到。

Eureka Server端支持集群模式部署,首尾相连形成一个闭环即可,集群中的不同服务注册中心通过异步模式互相复制各自的状态,这也意味着在给定的时间点每个实例中存储的所有服务的状态可能存在不一致的现象。

Eureka Client:主要处理服务的注册和发现。客户端服务通过注册和参数配置的方式,嵌入在客户端应用程序的代码中。在应用程序启动时,Eureka客户端向服务注册中心注册自身提供的服务,并周期性的发送心跳来更新它的服务租约。同时,它也能从服务端查询当前注册的服务信息并把它们缓存到本地并周期性的刷新服务状态。

服务调用:

服务消费者在获取服务清单后,通过服务名可以获取具体提供服务的实例名和该实例的元数据信息。因为有这些服务实例的详细信息,所以客户端可以根据自己的需求决定具体调用哪个实例,在Ribbon中会默认采用轮询的方式进行调用,从而实现客户端的负载均衡。

服务提供者与服务消费者之间调用关系:

1)服务注册中心启动;

2)服务提供者在启动时,向注册中心注册自己提供的服务;

3)服务消费者在启动时,向注册中心订阅自己所需要的服务;

4)注册中心返回服务提供者地址给消费者;

5)服务消费者从提供者地址中调用消费者。

实际上在开发中过程中Eureka Server就是注册中心;Eureka Client就是服务提供者和消费者。

根项目创建:

SpringBoot(十五):SpringBoot2.x集成eureka实现注高可用册中心,高可用的服务器提供者,以及消费者示例..._第2张图片

SpringCloud是要基于SpringBoot的,因此在根项目导入了SpringBoot的parent引用。

    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>2.1.1.RELEASEversion>
        <relativePath /> 
    parent>

根项目命名为mall,它包含了三个主要子模块(,config是配置中心的一个实现,放在下一篇文章中学习):

server(maven module):Eureka Server(服务注册&发现中心)

provider(maven module):Eureka Client(服务提供者)+Actuator(服务器监控)

consumer(maven module):Eureka Client(服务器消费者)+Ribbon(负载均衡)+Actuator(服务器监控)

Eureka-Server

在上边新建的Maven Project下新建server项目(maven module). 

Provider(Eureka-Client)

 

Consumer(Eureka-Client)

 

转载于:https://www.cnblogs.com/yy3b2007com/p/11556891.html

你可能感兴趣的:(SpringBoot(十五):SpringBoot2.x集成eureka实现注高可用册中心,高可用的服务器提供者,以及消费者示例...)