分布式和微服务的区别

分布式和微服务的区别
1.颜老师,分布式和微服务有什么区别呢?网上说啥的都有,越看越晕了。

答:分布式的核心就一个字:拆。只要是将一个项目拆分成了多个模块,并将这些模块分开部署,那就算是分布式。

如何拆呢?有两种方式:水平拆分,或垂直拆分(也称为“横向拆分”和“垂直拆分”),具体如下:

水平拆分:根据“分层”的思想进行拆分。例如,可以将一个项目根据“三层架构”拆分成 表示层(jsp+servlet)、业务逻辑层(service)和数据访问层(dao),然后再分开部署:把表示层部署在服务器A上,把service和dao层部署在服务器B上,然后服务器A和服务器B之间通过dubbo等RPC进行进行整合(在左下角的“阅读原文”里有dubbo的视频课程,可以点击学习),如图所示。
img

**垂直拆分:**根据业务进行拆分。例如,可以根据业务逻辑,将“电商项目”拆分成“订单项目”、“用户项目”和“秒杀项目”。显然这三个拆分后的项目,仍然可以作为独立的项目使用。像这种拆分的方法,就成为垂直拆分。

img

什么是微服务呢?

从名字就能知道,“微服务”就是非常微小服务

微服务可以理解为一种非常细粒度的垂直拆分。例如,以上“订单项目”本来就是垂直拆分后的子项目,但实际上“订单项目”还能进一步拆分为“购物项目”、“结算项目”和“售后项目”,如图。

img

现在看图中的“订单项目”,它完全可以作为一个分布式项目的组成元素,但就不适合作为微服务的组成元素了(因为它还能再拆,而微服务应该是不能再拆的“微小”服务,类似于“原子性”)。

总结:

分布式拆了就行。

微服务细粒度的垂直拆分。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle数据库空间突然增大,Oracle 表空间异常增长过快解决方法

1. 首先用语句查询容量大于1G的数据段select segment_name,sum(bytes)/1024/1024 from dba_segments group by segment_name having sum(bytes)/1024/1024>1000;得到如下结果:SYS_LOB0000136091C00003$$ 255332MSYS_LOB0000136441C00004$$ 7170MSYS_C…

oracle-04045,Oracle ORA-04045 errors during recompilation/revalidation

About UTLRP.SQL What is UTLRP.SQL?This script recompiles invalid PLSQL modules.NOTE: This script DOES NOT Invalidate any PLSQL modules like utlirp.sql and utlip.sql What this script does?This script recompiles all existing invalid PL/SQL modules in a dat…

分布式和微服务是什么?二者的区别又是什么?

一、分布式系统 在《分布式系统原理与范型》一书中有如下定义: “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”; 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统…

SpringCloud 超详细个人笔记

文章目录SpringCloud1、常见面试题2、微服务概述2.1、什么是微服务2.2、微服务和微服务架构2.3、微服务优缺点2.4、微服务技术栈有哪些?2.5、为什么选择SpringCloud 作为微服务架构2.5.1、选型依据2.5.2、当前各大IT公司用的微服务架构有哪些?2.5.3、各微…

oracle的存储设置默认参数,oracle初始化参数设置

该Oracle教程将告诉诸位学习Oracle的朋友:oracle初始化参数设置。 ALTER DATABASE DATAFILEd:\ORANT\DATABASE\USER1ORCL.ORA RESIZE 1000M;CREATE TABLESPACE INDEX_DATA DATAFILEd:\ORANT\DATABASE\INDEX_DATA SIZE 500M;ALTER DATABASE DATAFILEd:\ORANT\DATABAS…

oracle server process,Oracle体系结构及备份(四)server-process

一 什么是服务器进程 除了 Oracle 的后台进程外,还有一些进程是代表用户的,称为服务器进程。这些服务器进程负责按照用户的要求检索数据,并将结果返回给用户。此外,还负责为用户修改缓冲区高数缓存中的数据。 当用户连接到 Oracle…

潘多拉路由器搭建php,MT7620A 无线路由 极路由 1S 定制版 OPERWRT 潘多拉 中继 营销...

定制版 机器 非原版极路由 1S原版极路由下面连接购买https://item.taobao.com/item.htm?id527531952640这个机器是大客户 定制版 营销路由 硬件和极路由 1S 完全相同,只简化了 SD卡座更换为塑胶外壳可以自己DIY 增加USB 接口和SD卡座电源接口为 MICRO USB接口&…

