研究文章|开放获取
范戴,陈郝,镇坪羌族Zhihong梁,Bi黄Leiguang王, ”Microservice系统自动分析复杂的交互”,复杂性, 卷。2020年, 文章的ID2128793, 12 页面, 2020年。 https://doi.org/10.1155/2020/2128793
Microservice系统自动分析复杂的交互
文摘
交互在microservice系统是复杂的三维空间:大量的异步交互,异步通信的多样性,无界的缓冲区。这种复杂的交互分析是具有挑战性的。在本文中,我们提出一个方法的交互分析使用模型检查技术,这是支持的流程分析工具包(PAT)工具。首先,我们使用标签转换系统(lts)模型交互行为microservice系统下的发送行为序列同步和异步通信。其次,我们引入一个概念叫做“交互稳健”的正确性,被认为是最小microservice系统要求。第三,我们提出一个编码的lts CSP #过程代数自动验证的属性交互合理性。实验结果表明,我们的方法可以自动、有效地识别交互microservice系统故障。
1。介绍
云计算模式(1- - - - - -3),边缘计算范型(4- - - - - -6使我们能够利用IT资源灵活。这一趋势不仅驱使许多软件系统从整体架构迁移到microservice架构(7),但也吸引了越来越多的研究集中在如何构建“进行”8)应用程序。
Microservice架构(9)可以用来开发一个应用程序由一组microservices。与传统的web服务相比,这些microservices更细粒度,独立开发和部署3]。这些microservice架构的特点尤其适合失去耦合和更新系统运行在云基础设施(10]。
microservice系统的交互是复杂的三维空间:大量的异步交互,异步通信的多样性,无限的缓冲区。首先,执行一个microservice系统可能涉及众多microservices之间的交互。这些交互是异步的,因为大多数同步交互可能会导致停机的乘法效应(11,12]。例如,Netflix的在线服务系统涉及到每天50亿服务调用(13]。这些异步交互执行期间的消息可能会导致意想不到的序列。第二,在点对点的语义,至少有两个异步通信和FIFO缓冲区(14),即点对点通信和邮箱交流。Microservice系统可以实现两个不同的异步通信模型。与邮箱语义相比,p2p语义导致拓扑结构更复杂的交互图。第三,因为microservice系统的缓冲区的大小是不知道先天的,他们的尺寸通常被认为是无限的。Microservice系统与无界缓冲区可能表现出无限的状态空间,这样的系统的可达性问题是不可判定的(15]。
microservice系统交互的复杂性给分析带来的巨大挑战,因为缺失或不当microservices可能导致之间的协调互动的缺点。工业调查的结果(10)表明,交互microservice系统故障是常见的。
虽然有一些论文microservice系统(16),其中大部分是集中在调试(10,11,17- - - - - -19),部署(20.,21),组成(22),建筑(23),和适应24]。然而,很少有研究microservice系统的交互分析。一个基本的、有效的技术分析交互synchronizability microservice系统分析(25- - - - - -27]。系统synchronizable如果它发送操作保持不变的异步通信和同步通信。然而,最近的研究表明synchronizability是不可判定的14]。
在本文中,我们提出一个方法的交互分析使用模型检查技术,这是支持的流程分析工具包(PAT) [28)工具。这种分析方法使我们能够有效和自动识别交互microservice系统的缺点。我们的贡献可以概括如下:(我)我们在microservice模型复杂的交互系统同步和异步通信对等(2)我们引入一个概念叫做“交互稳健”的正确性,被认为是最小microservice系统要求(3)我们自动验证属性交互合理性使用模型检查技术的支持下流程分析工具包(PAT)工具。
此外,我们提出一个编码的lts CSP #进程代数。我们选择CSP #,因为它配备了帕特工具提供了帕特模拟器为状态空间生成和帕特验证者属性验证。特别是,当帕特验证人的回报无效的使用模型检查,它给我们提供了非常有用的反例来修复故障。
本文的其余部分组织如下。部分2讨论相关工作。部分3本文提出了正式的定义中使用。部分4正式定义的交互行为microservice系统同步和点对点的异步通信。部分5引入了一个概念交互合理性和验证属性使用模型检测技术基于CSP #编码。部分6讨论了实现的方法和实验结果。部分7本文总结道。
2。相关工作
已经有一些研究调试microservice系统。在[10),作者进行了一个工业调查显示microservice系统中的三个主要的缺点,即内部故障,交互的缺点,和环境的缺点。在[11,17),作者提出了一个新颖的方法来调试microservice系统。在[18),作者讨论了复杂生活microservice系统的测试策略。在[19),作者提出了一种新的方法来测试每个参与microservice microservice系统的性能。所有这些研究可用于测试microservice系统。然而,我们的工作着重于分析microservice系统交互。
还有其他一些研究microservice系统。在[20.),作者提出了一个建模方法和管理microservice系统的部署成本。在[21),作者讨论了如何提高microservice体系结构的性能。在[22),作者提出了一个集成方法microservices基于关联数据。在[23),作者提出了一个工具用于生成和管理microservice建筑的模型。在[24),作者讨论了如何平衡的粒度microservice架构。然而,所有这些方法不能用来分析microservice系统交互。
我们所知,我们是第一个在microservice分析复杂的交互系统。
3所示。预赛
在本节中,我们提出一些定义中使用。
定义1。(标记为过渡系统)。一个标记转换系统是一个元组LTS= (年代,年代0,F,一个Δ),(我)年代是一组状态(2)年代0
年代的初始状态(3)F
年代是一组最终状态(iv)一个是一组标签吗(v)
是一个过渡的关系为了简单起见,我们使用来表示(r,一个,年代)Δ。
CSP #是一个扩展的CSP(通信顺序进程)29日]。在本文中,我们使用CSP # microservice系统验证。从本质上讲,CPS #是一个正式的方法,集成了基于状态的规范和基于事件的规范。以下是BNF描述# CSP过程的表达式。CSP #的更多细节可以在[30.]。P::=停止在行动|跳过终端|e⟶P前缀|ch !实验⟶P通道输入|ch ?实验⟶P通道输出|P \ X隐藏|P;问顺序组成|P[]X外部选择|PΠX内部的选择|如果b{P}其他的{问}条件选择|[b] P守护进程|P | |问并行组合|P | | | Q交叉|PΔ问打断|裁判(问)过程引用在哪里P和问是过程,e是一个事件,X是一组事件名称(例如,{e1,e2}),b是一个布尔表达式,ch是一个通道,经验值是一个表达式,x是一个变量28]。
线性时态逻辑的语法定义如下。需要的更多细节可以在[29日]。F=e| |提案[]F| < >F|X F|F1 UF2 |F1R F2在哪里e是一个事件,道具是一个预定义的命题,F,F1,F2三个线性时态逻辑,[]表示“总是”< >表示“最终”X表示“接下来,”U表示“之前”R表示“释放”。
4所示。交互行为模型
在本节中,我们介绍一个正式的模型(见图1)在microservice建模复杂的交互系统。在我们的模型中,与无限microservices彼此缓冲异步通信和交互microservice系统可以看作是序列使用消息的发送操作,因为接收行动从缓冲区被认为是当地无形的行为。
图1说明了三个microservices交流女士1,女士2,女士3与消息一个,b,c,d在[的例子8]。每个microservice的初始状态与传入half-arrows下标0和标记。最后的每个microservice标有两圈。每个转换每个microservice贴上发送行动(感叹号)或接收消息行动(问号)。缓冲区在红线和标注我和j,在那里我表示发送方和j表示接收方。例如,缓冲12表示的缓冲女士2这是用于存储传入的消息发送的女士1。注意,每个缓冲区是一个FIFO消息队列。
当我们进一步考虑异步消息传递图1有两种不同的语义,点对点的异步通信,即点对点通信和邮箱通信。在图所示的邮箱交流2要求所有发送的消息女士1从其他microservices(即存储在缓冲区。特定于消息队列)女士1。点对点通信从microservice要求每个发送的消息女士1到另一个microservice女士2存储在一个FIFO缓冲的方式对特定(女士1,女士2)。换句话说,每个参与microservice microservice系统配备了许多从其他microservices为不同的传入消息缓冲区。在本文中,我们关注的点对点通信。
基于上面的分析,我们首先使用有限lts microservices个体的行为模式。然后,我们搬到模型的异步交互行为microservice系统与无限的缓冲区和有界缓冲区(说k)。最后,我们模型的同步交互行为microservice系统基于异步交互行为。
定义2。(消息集)。一个消息集米是一个元组( ,p,src,dst)。(我) 是一组有限的字母(2) 是一个非负整数的数字表示的数量参与microservices吗(3)src和dst函数把消息吗米∈Σ非负整数数字src(米)≠dst(米)∈{1,2,…p}我们经常使用为一个消息米这样src(米)=我和dst(米)=j。
定义3。(microservice)。一个microservice女士是一个标签转换系统(年代,年代0,F,米,δ),(我)年代有限集的状态吗(2)年代0的初始状态(3)F⊆年代是最终状态的有限集合(iv)米是一个消息集(v)δ⊆年代×(米∪{ε})×年代是过渡关系一个过渡τ∈δ可以有下列三种类型之一:(1)send-transition (年代1, ,年代2microservice)表示女士1发送一个消息到另一个microservice女士2在哪里∈米(2)receive-transition (年代1, ,年代2microservice)表示女士1使用一个消息在哪里∈米(3)一个ε过渡(年代1,ε,年代2),表示的无形的作用女士1我们经常使用来表示,年代我,! ,年代j)。
4.1。Microservice系统的异步交互行为
定义4。(异步交互行为与无界microservice系统缓冲区)。异步交互行为与无界microservice系统缓冲区在一组microservices (女士1,女士2、…女士n),女士我= (年代我,年代0我,F我,米我,δ我),米我= (
,p我,src我,dst我),用一个标签系统过渡B一个= (C,c0,F,米,
)(可能的无限状态)(我)C⊆问1×年代1×问2×年代2…问n×年代n组等州吗∀我∈{1,2n、…}:问我= (缓冲霁),∀j∈{1,2,…n}∧我≠j∧缓冲霁⊆(米j)。(2)c0∈C初始状态,这样吗c0= (c01,
,c02,…,
c0n),c0我=女士我·年代0我。(3)F⊆C最终状态的集合,这样吗∀f∈F=(f1,
f2,…,
fn),f我∈女士我F·我。(iv)米=
的消息吗。(v)Δ⊆C×(米∪{ε})×C为c= (问1,年代1,问2,年代2、…问n,年代n),c′= (问′1,年代′1,问′2,年代′2、…问′n,年代′n)。(一)
∈如果∃我,j∈{1,2n、…}:米∈米:(我)src(米)=我∧dst(米)=j,(2)
∈δ我,(3)∀k∈{1,2n、…}:k≠我⟹年代”k=年代k,(iv)∀k∈{1,2,…n}∧k=我⟹缓冲kj=缓冲kj米,(v)∀k, l∈{1,2,…n}∧k≠我∧l≠j∧k≠l⟹缓冲吉隆坡′=缓冲吉隆坡。(发送操作](b)
∈Δ如果∃我,j∈{1,2,…n}∧米∈米:(我)src(米)=我∧dst(米)=j,(2)
∈δj,(3)∀k∈{1,2,…n}:k≠j⟹=年代k,(iv)∀k∈{1,2,…n}∧k=我⟹缓冲kj′=mbufferkj,(v)∀k, l∈{1,2,…n}k≠我∧l≠j∧k≠l⟹缓冲吉隆坡′=缓冲吉隆坡。(接收操作](c)
∈Δ如果∃我,j∈{1,2,…n}:(我)
∈δ我,(2)∀k∈{1,2,…n}:k≠我⟹=年代k,(3)∀k∈{1,2,…n}:=问k。(内部的行动]根据定义4,microservices无界缓冲区参与microservice系统可以相互作用下对等语义。美国(C)组成的复合服务nmicroservices被每个microservice的本地状态及其各自的缓冲区。每个microservicen−1无界的缓冲区。当女士1发送一条消息米来女士2,消息将被插入的尾巴缓冲12这是特定于对(女士1,女士2),然后女士2可以使用此消息的头吗缓冲12。发送动作(4项)阻塞和包括发送者,一个接收器,接收器的缓冲区。在发送方女士我发送一条消息米的接收机女士j,发送方的状态改变(4 a-ii),消息将被插入的尾巴缓冲ij这是特定于对(女士我,女士j4)(iv)和其他缓冲不改变(4动)。接收消息行动(项目4 b)阻塞和地方,其中包括只有一个接收器。收到消息后执行操作,消息接收者的状态改变(4 b-ii)消息的接收方的缓冲区是消耗(4 b-ii),和其他缓冲不改变(4 b对)。epsilon-labeled过渡(项目4 c)是内部操作和microservice可以改变当地的状态。
此外,如果我们设置问我= (缓冲我)在定义和其他保持不变4异步通信的语义发生变化,邮箱交流。因此,邮箱交流是点对点通信的一种特殊情况。
microservice系统的交互行为不仅取决于发送操作执行的顺序也是每个microservice的缓冲区的大小31日]。当缓冲区无界,交互行为可能是无限的。
我们定义的异步交互行为microservice系统有界缓冲区后,在每个参与microservice缓冲区的大小k。
定义5(异步交互行为microservice系统缓冲区的大小k)。的异步交互行为microservice系统缓冲区的大小k用标记的过渡系统
增加条件(a)和描述的定义4包括条件问j= (问1,问j−1,问j+ 1、…问n):|问j| <k,|问我| microservice表示缓冲区的长度女士我。
microservice系统缓冲区的大小k,发送如果接收器的缓冲区包含行动受阻k消息。因此,microservice系统的交互行为的缓冲区大小k是有限的。
图3(一个)说明了异步交互行为的microservice系统缓冲区的大小2如图1在点对点通信。初始状态是用c0= (([][]),年代01([][]),年代02([][]),年代03)(即。,e一个ch microservice is in its initial state and all the buffers are empty). After女士1发送消息一个到缓冲12的女士2,系统的发展c0来c1和缓冲12包含一个。然后,女士2使用“匹配”的消息一个在它的头缓冲12,系统的发展c1来c3,和消息一个被删除的缓冲12。
图3 (b)说明了异步交互行为的microservice系统缓冲区的大小2如图1在邮箱交流。初始状态是c0= (([][]),年代01([][]),年代02([][]),年代03),最终的状态c10。
(一)
(b)
4.2。Microservice系统的同步交互行为
在同步通信,每个发送操作执行之后接收行动,即。,microservices同步交互。似乎每个microservice microservice系统缓冲区的大小为0。
定义6。(microservices系统的同步行为)。microservices系统的同步行为一组microservices (女士1,女士2、…女士n),女士我=女士我= (年代我,年代0我,F我,米我,δ我),米我=(Σ我,p我,src我,dst我),用一个标签系统过渡B年代= (C,c0,F,米Δ),(我) 设置的状态吗。(2)c0∈C是初始状态。(3)F⊆C是最终状态的集合,这样∀吗f∈F=(f1,f2、…fn),f我∈女士我·F我。(iv)米= 的消息吗。(v)Δ⊆C×(米∪{ε})×C为c= (年代1,年代2、…年代n), 。(一) ∈Δ如果∃我,j∈{1,2,…n}∧米∈米:(我)src(米)=我∧dst(米)=j,(2) ∈δ我,(3) ∈δj,(iv)∀k∈{1,2,…n}:k≠我∧k≠j⟹=年代k。(同步收发转换操作](b) ∈Δ如果∃我,j∈{1,2,…n}:(我) ∈δ我,(2)∀k∈{1,2,…n}:k≠我⟹=年代k,(内部的行动]图4说明了同步行为microservice系统图所示1。系统的行为转变 ,紧随其后的是 ,紧随其后的是 ,,紧随其后的是 。
5。交互Soundness-Based验证
鉴于microservice系统,一个重要的问题是检查的交互行为是否正确。在本文中,我们检查microservice系统的交互行为是否满足最低要求使用模型检查技术的正确性。整个过程包括以下三个步骤:(1)我们引入一个概念叫做“互动稳健”的正确性,被认为是最小microservice系统要求(2)我们提出一个编码CSP #过程的交互行为(3)我们将属性交互合理性转化为线性时态逻辑,这样我们可以验证这个属性使用模型检查技术的支持下拍验证器。
5.1。交互合理性
让我们进一步分析的异步交互行为microservice系统缓冲区的大小2如图3(一个)。当系统沿着microservice的执行序列发送和接收的行为由一个红色圆圈所示虚线,终止状态c17这表示,每个参与microservice达到相应的最终状态,但消息队列缓冲12的女士1和消息队列缓冲21的女士2不是空的。换句话说,有一个互动的过错导致的消息和不正确地使用。
在图5,我们将系统的快照c17。有两个消息在缓冲12的女士1和一个消息在缓冲21的女士2。
基于上述分析,我们使用交互的正确性标准作为任何microservice系统应该满足的最低要求。特别是,要求描述如下。
在任何情况下,microservice系统将最终终止和终止时刻系统终止状态是最终的状态。
定义7。(互动状况下同步通信)。microservice系统B年代= (米,C,F,c0Δ)交互合理性下同步通信当且仅当满足以下条件。
对于每一个国家c从初始状态可及c0序列从状态,存在一个过渡c一个最终状态cx。在形式上,
定义8。(交互稳健的异步通信或k-bounded异步通信)。microservice系统B一个= (米,C,F,c0Δ)或
交互合理性在无界的异步通信或k-bounded异步通信当且仅当满足以下条件。
对于每一个国家c从初始状态可及c0序列从状态,存在一个过渡c一个最终状态cx。在形式上,
定义的区别7和8前描述的是美国在当地参与microservices状态方面,而后者的状态描述的地方参与microservices和各自的缓冲区。
5.2。CPS # Microservice的行为系统的编码
我们首先讨论如何编码的异步交互行为microservice系统作为一个CSP #过程。然后,我们讨论如何编码的同步交互行为。
CSP #过程编码microservice系统的异步交互行为主要包括以下三个步骤:(1)编码的转换在CSP #每个microservice事件。例如,send-transition (年代1, ,年代2)是编码为一个事件! m和receive-transition (年代1, ,年代2)是编码为一个事件?。(2)邻近转换编码的顺序是在CSP #作为前缀或外部执行的选择。例如,microservice顺序女士1执行转换图1是 ,紧随其后的是和可编码为! - > ! - > !b- > Skip without considering buffers.(3)编码点对点的异步通信。在CSP #,通道可以用来编码一个缓冲区。因为每个缓冲区是特定于一对(发送方、接收方)在点对点的异步通信,我们使用过程缓冲ij!米⟶表示发送方女士我发送消息米到缓冲ij的接收机女士j。相反,我们使用过程缓冲ij(x= =米]?米⟶表示接收女士j消耗的消息米从它的缓冲ij,表达式(x= =米是用来检查是否元素缓冲ij匹配的信息m。
给定一个microservice系统B一个= (米,C,F,c0Δ)一组microservices {女士1,女士2、…女士n},我们用算法生成CSP #过程1。
|
||||||||||||||||||||||||||||||||||||||||||
函数gen_buffers生成的所有缓冲区microservice系统:
函数gen_message_variable生成消息变量在microservice系统:
函数跟踪()获得一组序列发送和接收消息的路径从初始状态年代0: 的函数排序(σ我)类型的消息路径的执行顺序。
为一个消息 ,函数行动( )=米表示消息和函数类型( )= !表示消息类型。
让米,n,p分别microservices的数量,数量最大的痕迹,马克斯的消息数量在一根树枝上。最坏时间复杂度的算法1是(米 n p)。
例1。microservice系统缓冲区的大小2所示图3CSP #过程如下所示:/ / / / / / / / / / / / / / / /缓冲区/ / / / / / / / / / / / / / / / / /通道缓冲122;通道缓冲132;通道缓冲212;通道缓冲232;通道缓冲31日2;通道缓冲322;/ / / / / / / / / / / / / / / /信息/ / / / / / / / / / / / / / / / / /var一个= 1;varb= 2;varc= 3;vard= 4;/ / / / / / / / / /每个参与的过程microservice / / / / / / /PMS1()=缓冲12!一个⟶缓冲12!一个⟶缓冲13!b⟶跳过;P一份()=缓冲12? 1⟶buffer12 ? 1⟶buffer32 ? 3⟶跳过[]缓冲323⟶吗?缓冲21!d⟶跳过;PMS3()=缓冲132⟶吗?缓冲32!c⟶跳过;/ / / / / /一个异步的过程交互行为microservice系统的/ / / / / /系统()=PMS1()| | |P一份()| | |PMS3()。因为同步通信是异步通信的一种特殊情况(即。,the size of buffer is set to 0), the CSP# process of a synchronous behavior can be generated by using Algorithm1除了设置的大小缓冲ij是0。
5.3。线性时态逻辑的交互合理性
后生成算法CSP # microservice系统使用的过程1,我们可以生成CSP #过程的状态空间使用帕特模拟器使用PAT校验和验证时序逻辑属性。因此,我们需要翻译的定义7和8成线性时态逻辑。
同步通信下的属性交互合理性可以定义如下: 在哪里初始化表示系统的初始状态,终止表示系统的最终状态F表示强烈的公平条件。
异步通信下的属性交互合理性可以定义如下:在哪里cempty通道操作是一个布尔函数来测试是否异步通道是空的吗缓冲ij是对特定频道(女士我,女士j),表示microservice的缓冲区女士j。
例2。microservice系统缓冲区的大小如图33属性的LTL公式交互合理性的定义如下:#定义buf12调用(cempty buffer12) = = true;#定义buf13调用(cempty buffer13) = = true;#定义buf21调用(cempty buffer21) = = true;#定义buf23调用(cempty buffer23) = = true;#定义buf31调用(cempty buffer31) = = true;#定义buf32调用(cempty buffer32) = = true;#维护系统()| = [](“init”- > < >(“终止”& & buf12 & & buf13 & & buf21 & & buf23 & & buf31 & & buf32));
6。实现和实验
6.1。实现
我们的方法是完全自动的。首先,我们实现了一个编码器,以microservice系统作为输入和输出相应的CSP #过程。第二,一旦CSP #过程获得,我们可以生成的异步交互行为的状态空间microservice系统使用中定义一个LTS PAT模拟器。第三,我们验证生成状态空间是否满足使用PAT匹配属性交互稳健。
生成的异步交互行为的microservice系统缓冲区的大小3如图1如图6利用PAT模拟器。验证结果如图7返回无效的,这意味着microservice系统缓冲区大小3有一个互动的错。
6.2。实验
来验证我们的方法,我们使用10例从文献中获得。我们选择这些案例,因为文学的代表。所有病例进行PC 2.50 GHz处理器,8 GB的内存,运行Windows 10。
表1显示了所有的情况下,我们的实验结果。每个案例的数量的表给参与microservices (海量存储系统(MSs)中)参与microservice系统中,信息的数量(米的大小,LTS microservice系统(同步交互行为的B年代)、同步通信下的验证结果(红外一个)(“−”表示系统不是互动的声音,“+”表示系统交互的声音),LTS的大小的异步交互行为microservice系统缓冲区的大小k( ),和验证结果k-bounded异步通信(红外年代)。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
表中给出的10例1,7例可交互的声音在同步通信,例如,看到情况下Ca-02, Ca-03, Ca-04, Ca-06, Ca-07 Ca-08, Ca-10。在7例,microservice系统缓冲区大小3不是互动的声音,例如,看到情况下Ca-01, Ca-02, Ca-03, Ca-05, Ca-06 Ca-09, Ca-10。
从表1进一步,我们可以看到,(1)在每种情况下,异步交互行为的LTS microservice系统比的同步交互行为,即。异步交互行为是更复杂的比同步交互行为;(2)异步交互行为的一些microservice系统是稳定的,即,once the size of the LTS of the asynchronous interaction behavior remains unchanged for a buffer bound, e.g., see cases Ca-04, Ca-07, Ca-08, Ca-09, and Ca-10. This property on the system is called stable which is proposed in [40];(3)当一些microservice系统缓冲区大小1互动的声音,但这并不意味着系统缓冲区的大小k(k> 1)也互动声音,例如,看到Ca-10;(4)在实验中,病例5面临状态空间爆炸问题。“太大”意味着帕特模拟器是被迫停止由于巨大的状态空间大小(> 300个国家)。
7所示。结论和未来的工作
在本文中,我们引入一个正式microservice系统建模复杂的交互模型和验证这些系统是否满足最低要求使用模型检查技术的正确性。我们使用ltl microservice的模型复杂的交互系统同步和异步通信和引入了一个概念叫做“交互稳健”的正确性,被认为是最小microservice系统要求。我们自动验证属性交互稳健的支持下拍的工具。实验表明,许多情况下有交互的缺点。
我们的未来的工作是调查我们的结果是否支持邮箱沟通,例如,每个microservice配备了一个缓冲区,用于存储从其他microservices传入的消息。
数据可用性
使用的数据来支持本研究的结果包括在本文中。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作是支持部分由中国国家自然科学基金项目(批准号61702442和61702442)和云南省应用基础研究项目(批准号2018 fb105)。
引用
- x徐、刘问:y罗et al .,“在大数据计算卸载方法IoT-enabled cloud-edge计算,”未来一代计算机系统卷,95年,第533 - 522页,2019年。视图:出版商的网站|谷歌学术搜索
- l .气y, y元,s .傅张x, x l .徐,“QoS-aware虚拟机节能调度方法在基于云的cyber-physical系统中,“万维网,2019年。视图:出版商的网站|谷歌学术搜索
- x, y雪,l . Qi et al .,“优势computing-enabled计算卸载方法与隐私保护互联网连接的车辆,“未来一代计算机系统卷,96年,第100 - 89页,2019年。视图:出版商的网站|谷歌学术搜索
- 张x, x, h .高,y雪,l . Qi和w·窦”成为:blockchain-enabled计算卸载移动边界计算的物联网,”IEEE工业信息,16卷,不。6,4187 - 4195年,2020页。视图:出版商的网站|谷歌学术搜索
- x, c, z, l .气Wan, a和m . z下榻的饭店”联合优化卸载工具和隐私边缘计算使物联网,”IEEE物联网,p . 2019。视图:出版商的网站|谷歌学术搜索
- 张x, x, y Chen问:刘,刘x,和l .气”blockchain-based计算卸载方法计算5 g网络边缘,”软件:实践和经验,2019年。视图:出版商的网站|谷歌学术搜索
- 诉Heorhiadi s Rajagopalan h . Jamjoom m . k . Reiter诉Sekar,“microservices小鬼:系统的弹性测试,”美国第36届IEEE国际会议在分布式计算系统中,ICDCS奈良,页57 - 66年,日本,2016年6月。视图:谷歌学术搜索
- j·刘易斯和m·福勒”Microservices这个新架构的定义术语,“2014年,http://martinfowler.com/articles/microservices.html。视图:谷歌学术搜索
- a . Balalaie a Heydarnoori, p .卷”Microservices架构使DevOps:迁移到原生云架构,”IEEE软件,33卷,不。3,42-52,2016页。视图:出版商的网站|谷歌学术搜索
- t . x, x Peng谢et al .,“microservice系统的故障分析和调试:工业调查中,指标体系,实证研究,“IEEE软件工程,p . 2018。视图:出版商的网站|谷歌学术搜索
- t . x, x Peng谢et al .,“三角洲调试microservice系统和并行优化,”IEEE服务计算,p . 2019。视图:出版商的网站|谷歌学术搜索
- j·刘易斯和m·福勒”Microservices:这个新架构的定义术语,“2014年,http://martinfowler.com/articles/microservices.html。视图:谷歌学术搜索
- a . Deb“microservices-based应用程序交付服务挑战,”2016年,http://www.thefabricnet.com/application-delivery-servicechallenges-in-microservices-based-applications/。视图:谷歌学术搜索
- f·阿莱和E。Lozes”Synchronizability交流的有限状态机不是可决定的,”学报》第44届国际讨论会自动机,语言和编程ICALP 2017卷,122年,页1 - 14,华沙,波兰,2017年。视图:谷歌学术搜索
- 傅x、t . Bultan和j .苏“Synchronizability web服务之间的谈话,”IEEE软件工程没有,卷。31日。12日,第1055 - 1042页,2005年。视图:出版商的网站|谷歌学术搜索
- t . x, x Peng谢et al .,“海报:基准microservice系统软件工程研究”《软件工程国际会议:同伴诉讼(ICSE 18),页323 - 324,哥德堡,瑞典,2018年。视图:谷歌学术搜索
- t . x, x Peng谢et al .,“δmicroservice调试系统,”美国第33 ACM和IEEE国际会议上自动化的软件工程,页802 - 807,纽约,纽约,美国,2018年。视图:谷歌学术搜索
- g . Schermann d . Schoni p莱特纳,h . c .胆“彩虹桥:支持持续部署自动化实施的多阶段生活测试策略,”第17届国际中间件会议学报》上特兰托,p。12日,意大利,2016年12月。视图:谷歌学术搜索
- a . de Camargo i l . Salvadori r·多斯桑托斯梅洛和f . Siqueira”microservices架构自动化性能测试,”18学报》国际会议信息集成和基于web的应用程序和服务,iiWAS 2016新加坡,页422 - 429年,2016年11月。视图:谷歌学术搜索
- p .莱特纳,j .急速地和e . Stockli”造型microservice-based云应用程序的部署和管理成本,”学报》第九届国际会议上效用和云计算,UCC 2016,第174 - 165页,上海,中国,2016年12月。视图:谷歌学术搜索
- Klock纽约,j·m·e·m·范德·沃夫j . p . Guelen和s·詹森,“工作负载集群microservice架构的相干特性集”学报2017年IEEE国际会议软件架构,ICSA 2017,页11日至20日,哥德堡,瑞典,2017年4月。视图:谷歌学术搜索
- i . l . Salvadori a .霍夫r·多斯桑托斯梅洛和f . Siqueira“发布关联数据通过语义microservices成分,”18学报》国际会议信息集成和基于web的应用程序和服务,iiWAS 2016新加坡,页443 - 452年,2016年11月。视图:谷歌学术搜索
- g . Granchelli m . Cardarelli p·d·弗朗西斯科·Malavolta, l . Iovino和公元s Microart“软件架构维护microservice-based系统恢复工具,”学报2017年IEEE国际会议软件架构研讨会、ICSA车间2017,页298 - 302,哥德堡,瑞典,2017年4月。视图:谷歌学术搜索
- 哈桑和r . Bahsoon“Microservices及其设计权衡:一个自适应的路线图,”学报2016年IEEE国际会议服务计算、鳞状细胞癌2016,页813 - 818年,旧金山,美国,2016年6月。视图:谷歌学术搜索
- 巴苏和t . Bultan“编排一致性通过synchronizability”20国际会议的程序在万维网上,页795 - 804,海得拉巴,印度,2011年3月。视图:谷歌学术搜索
- 美国巴苏,t . Bultan和m . Ouederni”Synchronizability异步通信系统的验证,”学报》国际研讨会上验证,模型检查和抽象的解释长岛,页56 - 71,纽约,美国,2012年。视图:谷歌学术搜索
- 巴苏和t . Bultan”决定synchronizability异步通信系统”理论计算机科学卷。656年,60 - 75、2016页。视图:出版商的网站|谷歌学术搜索
- 刘j .太阳,y, j .董”模型检查CSP的再现:引入过程分析工具包,”学报2008年国际研讨会上利用应用程序的正式方法,验证和确认波尔图,页307 - 322,萨尼,希腊,2008。视图:谷歌学术搜索
- 董j . j .太阳y . Liu, c .陈”整合为系统建模和验证规范和程序,”诉讼第三IEEE理论方面的软件工程国际研讨会(家常便饭的2009)天津,页127 - 135年,中国,2009年7月。视图:谷歌学术搜索
- c·a·r·霍尔“通信顺序进程。”国际系列计算机科学美国,新世纪,上台北,1985年。视图:谷歌学术搜索
- 美国巴苏,t . Bultan和m . Ouederni“决定编排现实性,”ACM SIGPLAN通知卷,47号1,第202 - 191页,2012。视图:出版商的网站|谷歌学术搜索
- 傅x、t . Bultan和j .苏”对话协议:规范和验证活性电子服务的形式主义,”理论计算机科学,卷328,不。1 - 2,19-37,2004页。视图:出版商的网站|谷歌学术搜索
- p . Poizat“检查BPMN 2.0编排的可实现性,”学报2012年ACM研讨会上应用计算ACM,页1927 - 1934年,特兰托,意大利,2012年3月。视图:谷歌学术搜索
- g . Salaun t Bultan, n . Roohi“现实性的编排使用代数编码过程,”IEEE服务计算,5卷,不。3、290 - 304年,2012页。视图:出版商的网站|谷歌学术搜索
- t . Bultan“建模交互的网络软件,”《2006年国际研讨会自动化网络系统的规范和验证页,45-52 IEEE,帕福斯,塞浦路斯,2006年11月。视图:谷歌学术搜索
- m . Gudemann g . Salaun和m . Ouederni”反例指导合成的现实性监测执法。”自动化技术进行验证和分析卷,7561年,第253 - 238页,2012年。视图:出版商的网站|谷歌学术搜索
- m . Ouederni g . Salaun, t . Bultan“兼容性检查异步通信软件,”正式的软件组件施普林格,柏林,德国,2013年。视图:谷歌学术搜索
- 德克和g m . Weske“本地可执行性交互佩特里网,”第五届国际会议上业务流程管理学报》上,页305 - 319,布里斯班,澳大利亚,2007年9月。视图:谷歌学术搜索
- t . Bultan f·克里斯,f,“使用协作图编排分析的工具,”第七届IEEE国际会议程序的Web服务(ICWS 2009)洛杉矶,页856 - 863,美国2009年7月。视图:谷歌学术搜索
- 巴苏和t . Bultan“自动验证异步交互的系统与无限的缓冲区,”学报》第29届ACM和IEEE国际会议自动化软件工程14日月光半导体”Vsters,页743 - 754年,瑞典,2014年9月。视图:出版商的网站|谷歌学术搜索
版权
版权©2020范戴等。这是一个开放分布式下文章知识共享归属许可,它允许无限制的使用、分配和复制在任何媒介,提供最初的工作是正确引用。