简述分布式
假设一个服务需要server、redis、mysql三个部分,只要将它们分别部署到三个节点(单机或集群)上,那我们这个服务就可以称之为分布式服务了。
需要注意的是server、redis、mysql各自分别都可以做成集群,它们合起来才可以称之为一个分布式系统。集群和分布式都是多机的概念,区别在于集群中的每个节点作用是相同的,分布式系统中的每个节点作用是不同的。而如果server分成更多可独立部署的节点,那么就可以称之为微服务架构的分布式系统了。
简述CAP
一致性 Consistency:所有节点访问相同的数据。
可用性 Availability:请求有回应,正确请求不会失败。
分区容错性 Partition-tolerance:某个网络分区的错误,不会影响整个系统的运行。
CAP理论的核心在于,C、A、P是不能同时满足的。
CA:为了保证CA,则不能有P,因为需要数据同步。
CP:为了保证CP,则不能有A,因为需要写入失败。
AP:为了保证AP,则不能有C,因为数据无法同步。
而对于分布式系统来说,网络是最大的问题,必须要保证P,需要在C和A中二选一。