首页 > 其他分享 >架构 分布式和微服务区别

架构 分布式和微服务区别

时间:2023-02-15 13:46:04浏览次数:29  
标签:服务 区别 部署 不同 系统 架构 分布式

目录

架构 微服务架构和分布式架构的区别

含义不同

微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。

分布式架构:分布式系统是若干独立计算机的集合,这些计算机对用户来说就像单个相关系统,即整个系统是由不同的计算机组成,而用户是无感知的,就像访问一台计算机一样。这里强调的是系统由不同物理上分离的计算机(服务器)组成。

概念层面不同

微服务架构:微服务是设计层面的东西,一般考虑如何将系统从逻辑上进行拆分,也就是垂直拆分。微服务可以是分布式的,即可以将不同服务部署在不同计算机上,当然如果量小也可以部署在单机上。

分布式架构:分布式是部署层面的东西,即强调物理层面的组成,即系统的各子系统部署在不同计算机上。

解决问题不同

微服务架构:微服务解决的是系统复杂度问题: 一般来说是业务问题,即在一个系统中承担职责太多了,需要打散,便于理解和维护,进而提升系统的开发效率和运行效率,微服务一般来说是针对应用层面的。微服务如果用在其它系统,如存储系统感觉怪怪的,就像说Mysql集群是微服务的,总觉得哪里不舒服。

分布式架构:分布式解决的是系统性能问题: 即解决系统部署上单点的问题,尽量让组成系统的子系统分散在不同的机器上进而提高系统的吞吐能力。

部署方式不同

微服务架构:微服务的应用可以部署在是同一个服务器,不一定是分散在多个服务器上。微服务架构是一项在云中部署应用和服务的新技术。微服务架构是一种架构模式,它将一个复杂的大型应用程序划分成多个微服务,这些小型服务都在各自独立的进程中运行。

分布式架构:分布式是将一个大的系统划分为多个业务模块,这些业务模块会分别部署到不同的机器上,通过接口进行数据交互。

耦合度不同

微服务相比分布式服务来说,它的粒度更小,服务之间耦合度更低,由于每个微服务都由独立的小团队负责,因此它敏捷性更高,分布式服务最后都会向微服务架构演化,这是一种趋势,不过服务微服务化后带来的挑战也是显而易见的,例如服务粒度小,数量大,后期运维将会很难。

拓展阅读

分布式是否属于微服务?
答案是属于。微服务的意思也就是将模块拆分成一个独立的服务单元通过接口来实现数据的交互。但是微服务不一定是分布式,因为微服务的应用不一定是分散在多个服务器上,他也可以是同一个服务器。这也是分布式和微服务的一个细微差别。

标签:服务,区别,部署,不同,系统,架构,分布式
From: https://www.cnblogs.com/liwenchao1995/p/17122498.html

相关文章

  • javascript放在head和body的区别以及js文件加载带来的阻塞解决
    今天在看到菜鸟教程中的HTML中的Javascript脚本代码必须位于<script>与</script>标签之间。Javascript脚本代码可被放置在HTML页面的<body>和<head>部分中......
  • tcp与http的区别和关系
    一、区别TCP协议是传输层协议,主要解决数据如何在网络中传输。HTTP是应用层协议,主要解决如何包装数据。TCP/IP和HTTP协议的关系,从本质上来说,二者没有可比性,我们在传输数......
  • Kubernetes架构设计Concepts之理解Kubernetes API之理解Kubernetes对象
     首先我说下为什么去翻译这些文章,当然也有一些不少文章是翻译的,但是没有对照,或者是全中文的,这个时候你就不好判断理解,特别是比如:从代码角度和运维角度,代码角度呢,我们看到......
  • 分布式事务解决方案
    数据不会无缘无故丢失,也不会莫名其妙增加一、概述1、曾几何时,知了在一家小公司做项目的时候,都是一个服务打天下,所以涉及到数据一致性的问题,都是直接用本地事务处理。......
  • 容器与 Pod 的区别和联系
    容器本可以成为轻量级虚拟机的替代品。但是,由于Docker/OCI的标准化,最广泛使用的容器形式是每个容器只有一个进程服务。这种方法有很多优点——增加隔离性、简化水平扩展、......
  • wget 和 curl的区别
    原文https://www.codenong.com/s1190000022301195/https://geek-docs.com/linux/linux-ask-answer/difference-between-wget-vs-curl.htmlwget和curl是在没有任何GUI或......
  • ArrayList.asList() 参数的区别
     今天在将一个int数组转换成List的时候,下意识就写出了如下代码int[]data2={1,2,3,4};Arrays.asList(data2);但是我在用代码补全的时候,发现接受参数是List<int[]>,也......
  • im 应用多点登录和消息漫游架构
    本文主要节选和总结自沈剑大佬的微信多点登录与QQ消息漫游架构随想和文章的评论,略有删改1、多点登录和消息漫游架构多点登录指的是同个账号可以在多类终端(安卓、pc)同时......
  • 项目管理架构全景图
    非常全的组织及项目架构图                        ......
  • 1.mysql架构
    mysql架构mysql的基础架构图innoDb引擎的4大特性,区别插入缓冲(Insertbuffer/ChangeBuffer)产生的原因:索引存在在磁盘,主键索引由于天然自增,无须磁盘的随机IO,只......