通常所说的负载均衡,一般来说都是在服务器端使用 Ngnix 或 F5 做 Server 的负载均衡策略,在 Ribbon 中提到的负载均衡,一般来说是指的客户端负载均衡
,即 ServiceA 调用 ServiceB,有多个 ServiceB 的情况下,由 ServiceA 选择调用哪个 ServiceB。
Spring Cloud 微服务(11) --- Ribbon(一)
Spring Cloud 微服务 (10) --- Feign(四)
文件上传、首次调用失败问题
Feign 在远程调用时,除了 GET 方式传递 POJO 外,还有几个很重要的功能:文件上传
、调用返回图片流
、传递 Token
等
Spring Cloud 微服务(9) --- Feign(三)
http client 替换、GET 方式传递 POJO等
在了解了 FeignClient 的配置、请求响应的压缩后,基本的调用已经没有问题。
接下来就需要了解 Feign 多参数传递、文件上传、header 传递 token、请求失败、图片流 等问题的解决,以及 HTTP Client 替换的问题。
Spring Cloud 微服务(8) --- Feign(二)
GZIP、配置
在理解了 Feign 的运行原理之后,可以很轻松的搭建起一个基于 Feign 的微服务调用。
Feign 是通过 http 调用的,那么就牵扯到一个数据大小的问题。如果不经过压缩就发送请求、获取响应,那么会因为流量过大导致浪费流量,这时就需要使用数据压缩,将大流量压缩成小流量。
Spring Cloud 微服务 (7) --- Feign(一)
远程调用、RestTemplate、Feign
在使用 SpringCloud 时,远程服务都是以 HTTP 接口形式对外提供服务,因此服务消费者在调用服务时,需要使用 HTTP Client 方式访问。在通常进行远程 HTTP 调用时,可以使用 RestTemplate、HttpClient、URLConnection、OkHttp 等,也可以使用 SpringCloud Feign 进行远程调用
Spring Cloud 微服务(6) --- Eureka(四)
Https
在生产环境下,一般来说都是 https 协议访问,现在的 http 协议访问可能会出现问题,在 Eureka Server、Client 中开启 Https 访问。
Spring Cloud(5) --- Eureka(三)
集群、Region Zone、Http Basic
在了解了 Euerka 的 REST API
、核心类
、核心操作
、参数调优
等概念之后,在实际的项目中来验证这些概念。
Spring Cloud 微服务(4) --- Eureka(二)
REST API、核心类、调优
在上一篇已经了解到了服务注册与发现
、Eureka
、Eureka 简单示例
、Eureka Server 中查看 Client 状态
等。接下来需要了解 Eureka 的 REST API
、核心类
、调优
等惭怍。
Spring Cloud 微服务(3) --- Eureka(一)
注册中心与 Eureka
Eureka 最初是针对 AWS 不提供中间服务层的负载均衡的限制开发的。 Eureka 一方面给内部服务做服务发现,另一方面可以结合 Ribbon 组件提供各种个性化的负载均衡算法。
Spring Cloud 微服务(2)
微服务与 Spring Cloud
应用是可以独立运行的程序代码,提供相对完善的业务功能。
架构分为:业务架构、应用架构、技术架构。业务架构决定应用架构,技术架构支撑应用架构。
架构的发展历程:单体架构 --> 分布式架构 --> SOA 架构 --> 微服务架构