为保证单条服务链能合理执行,必须对任务的处理顺序进行约束,即在同一
条链上,调用顺序靠后的服务必须在它的前继服务完工后才能执行,约束如下:
bi,j+1-bi,j≥ri,j
(4)
其中,b
i,j+1
为链 i 上依赖于服务 j 的服务 j+1 的开始时间。
用 Zi,j,p 来 表 示 链 i 上 的 服 务 j 是 否 在 物 理 节 点 p 上 处 理 。 如 果 是 ,则
Zi,j,p=1;反之,则取 Zi,j,p=0。为保证在同一时刻有且仅有一个服务能够在物理
节点 p 上运行,设计以下约束:
Zi,j,p=Zv,w,p=1, bv,w-bi,j≥ri,j
(5)
该约束表示链 i 上的服务 j 和链 v 上的服务 w 都需要在物理节点 p 上处理
时,服务 w 的开始时间要大于等于服务 j 的结束时间。
1.2 资源利用率模 型
在集群物理资源有限的情况下,应尽可能最大化的利用物理资源。定义矩
阵 A 来表示链和服务之间的关系:
A=(ac,m)C×M
(6)
其中,C 是微服务链的总数,M 是微服务类型总数。 ac,m∈{0,1}, ac,m 取 0
时表示微服务链 c 没有穿过微服务 m,反之取 1。
应 用 的 特 征 表 示 为 <Gset,Grelation>, 其 中 Gset 是 应 用 程 序 的 微 服 务
集; Grelation 是服务之间的消费关系集。当一个微服务需要其他微服务生成的
结果时,将建立消费关系,表示为 (mcons,mprov)∈Grelation。矩阵 S 表示微服
务节点上的资源分配情况:
S=(sc,m)C×M
(7)
其中, sc,m 表示链 c 上服务 m 所需要的资源数。
每个物理节点所拥有的资源数量用 I
m
表示,则总资源数 I 可以表示为
I=∑m=1MIm
(8)
评论0
最新资源