首页 > 其他分享 >Eureka注册中心

Eureka注册中心

时间:2022-11-10 00:02:08浏览次数:40  
标签:服务 中心 service server eureka 实例 注册 Eureka

Eureka注册中心

1.问题分析

假如我们的服务提供者user-service部署了多个实例,如图:

  • order-service在发起远程调用的时候,该如何得知user-service实例的ip地址和端口?
  • 有多个user-service实例地址,order-service调用时该如何选择?
  • order-service如何得知某个user-service实例是否依然健康,是不是已经宕机?

2.Eureka的结构和作用

这些问题都需要利用SpringCloud中的注册中心来解决,其中最广为人知的注册中心就是Eureka,其结构如下:

获取地址信息的流程如下:

  • user-service服务实例启动后,将自己的信息注册到eureka-server(Eureka服务端)。这个叫服务注册
  • eureka-server保存服务名称到服务实例地址列表的映射关系
  • order-service根据服务名称,拉取实例地址列表。这个叫服务发现或服务拉取

order-service如何从多个user-service实例中选择具体的实例?

  • order-service从实例列表中利用负载均衡算法选中一个实例地址
  • 向该实例地址发起远程调用

3.搭建eureka-server

首先搭建注册中心服务端:eureka-server,这必须是一个独立的微服务

3.1引入eureka依赖

引入SpringCloud为eureka提供的starter依赖:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>

3.2编写启动类

给eureka-server服务编写一个启动类,一定要添加一个@EnableEurekaServer注解,开启eureka的注册中心功能:

package cn.itcast.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}

3.3编写配置文件application.yml

server:
  port: 10086 # 服务端口
spring:
  application:
    name: eurekaserver # eureka的服务名称
eureka:
  client:
    service-url:  # eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka

3.4启动服务

4.服务注册

将user-service和order-service注册到eureka-server中去。

4.1引入依赖

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>

4.2 加配置、application

spring: application: name: userservice eureka: client: service-url: defaultZone: http://127.0.0.1:10086/eureka

4.3演示一个服务启动多个示例

5.服务发现

服务发现、服务注册统一都封装在eureka-client依赖,因此这一步与服务注册时一致。
服务发现也需要知道eureka地址,因此第二步与服务注册一致,都是配置eureka信息:

服务拉取和负载均衡

1.
String url = "http://userservice/user/" + order.getUserId();
2.

 /**
     * 创建RestTemplate并注入Spring容器
     */
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

标签:服务,中心,service,server,eureka,实例,注册,Eureka
From: https://www.cnblogs.com/zhangdashuaige/p/16875637.html

相关文章

  • Spring Cloud 之Config配置中心-使用Bus组件实现配置动态更新
    推荐:微服务汇总SpringCloud之Config配置中心-使用Bus组件实现配置动态更新首先创建一个SpringBoot项目作为注册中心。pom.xml如下:<?xmlversion="1.0"encoding="U......
  • 数据中台选型必读(二):数据中台如何搭建元数据管理中心
    在数据中台选型必读(一)中,我们明确了元数据管理是数据中台实现数据共享和复用的基础;也通过Metacat和ApacheAtlas了解了现在业界主流的元数据管理产品是啥样的。元数据管理架......
  • 以Flwoportal企业门户平台为基础,建立公司文档中心
    1、先建立文档中心菜单,再建立公司文档、文档权限和个人文件子菜单,设置菜单页面路径指向各自的页面文件;  2、建立好菜单后,点击菜单项公司文档,建立公司文档......
  • 3.Eureka:Spring Cloud服务注册与发现组件(非常详细)
    Eureka一词来源于古希腊词汇,是“发现了”的意思。在软件领域,Eureka是Netflix公司开发的一款开源的服务注册与发现组件。SpringCloud将Eureka与Netflix中的其他开......
  • 微服务系列之配置中心 Apollo
    1.背景与介绍  随着微服务架构的发展,企业级项目由无数的服务组成,这时候急需用到集中管理、治理的配置的组件,来统一管理各个服务的开关、配置参数、数据库地址、服务器等......
  • Eureka注册中心介绍 及 搭建完成 服务注册、发现
    (目录)Eureka注册中心假如我们的服务提供者user-service部署了多个实例,如图:思考几个问题:order-service在发起远程调用的时候,该如何得知user-service实例的ip地址和......
  • Eureka注册中心
    一、基本架构: 1、Eureka:服务注册中心,对外暴露地址,可以是一个集群。2、服务提供者:启动后向Eureka注册自己的信息(地址、提供什么服务)。3、消费者:向Eureka订阅服务,Eure......
  • 10-注册中心&Zookeeper设计实践课_ev 没用
                                               ......
  • Nacos 配置中心
    动态配置管理是Nacos的三大功能之一,通过动态配置服务,我们可以在所有环境中以集中和动态的方式管理所有应用程序或服务的配置信息。动态配置中心可以实现配置更新时无需重......
  • 安科瑞能耗管理系统解决方案在数据中心上的应用
    安科瑞陈盼1、概述  随着碳达峰、碳中和成为政府工作主要任务,数据中心作为能耗密集,用能情况较为复杂的大型建筑,有效的降低能源消耗,减少能源成本,避免用能过程中的“跑冒滴......