博客
关于我
在线教育平台-day09-课程预览 Eureka Feign
阅读量:389 次
发布时间:2019-03-05

本文共 1227 字,大约阅读时间需要 4 分钟。

Eureka注册中心与Feign远程调优

1. Eureka注册中心

1.1 需求分析

在前后端分离架构中,服务层被拆分为许多微服务。微服务数量众多,远程调用时需要知道服务端的IP地址和端口。注册中心能帮助我们管理这些服务的IP和端口,确保服务间高效通信。

1.2 Eureka注册中心

1.2.1 Eureka介绍

Spring Cloud Eureka是对Netflix公司的Eureka的二次封装,实现了服务治理功能。Eureka服务注册中心负责管理微服务的信息和状态,微服务通过Eureka客户端向注册中心注册,客户端获取服务地址进行远程调用。

1.2.2 Eureka Server搭建

1.2.2.1 单机环境搭建
  • 创建xc-govern-center工程,包结构为com.xuecheng.govern.center。
  • 添加依赖:在父工程中添加Spring Cloud依赖。
  • 在Eureka Server工程中添加Spring Cloud Starter Netlix Eureka Server依赖。
  • 创建启动类,并标注@EnableEurekaServer注解。
  • 配置application.yml,设置服务端口、Eureka服务端地址、注册保护模式等。
  • 启动Eureka Server,访问指定端口。
  • 1.2.2.2 高可用环境搭建
  • 部署两个Eureka Server,互相注册。
  • 配置服务端口和Eureka服务地址,确保高可用。
  • 微服务需要连接两台Eureka Server,确保服务注册和发现不受单点故障影响。
  • 1.2.3 服务注册

    将cms服务注册到Eureka Server:

  • 在应用.yml中配置注册开关、服务URL、实例ID等。
  • 在启动类中添加@EnableDiscoveryClient注解,标识为Eureka客户端。
  • 启动后检查Eureka Server注册情况。
  • 2. Feign远程调用

    2.1 Ribbon介绍

    Ribbon是Netflix公司开源的客户端负载均衡器,支持HTTP和TCP协议。负载均衡的作用是分担服务压力,提高系统性能。

    2.2 Feign介绍

    Feign是轻量级的REST客户端框架,集成了Ribbon进行负载均衡调用。通过定义Feign客户端接口,可以方便实现远程调用。

    2.3 Feign测试

  • 添加依赖:在项目中引入Feign和OkHttp依赖。
  • 定义Feign客户端接口,注解方法并指定URL。
  • 启动类中标注@EnableFeignClients注解,生成代理对象。
  • 编写测试类,通过服务ID或URL调用目标服务。
  • 2.4 负载均衡测试

  • 启动两个Cms服务,确保端口不同。
  • 在课程管理服务定义RestTemplate,使用@LoadBalanced注解。
  • 编写测试方法,观察Ribbon如何轮流调用服务。
  • 通过以上配置和测试,可以实现微服务间的高效远程调用,确保系统的高可用性和扩展性。

    转载地址:http://tvhwz.baihongyu.com/

    你可能感兴趣的文章
    PHP执行耗时脚本实时输出内容
    查看>>
    PHP扩展安装
    查看>>
    PHP扩展数据库连接参数说明详解
    查看>>
    php把get参数放入数组_php怎么将数组转为url参数?
    查看>>
    php接口返回数据 用echo 还是return?
    查看>>
    php接口返回状态,大家一般怎么规范接口返回内容
    查看>>
    php接收formdata上传的多个文件,使用formData()上传多个文件
    查看>>
    PHP操作csv文件导入+导出
    查看>>
    php操作mysql用select_php如何操作mysql获取select 结果
    查看>>
    PHP操作符与控制结构
    查看>>
    PHP支付宝SDK使用,电脑网页支付
    查看>>
    php支付宝手机网页支付类实例
    查看>>
    php教程之php空白页的原因及解决方法
    查看>>
    PHP数据库操作
    查看>>
    PHP数据文件过大,导致PHP加速器eaccelerator在PHP5.2版本下崩溃
    查看>>
    RabbitMQ - 死信、TTL原理、延迟队列安装和配置
    查看>>
    PHP数据访问的多重查询(租房子查询)
    查看>>
    RabbitMQ - 如保证消息的可靠性?(消息确认、消息持久化、失败重试机制)
    查看>>
    RabbitMQ - 基于 SpringAMQP 带你实现五种消息队列模型
    查看>>
    php数组函数分析--array_column
    查看>>