个人理解,欢迎理性讨论~
感觉一块想的话确实有点混淆,我们可以分开去想~
微服务:
单体应用
:过往的系统只需要启动一个服务完成所有的事情;
微服务
:就是把应用拆封成多个(每个完成所有事情的其中一件或几件),达到协同的效果
分布式:
我们可以去想什么是分布式数据库,比如
elasticSearch
:
他的节点是可以部署到不同机器上面的,每个节点可以单独保存数据,也可以做副本相互备份;
我们去查询数据的时候,数据可能在A节点也可能在B节点,但是我们不用关心去哪里查,es整个服务会返回给我们(达到多个节点完成一件事情的需求)
所以:
分布式
的意思是多个模块共同完成一件事情(也可以是一个模块分多个部署),每个节点可以单独完成任务;(分开不同机器部署)微服务
的意思也是多个模块共同完成一件事情,(不管应用部署在哪里)
总结:
微服务和分布式都是拆分单体应用的产物,可以理解为,微服务只是对服务拆分的形容词,分布式是对服务部署方面的考量,微服务是可以包含分布式的,但是分布式不一定是微服务;