2024年4月1日发(作者:)
2019
年
8
月
计算机工程与设计
COMPUTER
ENGINEERING
AND
DESIGN
Aug.
2019
第
40
卷
第
8
期
Vl
40
No.
8
轻
量
级
C++
微服务框
架
的设计
唐稳
,
刘艳辉
(
华北计算技术研究所
应用支撑技术研发部
,
北京
100083
)
摘
要
:
为满足高实时
、
低延迟软件系统的上云要求
!
设计轻量级
C++
微服务框架
。基于插件技术!
设计服务治理插件
堆栈
、
运行支撑中间件插件集
、
微服务插件动态组装等技术机制
!
设计
C++
微服务之间的
RPC
交互接口
!
支持微服务治
理能力的灵活裁剪和增加
!
支持运行支撑中间件的动态接入
。
从
RPC
吞吐率
、
响应时间等方面
!
与业界主流微服务框架进
行性能对比测试与分析
!
该方法表现出明显的性能优势
。
关键词
:
微服务框架
;
PaaS
云平台
;
远程过程调用
;
插件
;
服务治理
;
运行支撑中间件
中图法分类号
:
TP311.1
文献标识号
:
A
文章编号
:
1000-7024
(
2019
)
08239606
doi
:
10.
16208/j.
issnl
000-7024.
2019.
08.
049
Design
of
lightweight
C++
microservices
framework
TANG
Wen
,
LIU
Yan-hui
(Research
and
Development
Department
of
Applied
Support
Technology,
North
China
Institute
of
Computing
Technology,
Beijing
100083,
China)
Abstract
:
To
meet
the
requirements
of
cloud
computing
in
high
real-time
and
low
latency
software
systems,
lightweight
C+
+
nplug-intechnology
&
Cervicemanagementplug-inCtack
&
runningCupportmiddle-
ware
plug-in
set,
microservices
plug-in
dynamic
assembly
and
other
technical
mechanism
were
designed,
and
RPC
interaction
in
terface
between
C+
+
microservices
was
also
designed.
Flexible
cutting
and
increasing
of
micro
service
governance
capability
was
supported.
Dynamic
accession
of
runtime
support
middleware
was
supported.
The
performance
comparison
test
and
analysis
were
carriedou@wih@hemains@ream
microservicesframeworkof@heindus@ryfrom@heperspecivesofRPC@hroughpu@
response
time
&
and
so
on.
The
results
show
obvious
performance
advantages.
Key
words
:
microservices
framework
;
PaaS
cloud
platform
;
RPC
;
plug-in
;
service
management
;
running
support
middleware
6
引言
作为微服务的支撑平台
,
微服务框架主要解决微服务
它组件集成的机制和方法
,
目前对此类框架没有明确定义
,
在本文中我们称之为轻量级微服务框架
。
上述轻量级微服务框架主要面向互联网应用和企业应
开发与测试
、
微服务
RPC
交互
、
微服务治理及微服务运行
支撑等方面的问题
,
可极大降低微服务应用的开发
、
设计
、
测试和运维管理成本
,
例如
Spring
Cloud
[1
]
就是一个完整的
用
,
一般不适合用在仿真训练等领域
。
在这些领域
,
业界
大多采用
C+
+
语言进行开发
,
这是因为作为一种编译型
语言
,
C+
+
比
Java
、
Scala
等解释型语言具有更好的运行
效率
,
可以提供更高的性能
,
从而满足高实时
、
低延迟等
特性
。
目前业界尚无支持
C+
+
语言的轻量级微服务框架
,
微服务框架
。
由于微服务架构的复杂性,
很多微服务框架并没有提
供完整的支撑平台
。
例如阿里的
Dubbo也和华为的
CSE
(
cloud
service
engine
)
3
。
此外
,
还有一些微服务框架仅提
供了微服务在一个进程内的开发与集成框架
,
一般只支持
所以
,
为了支持此类系统的微服务集成
,
本文提出了一种
基于
C++
语言的轻量级微服务框架设计方案
。
一种开发语言
,例如
NutzBoot
、
RedKale
等开源项目支持
Java
语言
,
Lmkerd
开源项目支持
Scala
语言这类框架
1
研究背景
1.1
微服务架构
旨在降低微服务的开发成本
,
并提供了与PaaS
云平台的其
收稿日期
:
20180814
;
修订日期:
2018-0917
微服务架构是相对于单块
(
Monolithic"
架构提出的
作者简介
:
唐稳
(
974-
)
,
男
,
湖南长沙人
,
硕士
,
高级工程师
,
研究方向为云平台
、
软件中间件
;
刘艳辉
(
1972
-
)
,
女
,
河北秦皇岛
人
,
硕士
,
高级
工
程师
,研究方向为软件中间件
’
:
wentang9880@
第
40
卷第
8
期
唐稳
,
刘艳辉
:
轻量级
C++
微月艮务框架的设计
、
、
分
布
・
2397
・
服务
的能力
。
C++
微服
j
务插件|
新架构模式
。
其定义请参照
Martin
Fowler
的文献
[
6
)
。
微
服务架构能够解决单体式应用维护升级困难
、
设计开发成
本高
、
软件耦合度高等一系列问题
,
是分解复杂应用的一
C++
微服
务插件
种全新架构
。
1.
2
平台即服
务
(
platform-as-a-service
,
PaaS
)
PuS
指的是将软件研发和运行的平台作为一种基础服
轻量级
C++
微服务框架
RPC
API
接
口
服务治理插件堆栈
运行支撑中间件
API
接口
插件集成
API
接口
务提交用户
,
可以看成是组件和中间件层面的服务封装
。
运行支撑中间件插件集
其优势在文献中有详细介绍
。
1.3
微服
务框架与
PaaS
云平台
为了支持微服务架构
,
PuS
云平台通常集成了微服务
框架
,
例如
CloudwareHub
()
。
总的来看
,
在
PaaS
云平
台中
,
微服务框架具有如下能力
。
(
1
)
持续集成和持续交付支撑
,
实现自动构建
、
部署
、
配置
、
测试和运行微服务
,
通常需要提供自动化运行的脚
本
,
并与终端集成开发环境结合
。
(2
)
远程过程调用
(
remote
procedure
call
,
RPC
)
支
持
(
0
)
,
包含同步
、
异步的
RPC
调用与提供
,
包括
HTTP
、
TCP
等多种传输协议的支持
。
(3
)
服务治理
,
包含服务注册发现
、
服务负载均衡
、
服务弹性伸缩
、
服务故障切换
、
服务路由
、
服务流程编排
、
服务安全
、
服务监控
、
服务调用链跟踪等方面
*
(
1
)
。
(4)
运行支撑
,
包含日志中间件
、
消息中间件
、
分布
式缓存中间件
、
关系型数据库
/NoSQL
数据库访问中间件
服务
。
1.4
轻量级
C++
微服务框架
本文设计的轻量级
C++
微服务框架是一个功能可扩
展
、
可裁剪的微服务运行本地进程容器
,
可被很多
PaS
云
成
,
要
括
能力
。
(1
)
为微服务之间的交互提供适配多种传输协议的
、
多种请求模式共存的一体化
C++RPC
调用框架
。
(
2
)
在进行
RPC
交互时
,
可以按需动态接入
PaaS
云
平台中服务治理的相关服务
,
尽量以透明的方式提供给上
C++
服务
。
3
)
以
需
态
PaaS
的
撑
,
以
C++API
的方
服务调用
。
(4
)
可以按需在一个进程内集成一个或多个
C++
微
服务
,
实现
C++
微服务的动态柔性组装
。
2
框架设计
如图
】所示
,
轻量级
C++
微服务框架采用了基于插
件技术的设计方法
,
由
4
个部分组成
。
其中插件框架提供
了
C++
插件集成基础环境
。服务治理代理堆栈包括一组
代理插件
,
当微服务之间进行
RPC
交互时
,
代理堆栈可透
明
访
PaaS
的服务
理
服务的能力
。
行支撑中间件插件集包括一系列代理插件
,
以
C++
API
的方
为
C+
+
服务
了
访
PaaS
的
插件框架
服务注册
加解密调用链
消息收发
/
发现
/
访问控制
/
运行状态
/
缓存处理
.SZ.
.................
PaaS
7
苹台爻撞服务
XZ
/
数据访问
治理服务
.......
汀
...
葛亍爰撑中间件服务
图
1
轻量级
C++
微服务框架设计
2.1
插件框架设计
插件技术的核心在于对程序的框架不进行改变
,
却能
实现对其功能的增加与删除
。
使用公开的插件接口规范,
无论是企业还是个人都能实现所需的功能插件进行事务处
理和管理
,
即能提供真正意义上的开放式和简易式
使用
(
2
)
3
。
C++
微服务框架完全基于插件技术进行设计
,
将服务
治理
、
微服务
RPC
调用
、
运行支撑中间件等方面的能力,
以及业务微服务
均以
插件
的
方式进行封
装
,
从而支持整个
微服务程序
的
动态灵
活组
装
。
插件框架是微服务框架的核心模块
,
其设计参照了
OSGi
规范
,对插件的概念模型进行了规定
,
对插件集成
API
接口
、
插件生命周期模型
、
插件描述文件格式以及插
件目录结构进行了规范
。
插件框架完全基于
C++
语言实
,
并
了
C++API
。
(
1
)
插
概
模
。
2
,
插
定
了
个
3
层概念模型来描述一个插件对外可见的部分
:
插件
、
服务
,
其
插
插
模 ,
C++
动态连接库或者可执行程序
。服务表示了插件在运行
过程中动态产生的一个
C++
对象
,
同一个插件可以创建
多
服务
。
了其
插
访
服务
的
,
常
一个
C++
抽象类指针
,
一个服务可以提供多个接口。
在
插件框架下,
服务提供者通常基于名称注册自己的服务接
口,
服务消费者发现某个名称的服务接口,
并调用该接口
访
服务
。
(2
)
插件
API
接口
。
包括两个部分
,
插件需要实现的
通用
C++
API
接口
,
包括了插件初始化和结束化接口
。
插件框架实现的插件集成
C+
+
API
接口
,
包括了插件查
找、
插件解析
、
插件状态获取
、
服务注册
、
服务查找
、服
务注销
、
内存申请
、
内存释放等接口
。
(3
)
插件生命周期模型
。
包括了插件安装
、解析、
加
・
2398
・
计算机工程与设计
(5
)
插件目录
。
插
2019
年
规定
,
一个插
常包
、
插
含了
bin
、
log
、
res
、
config
、
manifest
子文件夹
,
分别存放
插件二进制
其
库
、
插
、
插件配置
以及插
述
。
2.2
服
务治
理插件堆栈设计
微服务治理能力包括了服务注册发现
、
服务负载均衡
、
服务路由
、
服务安全
、
服务监控等功能
。
RPC
交互时
&
这些功能中的
服务
进
分需要被调用,
以
:
图
2
插件框架设计
的治理行为
。
为了降低
C++
微服务的开发成本
&
这
些功能由
自动调用
,
服务
透
明。
不同微服务对治
有的微服务可能需要
载
、激活、运行
、
关闭
、
卸载等阶段
,
插件框架基于该生
期模型对插
精
理能力的需要可能不同
,
私有
対
管理
。
协议的
&
需要
。
服务配置
析能力,
(4
)
插件描述文件格式
。
基于键值对模型
,
对插件的
有的微服务需要
据加解密能力等
,
框架需要支持治
名称
、
厂商
、
版本
、
插
述
,
便于插件
析
。
见表
I
-
理能力的
灵活裁剪
框架对插
管理
,
对插
设计了服务治理插件堆栈
,
由一系列治理插件和
据
插
组成
,
每
理插件均
方面
的
理能力
,
服务发
插
、
均衡插
、
服务监
表
1
插件描述文件示意
Manifest-
V
ersion
:
1.
0
Bundle-Name
:
xxService
控插件
、
数据
密插件
、
调度插
。
为了以
:
的方式管理
,
所有治理插件均实现
RPCC
+
+
API
接口,
Bundie-SymbolicName
:
xx. xx.
xxService
Bundle-Version
1.0.0
以在不修改的前
,
根据配置灵活地增加或
-
理能力
,
据
插
了整
良好的可扩展性
有协
维护性
。
插
Bundle-Vendor
xx
Bundle-Copyright
:
版权所有
(
c
)
20182019,
xx
公
司
Bundle
Activator
:
xx_Bundle_
Activator
;
library
=xxSo
由一组数据
插件组成
,
包括
HT
-
TP
插
、
TCP
插
、
UDP
插
以
Bund:e-RunLeve:
5
Bund:e-LazyStart
fa:se
应用可以根据
质量
、
性能
、
服务间互操作性等方
面的要求确定需使用的
插件
。
Require-Bundle
:
yy.
yy.
yyService,
zz.
zz.
zzService
如图
3
所示&以两个微服务之间的
RPC
交互为例
,
说
明微服务治理插件堆栈的工作原理。
服务调用者实例
A1
服务提供者实例
Bl
C++
微服务插件
A
RPC
C++
API
接
口
服务发现插件
负载均衡插件
C++
微服务插件
B
[PC
6++
API
接
口
上
I
访问肃
y
插件
HE
服
务
治
理
插
件
堆
栈
数据加解密插件
服务监控插件
传输调度插件
HTTP
插件
数据传输插件集
TCP
数据传输插件集
插件
HTTP
插件
TCP
插件
服务发吗
]
状态上报
、
服务事币
*0
服务注册犬态上报服务事件彳
PaaS
云平台支撑服务
治理服务
图
3
服务治理插件堆栈工作原理
第
40
卷第
8
期
唐稳
,
刘艳辉
:
轻量级
C+
+
微服务框架的设计
2.
3
RPC
C+
+
API
接
口设计
RPCC++API
插
堆
栈
•
2399
-
(I
)
在服务调用方
,
C++
微服务实例
A1
的插件
A
通
过
RPC
接口发起一次向微服务
B
的基于
TCP
协议的
RPC
服务
RPC
调
用,
发出调
用
请求
R
。
(D)
A1
的服务发现插件拦截到请求
R,
插件与
PaaS
访问的
API
接口
,为了保证服务治理插件
栈
的动
态组
装,
要求所有的治理插件都需要实现该接口
。
RPC
C+
+
API
接口在设计时遵循了两个原则
。
(1
)
支持多种
RPC
请求模式
。
包括同步
、
异步
、
投递
云平台支撑服务
的
注册发现服务联系
,
获取
到
微服务
B
集
群的所有实例信息以及负载均衡策略信息
,
将这些信息补
充到请求
R
中
。
3
种模式
,分别提供请求的高可靠
、
实时和高实时
Qos
(传
(3)
A1
的负载均衡插件拦截
到
请求
R
,
根据微服务集
群
B
注册的实例信息以及策略
,
选择了服务实例
B1
作为请
输服务质量
)
。
其中同
步模式意味着
RPC
请求方在发送完
请求后阻塞
,直到接收到处理结果
。
异步模式意味着
RPC
求
的接收处理方
,
将微服务实例
B1
的连接方式补充到
请求
R
中
。
(4
)
A1
的数据加密插件拦截
到
请求
R
,
对
RPC
请求
进行加密
,
并将加密的密文替换掉
R
中的原始
RPC
请求
明文
。
(5
)
A1
的服务监控插件拦截到请求
R
,
在
R
中添加相
应的服务调用链信息
,
同时将调用链信息上报
PaaS
云平台
调
用
链监控服务
。
(6
)
A1
的传输调度插件拦截到请求
R
,
从中获取到
B1
的连接方式,
选择数据传输插件集中的
TCP
插件进行请求
R
的
发送
。
(7
)
A1
的
TCP
插件与
B1
的
TCP
插件
取
得联系
,
将
请求
R
发送
到
服务提供者
B1
。
(8
)
B1
的
TCP
插件接收到请求
R
,
并交给传输调度
插件
。
(9
)
B1
的传输调度插件确认接收到了一个完整的
RPC
请求
。
(
10
B1
的
服务
监控插
拦
到
请求
R
,
R
应的
服务调
用
,
同
调
用
PaaS
台调
用
链监控服务
。
(II
)
B1
的
数据加
解密
插
件拦截到
请求
R
,
对
RPC
请
求进行解密
,
并将解密的明文替换掉
R
中的
RPC
请求
密文
。
(12
)
B1
的访问
控制插
件拦截到
请求
R
,
基于
发起调
用
的用户名
、
服务
A
的名称以及
RPC
调用的信息进行权限判
定
,
确认该请求
R
是合法的请求
。
(13
)
B1
的微服务插件
B
最终接收
到
请求
R
,
并进行
处理
。
(14
)
B1
对
R
的处理结果以相同的方式通过服务治理
插件
堆
栈
,
最终
到
达实例
A1
的微服务插件
A
。
可见
,
调
用
请求和应答在微服务框架的服务治
理
插件
堆栈中穿行
,
完
成了
服务发现
、
负载均衡
、
数据加解密
、
服务监控
、
访问控制等一系列治理任务
,
这些治
理
任务
由
微服务框架自动调用相关的插件完成
。
在整个过程中
,
微
服务插件仅调用
RPC
C+
+
API
即可
,
实现了治理服务对
上层微服务的透明化支持
。
请
求
方在发
送完
请
求后阻塞
,
一旦对方确认
收
到该请求即
解除阻塞
,
后面处理结果到达时会以
回
调的方式通知
RPC
请求方
。
投递模式意味着
RPC
请求方在将请求发送到本地
缓冲区
后继续
执行
,
后
面处理结果到
达时
会以
回调
的方式
通知
RPC
请求方
。
可见
,
从并发请求支持方面,
投递优于
异步
,
异步优
于同
步
。
从开发难度方面
,同
步比异步简单
,
异步比投递简单
。
实际开发过程中采用何种模式需要根据
开发人员水平和软件运行技术要求综合考虑
。
(2
)
采用字典类参数传递个性化信息。
在
RPC
所有
C++API
接口函数中均设计一个字典类参数
,
由一组键值
对组成
,
并且可以嵌套
,
键值都可以灵活定义
,
便于框架
向治理插件传递个性化信息
。
例如框架需要将找到的服务
集群信息传递到负载均衡插件
,
需要将调用链信息传递到
传输调度插件等
。
字典类参数可以用相同的数据结构描述
不同类型的信息
,
特别适合于类型不确定的接口定义
,
同
时还具备很强的可扩展性
,
确保了框架能以一致的接口集
成所有的治理插件
。
以异
步
RPC
请
求为例
,
其接口定义见表
2
。
表
D
异步
RPC
请求接口定义
〃异步
RPC
请求
C
接口
virtual
int
_
cdecl
AsynCall
(
char
'
serviceName
&
//
微服务名称
IMemBufReader
*
req
,
//
请求报文
,含内容和长度
Dictionary'
callCtxt,
一
//
字典类参数
,
表示请求上下文
int
timeout
=
1
//
超时
,
单位为毫秒
NntproLevel=
LEVEL
_
EXCHANGE
_
GENERAL
//
请
求优先级
)
=0
;
24
运行支撑中间件插件集设计
运行支撑中间件包括了日志记录
、
状态缓存
、
消息交
换
、
NoSQL
数据库访问等服务
,
其特点是提供
C+
+
API
接口
,
微服务按需调用
。
不同的微服务对运行支撑中间件的需求并不完全相同
,
有的需要
状态
,
有的需要
志记录
。
而且同一类中间件可能存在多个实现
,
例如消息
・
2400
・
计算机工程与设计
务实例基于
C++
语言编写
。
2019
年
中间件就有
Kafka
.
RocketMQ
、
ZeroMQ
等项目
,
其
API
不一定相同。
如图
4所示
&
C++
微服务框架
不同种类
、
不同
RPC同步请求的过程是
:
RPC
同步请求微服务将
的中间件代理程
C++
插
」
一个
1KB
字节的字符串传递给
RPC
请求处理微服务
,
RPC
请求处理微服务
封装
&
为不同的微服务
了一组恰能满足其个性
字符串作为处理
发回给
RPC
同步
需要的
撑
插
。
服务调用者实例
请求微服务
,
RPC同步请求微服务继续
服务均在单线程场景
请求
。
3
组
&
经过多轮测试,
统计吞吐率(每秒
RPC
处理次数)和请求处理响应时间
C++
微服务插件
A
HE
运行支撑中间件
API
接口
日志
API
状态缓存
API
……
运行支撑中间件插件集
日志代理插件
状态缓存代理插件
日志信息状态信息在线消息'
・
NoSQL
数据
」
PaaS
云平台支撑服务
运行支撑中间件服务
日志服务
状态缓存服务
图
4
运行支撑插件集设计
为了支持中间件代理的插件化封装与接入,
需要将代
理程序与插件框架进行适配
。
为了支持代理插件的自动启
动
,
需要动态获取中间件代理的初始化运行参数
,
避免手
工配置这些参数
,提高运维自动化水平
。
(
】
)
与插件框架适配
。
需要基于中间件代理程序已有
API
接口
,
按插
要求
插
用
API
接口的支持
。
此外
,
插件的描述
、
生
期
、
目录
满
足插件框架的集成要求
。
(2)
初始
态获取
。
参数可能包括中间件
代理配置文件以及中间件初始化函数的参数
。在代理插件
前
,
微服务系统需要
注册发现服务注册这些参数
-
理插
&
以直接获取到初始化参数了
。
3
性能实验
为了说明轻量级
C++
微服务框架在性能上优于业界
主流微服务框架&并且满足特定领域的高实时
、
低延迟交
互与处理需求
,
本文基于同步模式与业界主流微服务框架
的
RPC
调用性能进行了对比
。
本文搭建了性能测试环境
,
安装了
Dubbo
微服务框架
、
SpringCloud
微服务框架
、
轻量级
C+
+
微服务框架及相关
的模
服务
。为了保证测试结果的公平性,
3
个框
架及微服务均部署在同样配置计算机的
Docker
容器中
。
针对每个框架均设计一组功能相同的模拟测试微服务
&
每组微服务均包含
RPC
同步请求和RPC
请求处理两个微
服务实仮
-
其中
Dubbo
和
SpringCloud
框架对应的微服务
实例基于
Java
语言编写
&
而
C++
微服务框架对应的微服
(每次
RPC
处理所消耗的时间)
,
取平均值
,
结果见表
3
。
表
3
单线程测试
微服务框架
服务
吞吐
率
请求处理
开
发
语言
/tps
响应时间
/ms
Dubbo
Java
1456
0.6%7
SpringCloud
Java
506
1.976
轻量级
C++
微服务
模
)
C++
2%49
(同
步
0.351
见
&
基于同
&
量
C++
服务
请
求吞吐率和响应时间指标两个方面均优于另外两个框架,
主要原因在于作为编译型语言
,
C+
+
比基于JVM
虚拟机
的解释型语言
Java
的运行效率更高
。
请求处理响应
步分析
,
由于
RPC
请求处理微服务仅仅将请求作为
了返回
,
请
求处理
为
0
&
以
以
为
的请求处理响应
仅仅包括了数据传输和路由分派的时间
。
训练
、
控制系统所能
的请求响应时
间在几毫秒到几十毫
&
而导弹模拟
、
军事预警系统
能
的
更短
。
基于
的
&
假设
请
求需要由
6
服务进行处理
,
每
服务对请求处理时
间约为
1
ms
。
预计
Dubbo
的请求处理响应时间约为
6
*
(1
+
0.687
)
=
10.12
ms/
次
,单个服务吞吐率约为
1000/
10.
12
=
99
次
/s
。
预计
SpringCloud
的请求处理响应时间约
为6
*
(1
+
1.976
)
=
17.
86
ms/
次,
单个服务吞吐率约为
1000/17.
86
=
56
次
/s
。
预计
C+
+
微服务框架的请求处理
响应时间约为
6
*
(1
+
0.
351
)
=8.
11
ms/
次,
单个服务吞
吐率约
为
1000/8.11=123
次
/s
。
可见
,
轻量级
C++
微服
务
另外两
更
于高
、
应用
'
4
结束语
本文设计了基于
C++
语言的轻量级微服务框架
&
提
岀了服务治理插件
堆
栈
、
撑
插
、
微服务
插件动态组装等设计思想
,
对微服务框架的
C+
+
API
接
设
了讨论
&
为
C++
微服务的开发与集成提供了
完整的插
方案
,
可以应
服务系统在服务治理
、
撑等方面的
需求。
对性能的
明
,
在
RPC
处理的吞吐率
、
响应时间等方面性能良好
,
明显优于
业
的微服务
。
可以为基于
C++
语言的模
'
真
、
指挥控制等领域应用的高实时
、
低延迟等交互与处理
需求提供支撑
,
具有较好的实用价值与应用前景
。
后续可
[
7
)
ZHANGJian
,
XIETianjun7Researchofplatformasaservice
architecturebasedontheDocker
[
J
)
7InformationTechnology
以对微服务组播交互支持
、
C++
微服务云开发与测试环境
等方面进一步展开研究
。
andInformatization
,
2014
(
10
)
:
131-132
(
inChinese
)
7
[
张
建
,
谢天钧
.
基于
Docker
的平台即服务架构研究
[J).
信息
,
2014
(
10
)
:
131-1327
)
参考文献
:
[1
)
Pivotal
Software
Inc.
Spring
cloud
[EB/OL).
https
:
/
/
,
2018.
[
8
)
ZHANG
Jing
,
HUANG
Xiaofeng7
Application
framework
basedonmicroservice
[
J
)
7Computer
Systems
f
Applications
,
2016
,
25
9
)
:
266-267
(
inChinese
)
7
[张
,
7
[2
)
The Apache
Software
Foundation.
Apache
Dubbo
[EB/OL
)
.
h
t
p
"
//
/
,
2018
.
基于微服务的应用框架计算机系统应用
,
2016
,
25
9
)
:
266-2677
)
[9
)
GUO
Dong
,
WANG
Wei
,
ZENG
Guosun.
A
new
cloudware
[3
)
HUAWEI.
Software
Technology
Co.
Ltd.
Cloud
container
en
gine
[
EB
/
OL
)
.
h
t
p
"
//
/
product
/
PaaSplatformbasedonmicroservicesarchitecture
[
J
)
7Netinfo
Security
,
2015
(11
)
:
15-20
(in
Chinese
)
.
[郭栋
,
王伟
,
曾
cce.
html,
2018
(in
Chinese)
.
[华为软件技术有限公司.云
国
基于
服务
的
PaaS
[
J
)
容器
引
擎
[EB/OL
)
.
http
:
//www.
huaweicloud.
com/pro-
duct
/
,
2018.
)
网络安全
,
2015
11
)
:
15-20..
[
10
)
LIChunyang
,
LIU
Di
Unifiedapplicationdevelopmentplat-
formbasedon
micro-servicearchitecture
[
J
)
ComputerSys
[
4
)
ervicesframeworkopensourcesoftware
library
[
EB
/
OL
)
.
h
t
ps
"//
www.
oschina.
net
/
project
/
tag
/
tems
f
Applications
,
2017
,
26
(
4
)
:
44-45
(
in
Chinese
)
461/microservice
,
2018
(in
Chinese
).
[开源中国.微服务框
[李春阳
,
刘迪
.
基于微服务架构的统一应用开发平台
算
系统应用,
2017
,
26
(
4
)
:
44-45
)
架开源软件库
[EB/OL).
https
:
//www.
oschina.
net/pro-
ject
/
tag
/
461
/
microservice
,
2018.
)
[
11
)
TAN
Yimin
Designanddevelopmentofplatformizationser-
viceframeworkbasedon
microservicearchitecture
[
D
)
Bei-
jing
:
BeijingJiaotongUniversity
,
2017
:
32-35
(
inChinese
)
[5
)
ZHANG
Jing
,
WANGYanjie
,
HUANG
Xiaofeng.
The
imple-
mentof
application
framework
based
on
microservice
[
J
)
7
ComputerSystems
f
Applications
&
2017
&
26
(
4
)
:
82-86
(
in
[谭一鸣.基于微服务架构的平台化服务框架的设计与实现
Chimse
)
.
[张晶
,
王琰洁
,
黄小锋.一种微服务框架的实现
[D)
.
北京
:
北京交通大学
,
2017
:
3235..
[12)
WANG
Meisu.
Research
and
implementation
of
snmp
fetue
计算机系统应用
,
2017
,
26
(4
)
:
82-86..
[6)
WANG
Lei.
Archtecture
and
practise
of
microservice
[M).
Beijing
:
Publishing
HouseofElectronicsIndustry
,
2016
:
14
plug-in
[
D
)
.Beijing
:
Beijing
UniversityoMPostsand
Tele-
communications
&
2016
:
25-26
(in
Chinese
)
.
[王美苏.功能
15
(in
Chinese
)
.
[王磊.微服务架构与实践
[M
)
.
北京
:
电
插件化的研究与实现
[D)
.
北京
:
北京邮电大学
,
2016
:
25-267
)
子工业出版社
,
2016
:
1415.
(上接第
2311
页
)
[10)
YANG
Jiahui,
LIUFang'ai.
Collaborative
filtering
algorithm
basedonpapcoe
ficientandJaccardcoef
icient
[
J
)
7Computer
跟踪算法上海交通大学学报&
2018
,
52
(7
)
:
801
-
80T.
)
Application,
2016,
36
(7)
:
20162010
(in
Chinese).
[杨家
[
12
)
ZHANG
Mingjie
,
clefiltertracking
methodbasedongraphmodel
[
J
)
.ComputerApplicationRe
慧
,刘方爱
.
基于巴氏系数和
Jaccard
系数的协同过滤算法
[
J
)
.
算
应用,
2016
,
36
7
)
:
2006-2010.
)
[11
)
SUN
Yiqi
,
WU
Aiguo
,
DONG
Na
,
et
al.
Human
hand
tracking
algorithm
based
on
particlefilterandimproved
search
,
2016
,
33
(2
)
:
591-593
(in
Chinese
)
.
[张明杰&
康
宝生.一种基于图模型的粒
子
滤波
跟踪方法计算机应
用研究,
2016
,
33
2
)
:
591-5937
)
[13)
Weidong
Min,
Yu
Zhang,
Jing
Li.
Recognition
of
pedestrian
GVFSnake
[
J
)
.JournalofShanghaiJiaotong
Universi
ty
,
2018
,
52
(7
)
:
801-807
(in
Chinese
)
.
[孙一奇
,
吴
爱国&
董娜
,
等
.
基于粒
子
滤波与改进
GVF
Snake
的人
手
activitybasedondropped-objectdetection
[
J
)
7SignalProces-
sing
&
2017
&
9
(
2
)
:
238-2527
发布者:admin,转转请注明出处:http://www.yc00.com/news/1711948989a1982796.html
评论列表(0条)