什么是集群、分布式及微服务

最近微服务架构非常流行,10个人的小公司做个项目也要求把微服务架构做为硬性条件,网站日访问量不到1000的web应用也要求用微服务架构,那么到底使用微服务架构好不好?

集群

通俗解释一下集群:为了建设一栋房子,需要砌砖,一个人砌砖太慢,需要10个人砖瓦工人同事去砌,这样就大大提高了效率,我们说这10个人就组成了一个集群。集群是所有人都是干同一件事,大家一起干,每个人相互之间不依赖。放到我们的软件生产环境,集群就是通过堆积服务器硬件来做同一个工作来提高效率。

分布式

分布式,顾名思义,就是有个分工的概念。还是用砌砖的例子来说,我们砌砖,需要先把搬运砖头,放到墙边,需要水泥砂浆,然后才能开始砌砖的工作。如果和水泥砂浆,搬砖,砌墙都给同一个人做,即使是10个人,可能效率也不高,这个时候分布式就上场了。我们可以安排2个人专门和水泥砂浆,2个人搬砖运到墙下,6个人只管砌砖。这种情况下,虽然人员没有增多,但是效率肯定会提高。那可以这么理解,集群不一定是分布式,但分布式肯定是集群,它需要多个服务器来协同工作。那这个时候,还会有一个问题,如果水泥砂浆没有了,那砌砖工人需要通知和水泥砂浆暂停,赶紧把弄好的水泥砂浆运到墙边。现实中可以用嘴喊,可以手机打电话,服务器这个时候怎么通知,这就涉及到rpc(remote process communication)

微服务

微服务是一种架构,原理和分布式很像,它的拆分粒度很细,细到每个人仅做一件不可分解的事情,而这些细微的事情不一定每个都放在不同服务器上,一个服务器上可以放很多微服务如A服务,B服务,C服务,另外一台服务器放B服务,C服务,D服务。值得注意的是,所有服务都需要通知一个叫注册中心的地方,可以理解这个为工程项目经理,他来统一协调管理。

attachments-2020-11-aKb7YGzG5fbf8b46c9798.png


  • 发表于 2020-11-26 19:03
  • 阅读 ( 62 )

0 条评论

请先 登录 后评论
热爱技术的小仓鼠
热爱技术的小仓鼠

199 篇文章

作家榜 »

  1. NX小编 1251 文章
  2. 58沈剑 325 文章
  3. 热爱技术的小仓鼠 199 文章
  4. 奈学教育 151 文章
  5. z老师 62 文章
  6. 李希沅 | 奈学教育 52 文章
  7. 江帅帅 | 奈学教育 32 文章
  8. 五十三 30 文章