前言、Spring-Cloud家族相关
- 注册中心:Eureka(停止更新,不建议使用)、Zookeeper、Consul、Nacos(阿里巴巴提供的技术),个人觉得可以优先考虑Nacos,其次是Zookeeper
- 服务调用:Ribbon、LoadBalancer、Feign(停止更新,不建议使用)、OpenFeign
- 服务降级:Hystrix(不建议)、Resilience4j(国内不流行)、Spring Cloud Sentienl(阿里巴巴提供的技术,推荐使用)
- 服务网关:Zuul(不建议使用)、GateWay(Spring自己的)
- 服务配置:Config、Nacos(推荐)
- 服务总线:Bus、Nacos(推荐)
建议参考网站(还是比较完整的,而且时中文文档,方便阅读): https://www.springcloud.cc/spring-cloud-dalston.html#_features
笔者写一大堆应该也没有人有耐心看吧,直接上源码 ,希望可以帮到各位 https://gitee.com/suyujie/spring-cloud-test
Alibaba相关的技术很多都在工具配置里了,不得不说,确实牛逼,解决了不少配置文件上的麻烦,各位可以到Nacos、Sentinel官网上下载工具试试吧
一、CAP原则
CAP原则又称CAP定理,分别指的是Consistency(一致性)、Avaliability(可用性)、Partition tolerance(分区容错性),其中CAP不可兼顾,所以只能有CA、CP和AP的组合,不存在CAP的组合(不能是的CAP同时存在的原因在P上)
一致性:在分布式系统中,所有数据及其备份在同一时刻的不同节点上是否是相同的值
可用性:集群中,若部分节点不可用,集群整体是否还能响应客户端的读写请求
分区容错性:系统如果在时限内,不能使得数据达到一致性,那么就出现了分区的情况
二、Ribbon的的负载均衡的算法(注意:这些规则的算法不能放在@ComponentScan注解扫描的包下)
轮询(RoundRobinRule)、随机(RandomRule)、重试(RetryRule:轮询算法中,失败了会做重试)、速度权重(WeightedResponseTimeRule:轮询算法中,响应速度最快的权重最大,选择几率更高)、最佳选择(BestAvaliableRule:先过滤经常故障或者中断的服务,再选择并发量最小的服务)、可用过滤(AvaliabilityFilteringRule:先过滤故障的实例,再选择并发较小的)、区域回避(ZoneAvoidanceRule:判断服务所在区域服务器性能和可用性进行选择)
来源:oschina
链接:https://my.oschina.net/u/2430231/blog/4268123