c 将txt导入oracle,如何把文本数据导入Oracle中?

1、首先,服务器端的侦听服务必须已经开启。测试方法:Dos 下输入C:\>sqlplus username/passwordserviceName2、然后使用 Oracle 的 sqlldr 命令进行数据的导入前期条件1)Oracle 数据库端必须已经建好了需要导入的数据表的结构2)一个数据源文件 下面例子…

linux close 头文件,Linux open close read write lseek函数的使用

我们经常需要在Linux中进行文件操作,今天我就来分享下文件操作用到的一些函数1 open所需头文件:函数原型:int open(const char *pathname,flags,int perms)pathname:被打开的文件名,可包含路径flag :文件打…

mac同步linux文件夹在哪里设置,Linux和Mac上的一些特殊文件将不再同步

近日有用户报告, Mac/Linux上创建的某些文件, 无法成功同步到Windows平台上. 我们对这个问题进行了修正. 这个修正可能会影响到Linux和Mac用户中的极少数, 大概为数百位用户.简单总结: 如果你是Linux和Mac用户, 并且注意到最近”Nutstore”文件夹中存在两个名字类似, 内容完全…

顺序表的实现(头插、尾插、头删、尾删、查找、删除、插入)

目录 一. 数据结构相关概念​ 二、线性表 三、顺序表概念及结构 3.1顺序表一般可以分为: 3.2 接口实现: 四、基本操作实现 4.1顺序表初始化 4.2检查空间,如果满了,进行增容​编辑 4.3顺序表打印 4.4顺序表销毁 4.5顺…

linux系统分区扩展,linux系统扩展根分区容量大小

#查看新增加的磁盘[rootcentos002 ~]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes255 heads, 63 sectors/track, 2610 cylindersUnits cylinders of 16065 * 512 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 5…

linux命令 socket,如何从linux中的命令行向socket.io websocket发送消息?

是否可以使用linux中的命令行向我的localhost服务器(节点)发送socket.io消息?我不确定这是否可行……从稀缺的谷歌搜索结果来看,我猜这不可能或不复杂……我的socket.io代码如下所示:var io require(socket.io);var socket;socket io.listen(server, {…

Linux编译soci库,Soci库linux下的编译方法

Soci库的linux编译方法1、下载soci库源码2、在目标机器上配置数据库环境以oracle为例:(其他数据库只需要简单安装客户端即可)A)下载oracle客户端安装包oracle-instantclient-basic-12.1.0.5-1.i386.rpmoracle-instantclient-devel-12.1.0.5-1.i386.rpmoracle-instan…

为什么有了接口还要增加一层抽象类?

文章目录接口:抽象类:区别:表象:深层次理解:类图使用抽象类前使用抽象类后为什么有了接口还要增加一层抽象类?接口: 接口里的方法和抽象类中的方法一样,它的方法是抽象的&#xff0…

linux iptables 编译,Linux下编译安装iptables

Linux下如何编译安装iptables实例:先卸载系统已经安装的iptables,卸载前需备份三个文档:iptables启动脚本,iptables-config配置文档,以及已经建立好的iptables规则文档[rootlinuxidc ~]# cp /etc/init.d/iptables ~/ip…

【java基础】——java枚举类型基本介绍

枚举enum类型是Java 5新增的特性,它是一种新的类型,允许用常量来表示特定的数据片断,而且全部都以类型安全的形式来表示。 1、常量的使用 在JDK1.5之前,我们定义常量都是:public static fianl…。现在好了&#xff0…

linux密文解密工具,Linux之加密解密工具openssl的用法以及自建CA

在Linux下的安全工具openssl【安全特性】1、保密性:数据保密性、隐私性2、完整性:数据完整性、系统完整性3、可用性4、真实性:确保数据发送方不是被替换的5、可追溯性【安全***】被动***:窃听主动***:伪装、重播、消息…

Windows远程连接的用户名和密码怎么设置?

1、首先,打开A电脑的控制面板,点击系统和安全进入,设置电脑允许远程访问; ] 2、查看A电脑的ip地址,再次打开控制面板,在“网络和Internet”里面点击查看网络状态和任务。 ] 3、在访问类型连接网络里面点…

linux系统date s使用,简述Linux下date命令的使用方法与实例

在Linux环境中,不管是编程还是其他维护,时间是必不可少的,也经常会用到时间的运算,熟练运用date命令来表示自己想要表示的时间,肯定可以给自己的工作带来诸多方便。1.命令格式:date [参数]... [格式]2.命令…