Java之 Spring Cloud 微服务 Eureka (第一个阶段)【二】【SpringBoot项目实现商品服务器端是调用】

本文介绍了Java Spring Cloud微服务中Eureka的基础知识和实战应用,包括创建Eureka服务中心、服务提供者注册、服务消费者调用等步骤,详细讲解了配置、测试和高可用集群的搭建,旨在帮助读者掌握Eureka服务注册与发现的实现。
摘要由CSDN通过智能技术生成

| Java之 Spring Cloud 微服务的 SpringCloud Config 配置中心(第四个阶段)【二】【SpringBoot项目实现商品服务器端调用】 | |

| Java之 Spring Cloud 微服务的开源配置中心Apollo(第四个阶段)【三】【SpringBoot项目实现商品服务器端调用】 | |

Java之 Spring Cloud 微服务 Eureka 【二】【SpringBoot项目实现商品服务器端是调用】

  • 一、服务注册Eureka基础

    • 1、微服务的注册中心
    • (1)注册中心的主要作用
  • (2) 常见的注册中心

  • 2、Eureka的概述

    • (1) Eureka的基础知识
  • (2) Eureka的交互流程与原理

  • 3、搭建Eureka注册中心

    • (1)搭建Eureka服务中心
    • 1)创建子模块
      • 01)工程搭建
  • 02)添加依赖

  • 03)编写配置文件

  • 04)创建对应的启动类

  • 05)运行测试

  • (2)将服务提供者注册到eurekaServer上

    • 1)引入EurekaClient的坐标
  • 2)修改application.yml添加EurekaServer的信息

  • 3)修改启动类,添加服务发现的支持(可选)

  • 4)运行测试,启动商品微服务

  • (3)服务消费者通过注册中心获取服务列表,并调用

    • 1)引入EurekaClient的坐标
  • 2)修改application.yml添加EurekaServer的信息

  • 3)完善order_service当中的 OrderController

  • 4)运行测试

  • 二、服务注册Eureka高级

    • 1、Eureka Server 高可用集群
    • (1)搭建 Eureka Server高可用集群
    • 1)修改eureka_server当中的application.yml
  • 2)启动product_service

  • 3)启动order_service

  • 4)测试

  • 2、显示护IP

    • 1)使product_service暴露对应的ip
  • 3、服务续约时间设置

  • 4、Eureka自我保护机制

  • 三、Eureka源码解析

    • 1、SpringBoot中的自动装载
    • (1)ImportSelector
    • 1)创建模块
  • 2)创建对应的User实体类

  • 3)创建UserConfiguration

  • 4)创建UserImportSelector

  • 5)创建EnableUserBean自定义注解

  • 6)创建测试类运行

    • 01)创建TestApplication
  • 02)为了打印的时候有值,设置UserConfiguration初始化User的时候设置一些值

  • 03)运行测试

  • (2)springBoot自动装载

  • 2、Eureka服务注册核心源码解析

一、服务注册Eureka基础

=========================================================================

1、微服务的注册中心


注册中心可以说是微服务架构中的”通讯录“,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到这里,当服务需要调用其它服务时,就这里找到服务的地址,进行调用。

在这里插入图片描述

(1)注册中心的主要作用

服务注册中心(下称注册中心)是微服务架构非常重要的一个组件,在微服务架构里主要起到了协调者

的一个作用。注册中心一般包含如下几个功能:

  1. 服务发现:

服务注册/反注册:保存服务提供者和服务调用者的信息

服务订阅/取消订阅:服务调用者订阅服务提供者的信息,最好有实时推送的功能

服务路由(可选):具有筛选整合服务提供者的能力。

  1. 服务配置:

配置订阅:服务提供者和服务调用者订阅微服务相关的配置

配置下发:主动将配置推送给服务提供者和服务调用者

  1. 服务健康检测

检测服务提供者的健康情况

(2) 常见的注册中心

Zookeeper

zookeeper它是一个分布式服务框架,是Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。简单来说zookeeper=文件系统+监听通知机制。

Eureka

Eureka是在Java语言上,基于Restful Api开发的服务注册与发现组件,Springcloud Netflix中的重要组件

Consul

Consul是由HashiCorp基于Go语言开发的支持多数据中心分布式高可用的服务发布和注册服务软件,采用Raft算法保证服务的一致性,且支持健康检查。

Nacos

Nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

简单来说 Nacos 就是注册中心 + 配置中心的组合,提供简单易用的特性集,帮助我们解决微服务开发必会涉及到的服务注册与发现,服务配置,服务管理等问题。

Nacos 还是 Spring Cloud Alibaba 组件之一,负责服务注册与发现。

最后我们通过一张表格大致了解Eureka、Consul、Zookeeper的异同点。选择什么类型的服务注册与发现组件可以根据自身项目要求决定。

在这里插入图片描述

2、Eureka的概述


(1) Eureka的基础知识

Eureka是Netflix开发的服务发现框架,SpringCloud将它集成在自己的子项目spring-cloud-netflix中,实现SpringCloud的服务发现功能。

在这里插入图片描述

上图简要描述了Eureka的基本架构,由3个角色组成:

1、Eureka Server

  • 提供服务注册和发现

2、Service Provider

  • 服务提供方

  • 将自身服务注册到Eureka,从而使服务消费方能够找到

3、Service Consumer

  • 服务消费方

  • 从Eureka获取注册服务列表,从而能够消费服务

(2) Eureka的交互流程与原理

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值