含义不同
微服务架构是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中。
分布式系统是若干独立计算机的集合,这些计算机对用户来说就像单个相关系统。
概念不同
微服务架构是设计层面的东西,一般考虑如何将系统从逻辑上进行拆分,也就是垂直拆分。
分布式架构是部署层面的东西,即强调物理层面的组成,即系统的各子系统部署在不同计算机上。
解决问题视角不同
微服务架构解决的是如何将一个大型应用程序划分成多个微服务的问题。
分布式架构解决的是如何将一个大的系统划分为多个业务模块,这些业务模块会分别部署到不同的机器上,通过接口进行数据交互的问题。
部署方式不同
微服务架构的应用可以部署在是同一个服务器,不一定是分散在多个服务器上。
分布式架构是将一个大的系统划分为多个业务模块,这些业务模块会分别部署到不同的机器上,通过接口进行数据交互。
耦合度不同
微服务架构的各个服务是解耦的,每个服务都可以独立地运行和更新,而不影响其他服务。
分布式架构的各个计算机之间可能会有依赖关系,需要通过接口进行通信和数据交互,以保证系统的正常运行。
总结起来,微服务架构和分布式架构在上述五个方面存在明显的差异。微服务架构更侧重于服务的拆分和独立部署,而分布式架构更侧重于不同计算机的协作和共同工作。
分布式架构
想象一个大型在线购物网站,它需要处理成千上万的并发用户请求,同时需要保证数据的安全和一致性。为了实现这个目标,该网站可能会采用分布式架构,将前端Web服务器、后端业务逻辑服务器和数据库服务器分别部署在不同的机器上,通过接口进行数据交互,从而提高了系统的吞吐能力和可靠性。
微服务架构
假设一个公司需要开发一套复杂的客户关系管理系统,该系统需要处理客户的订单、库存和销售数据。
为了简化开发、部署和运维,该公司可能会采用微服务架构,将整个系统划分为多个独立的服务,如订单服务、库存服务等,每个服务都运行在自己的进程中,通过轻量级通信协议进行数据交互。通过这种方式,每个服务都可以独立地开发和部署,提高了开发效率和运行效率。
总的来说,分布式架构注重的是系统的并发性能和可靠性,而微服务架构注重的是系统的可维护性和灵活性。这两种架构各有优势和适用场景,需要根据具体需求来选择。
概念的区别与联系
分布式:分散压力。
微服务:分散能力。
分布式:不同模块部署在不同服务器上;
作用:分布式解决网站高并发带来问题;
集群:相同的服务;
多台服务器部署相同应用构成一个集群;
作用:通过负载均衡设备共同对外提供服务;
SOA:[组装服务/ESB企业服务总线];
业务系统分解为多个组件,让每个组件都独立提供离散,自治,可复用的服务能力;
通过服务的组合和编排来实现上层的业务流程;
作用:简化维护,降低整体风险,伸缩灵活;
微服务
架构设计概念,各服务间隔离(分布式也是隔离),自治(分布式依赖整体组合)其它特性(单一职责,边界,异步通信,独立部署)是分布式概念的跟严格执行;
SOA到微服务架构的演进过程;
作用:各服务可独立应用,组合服务也可系统应用。