作者回复: 1. 如果已经做了主从分离,那么只需要在异地机房配置主库是主机房的主库,从库配置本机房从库即可。主从延迟的问题,可以通过主动写缓存来解决
2. 像memcached这样的缓存是没有办法同步的,注册中心可以部署在单机房
3. 一般按照用户的属性来分片,比如ID,地域
4. 是的
作者回复: 是的,注册的名字里面带上机房标识,比如zw-feed-service(兆维-feed-服务)
作者回复: 是的,通过分片尽量让用户访问本机房的数据
作者回复: 异地多活的方案中,数据的延迟就是坑
作者回复: 数据库同步的方案是一样的,只是同城机房之间的数据延迟小,对于业务的影响小。异地的话数据同步延迟比较高,可能对业务有影响
作者回复: 这个根据业务特点定,比如淘宝就是按照uid来分片,饿了么是按照地域来分片
作者回复: 额 一般也不会有宕机一天对公司没有影响的项目吧
主要是架构复杂度带来的成本和可用性之间的权衡
作者回复: 一般是通过队列来实现
作者回复: 是要同步的,因为你很难做到用户完全分片,所有的请求都落入到本机房中
作者回复: 你说的没错,数据是可以同步的,但是异地机房之间延迟比较高,同步也会有延迟的。
作者回复: 云服务是有可用区概念的,你可以理解为同城多机房:)