1.前言
1.1SOA和微服务的区别

1.2Dubbo和SpringCloud的区别


1.3SpringCloud第一代和SpringCloudAlibaba第二代
SpringCloud第一代

SpringCloudAlibaba第二代

2. SpringCloud第一代
Eureka
2.1 Eureka简介


- get registry 获取注册结果
- remote call 远程调用
- register 注册
- renew 心跳检测
- cancel注销服务
2.2 Eureka高可用实例搭建
- 下面为2台注册中心eureka-server


- 下面为1台服务提供者 service-provider
- 注意默认区域为上面配置的集群地址

- 下面为一台服务消费者

2.3 Eureka远程调用的方式
2.3.1 DiscoveryClient

2.3.2 LoadBalancerClient(Ribbon的负载均衡器,可以直接选择服务)

2.2.3 @LoadBalance注解
直接在restTemplate的bean中添加这个注解,通过url中service-provider直接指明调用目标
Ribbon
1.Ribbon简介


Feign声明式服务调用
简单说,feign通过注解标注要访问的服务,即可远程调用它。而不用http似的远程去请求。

Feign解决什么问题


Feign的入门案例

基于Feign的Http连接池

通过配置文件,使用HttpClient的方式来请求(调用时自动使用httpclient的方式),则可使用连接池的特性。
Hystrix

雪崩效应




请求缓存




请求合并

因为每次请求都会耗费资源,如果把一部分相同的请求合并,那么就只需要一次请求即可返回所有结果。
服务隔离






服务熔断


服务降级

服务监控



Sentinel
Sentinel是什么
- 主要是做入口流量控制

Sentinel VS Hystrix


Sentinel客户端接入控制台
- 控制台启动在本地8080,通过sentinel内部的8719端口进行交互


Zuul






网关限流

限流算法
计数器算法
会存在资源浪费问题

漏桶算法
版权声明:本文为weixin_40485391原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。