eziceice / blog

Personal blog for programming
4 stars 2 forks source link

Spring Cloud #8

Open eziceice opened 5 years ago

eziceice commented 5 years ago

1. Basic

Spring Cloud是一套组件,包含服务发现,配置中心,消息总线,负载均衡,断路器和数据监控等。

Eureka - 服务治理和发现

Ribbon & Feign - 微服务之间的调用

Ribbon

Feign

Hystrix - 断路器

Zuul - 路由网关

Filter

@SprngCloudApplication

eziceice commented 5 years ago

2. MicroServices

Monolith System

MicroServices

eziceice commented 5 years ago

3. Spring Cloud

Spring Cloud

Kubernetes

eziceice commented 5 years ago

4. Eureka

Eureka architecture: Eureka Architecture

Register - 服务注册

Renew - 服务续约

Fetch Registries - 获取服务注册列表信息

Cancel - 服务下线

Eviction - 服务剔除

Eureka的自我保护模式

eziceice commented 5 years ago

5. Ribbon

Overview

LoadBalancerClient

eziceice commented 5 years ago

6. Feign

FeignClient

Feign的工作原理

Feign与HttpClient和OkHttp

Feign与负载均衡

Conclusion

  1. 首先通过@EnableFeignClients注解开启FeignClient的功能。只要这个注解存在,程序启动时就会对@FeignClient类进行扫描。
  2. 根据Feign规则实现Service接口并使用@FeignClient注解。
  3. 程序启动时,IOC容器会被注入所有含有@FeignClient的类。
  4. 当Service接口中的方法被调用时,通过JDK的代理来生成具体的RequestTemplate模版对象。
  5. 根据RequestTemplate再生成Http请求的Request对象。
  6. Request对象交给Client处理,其中Client的网络请求框架默认是HttpURLConnection,也可以使用HttpClient或者OkHttp。
  7. 最后Client被封装成LoadBalanceClient类,这个类结合Ribbon达到了负载平衡。
eziceice commented 5 years ago

7. Hystrix

Hystrix的设计原则

Hystrix的工作机制

Hystrix Dashboard

Turbine聚合监控

eziceice commented 5 years ago

8. Zuul

Zuul的作用

Zuul的原理

Zuul的Circuit Breaker

Zuul的Filter

Zuul常见的使用方式

eziceice commented 5 years ago

9. Spring Cloud Config

构建High Availability的Config Server

Spring Cloud Bus

eziceice commented 5 years ago

10. Spring Cloud Sleuth

Additional:

Elasticsearch

eziceice commented 5 years ago

11. Spring Boot Admin

eziceice commented 5 years ago

12. Spring Boot Security

Spring Security

Reason for Using Spring Security

Spring Boot Security and Spring Security

Spring Security Method Protect

eziceice commented 5 years ago

13. Spring Cloud OAuth2

Spring OAuth2

OAuth2 Provider

Spring OAuth2 Provider

Authorization Server Config