微服务中间件--Eureka注册中心

这篇具有很好参考价值的文章主要介绍了微服务中间件--Eureka注册中心。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

a.eureka原理分析

  • 1.每个服务启动时,将自动在eureka中注册服务信息 (每个服务每隔30秒发送一次的心跳续约,当某个服务没有发送时,eurekaServer将自动剔除该服务,保障消费者拉取到最新的服务)

  • 2.当有服务需要某个服务信息时,通过eureka拉取相关的信息

  • 3.运用负载均衡算法,在拉取的服务列表中挑选其中一个

  • 4.发起请求,进行远程调用

b.搭建eureka服务

  1. 搭建EurekaServer注册中心
  2. 将service都注册到eureka
  3. 在某个消费者service中完成服务拉取,然后通过负载均衡挑选一个服务,实现远程调用

搭建EurekaServer服务步骤如下:

  • 1.创建项目,引入spring-cloud-starter-netflix-eureka-server的依赖
<!--eureka服务端-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
  • 2.编写启动类,添加@EnableEurekaServer注解
@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class, args);
    }
}
  • 3.添加application.yml文件,编写下面的配置:
server:
  port: 10086 # 服务端口
spring:
  application:
    name: eurekaserver # eurek的服务名称
eureka:
  client:
    service-url: # eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka/

c.服务注册

将某个service服务注册到EurekaServer步骤如下:

  • 1.在user-service项目引入spring-cloud-starter-netflix-eureka-client的依赖
<!--引入eureka客户端依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  • 2.在application.yml文件,编写下面的配置:
spring:
  application:
    name: userservice # user服务的服务名称(例子)
eureka:
  client:
    service-url: # eureka的地址信息
      defaultZone: http://127.0.0.1:10086/eureka/

d.服务发现

服务拉取时基于服务名称获取服务列表,然后在对服务列表做负载均衡

​ 1.在service项目引入spring-cloud-starter-netflix-eureka-client的依赖文章来源地址https://www.toymoban.com/news/detail-664665.html

<!--引入eureka客户端依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  1. 修改OrderService的代码,修改访问的url路径,用服务名代替ip、端口:
String url = "http://userservice/user/" + order.getUserId();
  1. 在order-service项目的的RestTemplate的Bean中添加负载均衡注解@LoadBalanced:
/**
 * 创建RestTemplate并注入Spring容器
 * @return
 */
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
    return new RestTemplate();
}

到了这里,关于微服务中间件--Eureka注册中心的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微服务—Eureka注册中心

           eureka相当于是一个公司的管理人事HR,各部门之间如果有合作时,由HR进行人员的分配以及调度,具体选哪个人,全凭HR的心情,如果你这个部门存在没有意义,直接把你这个部门撤销,全体人员裁掉,所以不想被裁员,只能每天拼命的工作,做一个累死累活的打工人

    2024年02月12日
    浏览(25)
  • 【微服务】Eureka注册中心

    我们在前文的案例中,我们采取如下的方式发送http请求: 我们将user-service的ip地址和端口硬编码在了代码当中,这样的写法是有一定问题的。我们在公司开发中,可能会面临多个环境,开发环境、测试环境等等,每一次环境的变更可能服务的地址也会发生变化,使用硬编码显

    2024年01月15日
    浏览(26)
  • 服务注册中心 Eureka

    服务注册中心 Eureka Spring Cloud Eureka 是 Netflix 公司开发的注册发现组件,本身是一个基于 REST 的服务。提供 注册与发现 ,同时还提供了负载均衡、故障转移等能力。 Eureka 有 3 个角色 服务中心(Eureka Server):服务器端。它提供服务的注册和发现功能,即实现服务的治理。 服

    2024年02月11日
    浏览(39)
  • 1.2 eureka注册中心,完成服务注册

    目录 环境搭建 搭建eureka服务 导入eureka服务端依赖 编写启动类,添加@EnableEurekaServer注解 编写eureka配置文件 启动服务,访问eureka Euraka服务注册 创建了两个子模块 在模块里导入rureka客户端依赖  编写eureka配置文件 添加Services 创建父工程,父工程中导入spring cloud的依赖,用来统

    2024年02月14日
    浏览(29)
  • SpringCloud:Eureka服务注册中心

    Eureka是一个服务治理组件,它主要包括服务注册和服务发现,主要用来搭建服务注册中心。 在搭建微服务项目时遇到的三个问题: 服务消费者该如何获取服务提供者的地址信息? 如果有多个服务提供者,消费者该如何选择? 消费者如何得知服务提供者的健康状态? Eureka的作

    2024年01月20日
    浏览(26)
  • 微服务学习 Eureka注册中心

    服务调用时候出现问题,当服务者很多时候,比如不同的端口。消费者如何找到服务者的地址?又如何判断服务者是否健康。 Eureka基本原理: 总结:如果有多个服务提供者,消费者该如何选择? 搭建Eureka注册中心: 1.引入依赖 2.编写启动类,添加@EnableEurekaServer注解 这里在启动

    2024年04月16日
    浏览(23)
  • 微服务注册中心之Eureka

    微服务注册中心之Eureka Spring Boot 2.1.7.RELEASE spring-cloud-starter-netflix-eureka-server Finchley.SR2 spring-boot-starter-security 2.1.7.RELEASE pom.xml 文件 单节点搭建非常简单,引入上面的依赖,然后编写配置文件 application.yml 启动类添加注解 这样单节点就构建完成了。 但是单节点一般来说仅仅是个

    2024年02月02日
    浏览(26)
  • 【微服务开篇-RestTemplate服务调用、Eureka注册中心、Nacos注册中心】

     本篇用到的资料: https://gitee.com/Allengan/cloud-demo.git https://gitee.com/Allengan/cloud-demo.git 目录 1.认识微服务 1.1.单体架构 1.2.分布式架构 1.3.微服务 1.4.SpringCloud 1.5.总结 2.服务拆分和远程调用 2.1.服务拆分原则 2.2.服务拆分示例 2.2.1.导入Sql语句 2.2.2.导入demo工程 2.3.实现远程调用案例

    2024年02月08日
    浏览(29)
  • 服务注册发现_搭建单机Eureka注册中心

    创建cloud-eureka-server7001模块 pom添加依赖 写yml文件 主启动类 测试 访问浏览器localhostL:7001 参数: Environment: 环境,默认为test,该参数在实际使用过程中,可以不用更改 Data center: 数据中心,使用的是默认的是 “MyOwn” Current time:当前的系统时间 Uptime:已经运行了多少时间

    2024年02月07日
    浏览(33)
  • 【SpringCloud微服务--Eureka服务注册中心】

    gitee仓库 内容:SpringCloud + SpringCloud alibaba 技术栈:Java8+maven+git,github+Nginx+RabbitMQ+SpringBoot2.0 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的 进程 中,服务与服务间采用

    2024年02月09日
    浏览(25)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包