作者回复: 服务路由是指通过服务的唯一标识找到服务的ip和port,所以它就是服务注册发现~
作者回复: 赞~ 1、滚动升级从库,是从提高硬件能力的角度来扩容 2、双写迁移,不能减少迁移的量,只是让迁移平滑一点,一般是 2 倍扩容,比如之前分了 4 张表,那么扩容为分 8 张表,就只需要迁移一半的数据。
作者回复: 是的,非常正确
作者回复: Q1:SpringCloud Ribbon 是一个负责均衡组件,可以通过配置选择负载均衡算法:com.netflix.loadbalancer.****,比如com.netflix.loadbalancer.RandomRule 是随机算法,com.netflix.loadbalancer. RoundRobinRule 是轮询算法,这些算法可以是讨论是否有无状态的 Q2:mysql的 分区分表一般都是采用 hash 算法的半状态负载均衡 Q3:是的,数据分片的问题从负载均衡的角度来看,就是全状态负载均衡
作者回复: 是的,这是一个区别之一,全状态的粒度更细。
作者回复: 是的,还有一种处理公平性的策略,不过使用的比较少,它不引入虚拟节点,而是去调整节点在hash环上的位置(节点在hash环上的位置不是通过hash计算来确定,而是维护好节点的位置信息),只不过这种策略使用比较少一点
作者回复: 是的,容易导致雪崩
作者回复: 这个状态是由后端提供服务的实例是否对等来决定的。 文中查询用户的年龄的例子,是假设在用户信息是按一定的策略存储在后端的服务上,每一个后端服务只存储一部分。 如果用户的年龄信息是存储在一个外部的数据库中,所有的后端服务实例都可以访问到,那么这些后端服务的对等的,这个时候,请求就是无状态的。
作者回复: 好的,这几天就会提供