一、SpringCloud整体架构 (一)5大核心组件 1.注册中心:ZK,Eureka,nacos,consul,etcd 2.配置中心:apollo,nacos,config(一般和Eureka搭配使用),disconf (1)如何进行配置统一管理? (2)如何进行动态的更新配置的变更通知? (3)安全性问题 3.网关:Spring Cloud Gateway,zuul,zuul2 (1)前置过滤器:主要用来做校验 (2)后置过滤器:主要用来做修改 4.负载均衡:Ribbon,LoadBalance (1)常见的负载均衡算法 ①加权 ②轮询 ③随机 ④哈希 ⑤最大空闲连接数 ⑥最小活跃连接数 (2)nginx中的和架构中的负载均衡区别 5.声明式远程调用:Feign,OpenFeign (1)底层实现原理 (2)Feign和OpenFeign的优点 (二)3大核心配件(根据项目规模来决定是否存在) 1.断路器:Sentinel组件(SEMAPHORE信号量隔离),Hystrix(Thread线程池隔离) 2.日志监控:Promethus+Graphana 3.链路追踪:skywalking,CAT,pingpoint,zipkin (三)Spring Cloud Netflix体系组件 1.Ribbon:负载均衡 2.Hystrix:服务熔断 3.zuul:网关 4.Eurke:服务注册与发现 5.Feign:服务调用 (四)Spring Cloud Alibaba体系组件 1.Dubbo:消息通讯 2.Nacos:服务注册和发现。既可以是注册中心也可以是配置中心 3.Seata:事务隔离 4.Sentinel:熔断降级 5.OpenFeign:服务调用 二、微服务划分的方式 (一)业务域:简洁、代码成型快 (二)数据域:需要考虑数据的交互问题 (三)领域:怎么方便怎么来 三、Http和RPC区别 (一)Http协议 1.优点 2.缺点 (二)RPC协议 四、微服务三高特性 (一)高并发 (二)高可用 (三)高性能 五、组件的服务治理 (一)服务注册 (二)服务续约 (三)服务获取 (四)服务调用 (五)服务下线(即时下线) (六)失效剔除(非即时下线) (七)自我保护 (八)服务同步 六、微服务架构特性:CAP定理 (一)分区容错性 (二)CP模式 (三)AP模式 七、网关的功能 (一)日志监控(两大体系) 1.ELK(Elasticsearch+Logstash+Kibana)+Beats:也叫Elastic Stack体系 2.Prometheus(收集数据)+Grafana(展示数据) (二)限流(使用断路器) 1.Sentinel 2.Hystrix (三)负载均衡(整个项目所有前置流量的分发) (四)认证鉴权 八、常见分布式解决方案 (一)分布式事务 (二)分布式锁 (三)分布式定时任务调度 1.如何防止重跑? 2.如何防止漏跑? 九、Eureka注册表多级缓存架构 十、微服务中常用的限流算法 (一)令牌桶算法 (二)漏桶算法(经典的削峰填谷算法) (三)计数器算法(通常使用Redis来实现) 十一、熔断和降级的区别