当前位置: 首页 > 科技观察

一分钟搞懂什么是分布式和微服务

时间:2023-03-20 12:22:15 科技观察

简单来说,微服务就是架构设计方式,分布式系统就是部署方式。这两个概念是不同的。什么是微服务?我不会在这里引用书中复杂的概括。总之,微服务是非常小的服务,小到一个服务只对应一个功能,只做一件事。该服务可以独立部署和运行,服务之间可以通过RPC进行交互。每个微服务都由一个独立的小团队开发、测试、部署和上线,负责其整个生命周期。什么是微服务架构?做架构设计的时候,先做逻辑架构,再做物理架构。得到需求后,估计最大用户数和最大并发数,然后计算单台应用服务器是否能满足需求。如果用户数只有几个几百人的小应用一个应用就可以搞定,也就是所有的应用都部署在一个应用服务器上。如果用户量大,有些功能会被频繁访问,或者有些功能需要大量计算,建议将安装的应用拆解成多个子系统,各自负责自己的功能,这就是微服务架构.那么分布式是什么?顾名思义,分布式服务分布部署在不同的机器上。一个服务可能负责多个功能。它是一个面向SOA的架构。服务也通过rpc或webservice进行交互。设计好逻辑架构后,就该设计物理架构了。系统应用部署在一个以上的服务器或虚拟机上,各个单独部署的部分通过各种通信协议相互交换信息,可以算作分布式部署。生产环境下面的微服务必须采用分布式方式部署。分布式部署应用不一定是微服务架构,比如集群部署,将同一个应用复制到不同的服务器上,但逻辑功能仍然是单个应用。与分布式服务相比,微服务的粒度更小,服务之间的耦合度更低。由于每个微服务都由一个独立的小团队负责,具有更高的敏捷性和分布式服务***这是一个趋势,但是微服务带来的挑战也很明显,比如服务粒度小,数量大,后期运维并且维护会很困难