I know there's one same question on SO but I didn't find the answers there helpful.
Availability says that the system will return a non-error response, even if one or more nodes in the system are down.
Partition Tolerance means that the system will keep functioning as a whole, even if some nodes in the system are down or there are communication breaks in the system.
If I am not wrong, both of them mean that the client will receive a response even if some nodes in the system are down. What is the difference between the two?