SpringCloud基础知识(eureka、Ribbon、Feign、Hystrix、 微服务网关)

SpringCloud基础知识

eureka的了解

Eureka是什么?

  • Eureka是用于实现服务注册和发现的工具;
  • Eureka可以与SpringBoot构建的微服务很容易整合起来;

Eureka由两部分组成:Eureka Server 和 Eureka Client

  • Eureka Server用于注册服务;
  • Eureka Client分为:服务消费者和服务提供者;

Eureka注解
@EnableDiscoveryClient //启动主类声明该服务被注册中心发现
@EnableEurekaClient //表明自己是一个Eureka Client


Ribbon的了解

Ribbon是什么?
Ribbon默认为我们提供很多负载均衡算法:

  • 轮询
  • 随机

负载均衡的好处

  • 当集群里的1台或者多台服务器down的时候,剩余的没有down的服务器可以保证服务的继续使用
  • 使用了更多的机器保证了机器的良性使用,不会由于某一高峰时刻导致系统cpu急剧上升。

RestTemplate代码:

@Configuration
public class ConfigBean {
    @Bean
    @LoadBalanced //Ribbon负载均衡
    public RestTemplate restTemplate(){
        return  new RestTemplate();
    }
}

应用程序入口Application:

@EnableDiscoveryClient //启动主类声明该服务被注册中心发现

@EnableEurekaClient //表明自己是一个Eureka Client


Feign的了解

Feign是什么

  • Feign是一个声明似的web服务客户端;

  • Feign默认集成了Ribbon,并和Eureka结合)**。默认实现了负载均衡的效果;

Feign注解

package com.qfjy.dudu.client;
/**
    用于通知Feign组件对该接口进行代理(不需要编写接口实现),
    name属性指定我们要调用哪个服务。使用者可直接通过@Autowired注入。
     DUDU-USER是Eureka中Application
    path 定义当前FeignClient统一前缀(用户微服务上下文路径是:dudu-user
 */
@FeignClient(name = "DUDU-USER",path = "dudu-user")
public interface UserServiceFeignClient {

    /**
        此处调用方法要和服务提供者
        UserController一致
     */
    @RequestMapping(value = "/user/{id}")
    public User selectById(@PathVariable("id") Integer id);
}

应用程序入口

@EnableDiscoveryClient //Eureka注册中心发现

@EnableFeignClients //扫描所有带@FeignClient注解的类 进行容器Bean管理

注解描述总结

@FeignClien
用于通知Feign组件对该接口进行代理(不需要编写接口实现),

name属性 指定FeignClient名称。指定我们要调用哪个服务。name属性会作为微服务的名称,用于服务发现。使用者可直接通过@Autowired注入。

path属性 定义当前FeignClient的统一前缀

fallback属性 定义容错的处理类,当调用远程接口失败或超时时,会调用对应接口的容错逻辑。fallback指定的类必须实现@FeignClient标记的接口


Hystrix的理解

Hystrix是什么

Hystrix是由Netflix开源的一个针对分布式系统容错处理的开源组件。能够提供断路,降级,监控等多种服务。

解决了什么问题

雪崩效应 、服务隔离、服务熔断、服务降级、服务限流;在这种多系统和微服务的情况下,需要一种机制来处理延迟和故障,并保护整个系统处于可用稳定的状态。

Hystrix注解

主程序入口

@EnableHystrix //开启断路器 Hystrix注解


微服务网关的了解(zuul1)

什么是zuul1

统一管理API的一个网络关口、通道,是整个微服务平台所有请求的唯一入口;

微服务网关的作用

可以和Eureka、Ribbon、Hystrix等组件配合使用,它主要用作反向代理、Filter扩展、动态加载、动态路由、压力测试、弹性扩展、审查监控、安全检查等。

zuul1注解

@EnableZuulProxy //声明ZUUL代理

@EnableDiscoveryClient //Eureka配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值