微服务 Ribbon Restful RestTemplate

Ribbon

客户端负载均衡

服务器端负载均衡

RestTemplate Ribbon EurekaClient EurekaServer 的关系

Ribbon 通过负载均衡的算法,从eurekaClient 提供的服务列表中,本次请求访问的某个服务,提供给RestTemple 进行访问

在这里插入图片描述

Ribbon 的负载均衡算法

使用Ribbon 通过轮询的方式访问

在这里插入图片描述

在这里插入图片描述

设置Ribbon的负载均衡策略

  • 注解方式
    在这里插入图片描述
  • 配置方式

在这里插入图片描述

  • 自定义方式
    在这里插入图片描述
  • 权重(可以设置在matedata中) 或者 hash 方式设置负载均衡策略
    在这里插入图片描述

RestTemplae 发送负载均衡请求

在这里插入图片描述

在这里插入图片描述

Restful 风格api接口规范

  • 基于http 协议
  • 资源事先定义 生产者定义http://主机:端口/user/list

http://主机:端口/user/getUserList Get 
升级   http://主机:端口/users   Get  约定
http://主机:端口/user/deleteById=1  Get
升级  http://主机:端口/users/1      DEL    GET     POST  PUT 修改

如何需要修改  添加版本v1 v2 v3 

http://主机:端口/v1/users/1
http://主机:端口/v2/users/1
SpringData Rest

  • 为啥要用 基于HTTP协议的SpringCloud
1.异构平台
java 调用python net php
2.可插拔
A    B之间是弱关系    每次请求不一定调用哪个B  B就可以上线和下线
基于http 的弱关系  dubbo 强关系  屏蔽网络抖动
3. Soap (xml)   SpringCloud(json) 

RestTemplate

String url = "http://eureka-service/hi";
String result = restTemplate.getForObject(url, String.class);
ResponseEntity<String> forEntity = restTemplate.getForEntity(url, String.class);
System.out.println(forEntity);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • post 带参数
    在这里插入图片描述
  • location
  • 一定要加 response.addHeader
    在这里插入图片描述

在这里插入图片描述

  • 拦截器
    在这里插入图片描述

Feign

  • Feign 是对RestTemplate 封装

  • 面向接口 的OpenFeign

  • 定义接口

在这里插入图片描述

  • 根据 UserApi provider 提供实现
    在这里插入图片描述

  • 客户端发起远程调用

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值