最新完美版XXX国际影视中心云平台集成设计项目应用服务平台服务功能与接口设计.docx
- 文档编号:3863793
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:43
- 大小:127.37KB
最新完美版XXX国际影视中心云平台集成设计项目应用服务平台服务功能与接口设计.docx
《最新完美版XXX国际影视中心云平台集成设计项目应用服务平台服务功能与接口设计.docx》由会员分享,可在线阅读,更多相关《最新完美版XXX国际影视中心云平台集成设计项目应用服务平台服务功能与接口设计.docx(43页珍藏版)》请在冰豆网上搜索。
最新完美版XXX国际影视中心云平台集成设计项目应用服务平台服务功能与接口设计
XX国际影视中心云平台集成设计项目
应用服务平台服务功能与接口设计
云平台建设工作小组
XX联合设计团队
2019年7月18日
1通用服务接口规范
云平台服务需要可管理和监控,需要提供平台注册接口和监控接口,定义如下:
1.1北向接口(API)
1.1.1北向接口的概念
北向接口主要是指服务受管理和受监控需要提供的接口;
1.1.2MySQL北向接口(API)规范示例
1
1.1.1
MySQL北向管理接口(API)规范示例
参数名称
必填
类型
说明
MySQL_DBJdbcurl
是
String
数据库连接地址
MySQL_DBUsername
是
String
数据库名
MySQL_DBPort
必填
String
数据库访问端口
MySQL_DBUsername
是
String
数据库访问名
MySQL_DBPassword
是
String
数据库访问密码
用户使用MySQL服务时调用MySQL北向管理接口API,获得系统返回链接地址、数据库名、端口、用户名密码等必选参数后,使用用户名、密码、主机地址或域名、端口号等访问授权数据库服务,即可使用MySQL数据库服务。
MySQL北向监控接口(API)规范示例
参数名称
必填
类型
说明
MySQL_DBJdbcurl
是
String
数据库连接地址
MySQL_DBUsername
是
String
数据库名
MySQL_DBPort
必选
String
数据库访问端口
MySQL_DBUsername
是
String
数据库访问名
MySQL_DBPassword
是
String
数据库访问密码
MySQL服务采用平台监控方式,调用以上接口进行MySQL服务登录,对服务监控粒度可达到以下基本要求以上:
参数名称
基本监控项
说明
Check_Ping
是
存活监控
Check_Uptime
是
运行时间监控
Check_Threads
是
活动线程监控
Check_Questions
是
请求监控
Check_Slow_queries
是
慢查询监控
Check_Queries_per_second_avg
是
平均每秒请求次数监控
Check_Opens
是
打开表总和
Check_Flush_tables
是
执行刷新次数
Check_Open_tables
是
当前打开表数
Check_Com_insert
是
insert语句执行次数
Check_Com_delete
是
del语句执行次数
Check_Com_select
是
select语句执行次数
Check_Com_update
是
update语句执行次数
Check_Com_commit
是
commit语句执行次数
Check_Com_rollback
是
rollback语句执行次数
Check_Bytes_sent
是
Server响应的总的数据量
Check_Bytes_received
是
Server接收到的请求的总的数据量
Check_Threads_running
是
当前活动的线程数
Check_Threads_connected
是
当前打开的连接数
Check_Threads_created
是
新创建的连接数
Check_Threads_cached
是
线程池中剩余线程
Check_Rows_inserted
是
写入行的数量
Check_Rows_updated
是
更新行的数量
Check_Rows_deleted
是
删除行的数量
Check_Rows_read
是
读取行的数量
Check_Rows_lock_number
是
行锁的个数
Check_Rows_lock_time
是
行锁的时长
Check_Page_data
是
包含数据的页的数量
Check_Page_dirty
是
包含ditry数据的页的数量
Check_Page_free
是
空余的,可以使用的页的数据
Check_Page_flush
是
置换页中数据的请求次数
Check_Data_reads
是
InnoDB数据读总次数
Check_Data_writes
是
InnoDB数据写总次数
Check_Data_read
是
InnoDB数据读总大小
Check_Data_written
是
InnoDB数据写总大小
Check_Log_fsyncs
是
InnoDB往磁盘同步日志的总次数
Check_Log_written
是
InnoDB往磁盘同步日志的总大小
Check_Slave_IO
是
Slave_IO状态
Check_Slave_SQL
是
Slave_SQL状态
Check_Slave_delay
是
Slave落后Master时长
1.1.3Oracle北向接口(API)规范示例
Oracle北向管理接口(API)规范示例
参数名称
必填
类型
说明
ORACLE_DBJdbcurl
是
String
数据库连接地址
ORACLE_DBUsername
是
String
数据库名
ORACLE_DBPort
必选
String
数据库访问端口
ORACLE_DBUsername
是
String
数据库访问名
ORACLE_DBPassword
是
String
数据库访问密码
用户使用ORACLE服务时调用ORACLE北向管理接口API,获得系统返回链接地址、数据库名、端口、用户名密码等必选参数后,使用用户名、密码、主机地址或域名、端口号等访问授权数据库服务,即可使用ORACLE数据库服务。
Oracle北向监控接口(API)规范示例
参数名称
必填
类型
说明
ORACLE_DBJdbcurl
是
String
数据库连接地址
ORACLE_DBUsername
是
String
数据库名
ORACLE_DBPort
必选
String
数据库访问端口
ORACLE_DBUsername
是
String
数据库访问名
ORACLE_DBPassword
是
String
数据库访问密码
Oracle服务采用平台监控方式,调用以上接口进行Oracle服务登录,对服务监控指标可达到以下基本要求:
指标名称
指标描述
指标范围
指标单位
1.关于实例效率(InstanceEfficiencyPercentages)的性能指标
缓冲区未等待率(BufferNowait%)
指在缓冲区中获取Buffer的未等待比率。
该指标的值应接近100%,如果该值较低,则可能要增大buffercache。
%
Redo缓冲区未等待率(RedoNoWait%)
指在Redo缓冲区获取Buffer的未等待比率。
该指标的值应接近100%,如果该值较低,则有2种可能的情况:
1)onlineredolog没有足够的空间;2)log切换速度较慢。
%
缓冲区命中率(BufferHit%)
指数据块在数据缓冲区中的命中率。
该指标的值通常应在90%以上,否则,需要调整。
如果持续小于90%,可能要加大db_cache_size。
但有时,缓存命中率低并不意味着cache设置小了,可能是潜在的全表扫描降低了缓存命中率。
%
内存排序率(In-memorySort%)
指排序操作在内存中进行的比率。
当查询需要排序的时候,数据库会话首先选择在内存中进行排序,当内存大小不足的时候,将使用临时表空间进行磁盘排序,但磁盘排序效率和内存排序效率相差好几个数量级。
该指标的值应接近100%,如果指标的值较低,则表示出现了大量排序时的磁盘I/O操作,可考虑加大sort_area_size参数的值。
%
共享区命中率(LibraryHit%)
该指标主要代表sql在共享区的命中率。
该指标的值通常应在95%以上,否则需要考虑加大共享池(修改shared_pool_size参数值),绑定变量,修改cursor_sharing等参数。
%
软解析的百分比(SoftParse%)
该指标是指Oracle对sql的解析过程中,软解析所占的百分比。
软解析(softparse)是指当Oracle接到Client提交的Sql后会首先在共享池(SharedPool)里面去查找是否有之前已经解析好的与刚接到的这一个Sql完全相同的Sql。
当发现有相同的Sql就直接用之前解析好的结果,这就节约了解析时间以及解析时候消耗的CPU资源。
该指标的值通常应在95%以上,如果低于80%,那么就可能sql基本没被重用,sql没有绑定变量,需要考虑绑定变量。
%
闩命中率(LatchHit%)
指获得Latch的次数与请求Latch的次数的比率。
该指标的值应接近100%,如果低于99%,可以考虑采取一定的方法来降低对Latch的争用。
%
SQL语句执行与解析的比率(ExecutetoParse%)
指SQL语句执行与解析的比率。
SQL语句一次解析后执行的次数越多,该比率越高,说明SQL语句的重用性很好。
该指标的值应尽可能到高,如果过低,可以考虑设置session_cached_cursors参数。
%
共享池内存使用率(MemoryUsage%)
该指标是指在采集点时刻,共享池(sharepool)内存被使用的比例。
这指标的值应保持在75%~90%,如果这个值太低,就浪费内存,如果太高,会使共享池外部的组件老化,如果SQL语句被再次执行,则就会发生硬分析。
%
2.关于等待事件(Waitevents)的性能指标
文件分散读取(dbfilescatteredread(cs))
该等待事件通常与全表扫描有关。
因为全表扫描是被放入内存中进行的进行的,通常情况下它不可能被放入连续的缓冲区中,所以就散布在缓冲区的缓存中。
如果这个等待事件比较显著,可能说明对于某些全表扫描的表,没有创建索引或没有创建合适的索引。
尽管在特定条件下执行全表扫描可能比索引扫描更有效,但如果出现这种等待时,最好检查一下这些全表扫描是否必要。
厘秒
文件顺序读取(dbfilesequentialread(cs))
该等待事件通常与单个数据块相关的读取操作有关。
如果这个等待事件比较显著,可能表示在多表连接中,表的连接顺序存在问题,或者可能不合适地使用了索引。
对于大量事务处理、调整良好的系统,这一数值大多是很正常的,但在某些情况下,它可能暗示着系统中存在问题。
应检查索引扫描,以保证每个扫描都是必要的,并检查多表连接的连接顺序。
另外DB_CACHE_SIZE也是这些等待出现频率的决定因素。
厘秒
缓冲区忙(bufferbusy(cs))
当一个会话想要访问缓存中的某个块,而这个块正在被其它会话使用时,将会产生该等待事件。
这时候,其它会话可能正在从数据文件向缓存中的这个块写入信息,或正在对这个块进行修改。
出现这个等待事件的频度不应大于1%。
如果这个等待事件比较显著,则需要根据等待事件发生在缓存中的哪一块(如字段头部、回退段头部块、回退段非头部块、数据块、索引块等),采取相应的优化方法。
厘秒
入队(列)(enqueue(cs))
enqueue是一种保护共享资源的锁定机制。
该锁定机制保护共享资源,如记录中的数据,以避免两个人在同一时间更新同一数据。
enqueue包括一个排队机制,即FIFO(先进先出)排队机制。
注意:
Oracle的latch机制不是FIFO。
Enqueue等待通常指的是STenqueue、HWenqueue、TX4enqueue和TMenqueue。
如果enqueue等待事件比较显著,则需要根据enqueue等待类型,采取相应的优化方法。
厘秒
闩释放(latchfree(cs))
该等待事件意味着进程正在等待其他进程已持有的latch。
latch是一种低级排队机制(它们被准确地称为相互排斥机制),用于保护系统全局区域(SGA)中共享内存结构。
latch就像是一种快速地被获取和释放的内存锁。
latch用于防止共享内存结构被多个用户同时访问。
对于常见的Latch等待通常的解决方法:
1)Sharepoollatch:
在OLTP应用中应该更多的使用绑定变量以减少该latch的等待。
2)Librarycachelatch:
同样的需要通过优化sql语句使用绑定变量减少该latch的等待。
厘秒
日志文件同步(logfilesync(cs))
这个等待事件是指当一个会话完成一个事务(提交或者回滚数据)时,必须等待LGWR进程将会话的redo信息从日志缓冲区写到日志文件后,才能继续执行下去。
这个等待事件的时间过长,可能是因为commit太频繁或者lgwr进程一次写日志的时间太长(可能是因为一次logiosize太大),可调整_log_io_size,结合log_buffer,使得(_log_io_size*db_block_size)*n=log_buffer,这样可避免和增大log_buffer引起冲突,或者可以将日志文件存放在高速磁盘上
厘秒
1.1.4SQLServer北向接口(API)规范示例
SQLServer北向管理接口(API)规范示例
参数名称
必填
类型
说明
SQL_DBJdbcurl
是
String
数据库连接地址
SQL_DBUsername
是
String
数据库名
SQL_DBPort
必选
String
数据库访问端口
SQL_DBUsername
是
String
数据库访问名
SQL_DBPassword
是
String
数据库访问密码
用户使用SQLServer服务时调用SQLServer北向管理接口API,获得系统返回链接地址、数据库名、端口、用户名密码等必选参数后,使用用户名、密码、主机地址或域名、端口号等访问授权数据库服务,即可使用SQLServer数据库服务。
SQLServer北向监控接口(API)规范示例
参数名称
必填
类型
说明
SQL_DBJdbcurl
是
String
数据库连接地址
SQL_DBUsername
是
String
数据库名
SQL_DBPort
必选
String
数据库访问端口
SQL_DBUsername
是
String
数据库访问名
SQL_DBPassword
是
String
数据库访问密码
SQLServer服务采用平台监控方式,调用以上接口进行SQLServer服务登录,对服务监控指标可达到以下基本要求:
指标名称
指标描述
指标范围
指标单位
1.SQLServer中访问方法(AccessMethods)对象包含的性能计数器
全表扫描/秒(FullScans/sec)
指每秒全表扫描的数量。
全表扫描可以是基本表扫描或全索引扫描。
由于全表扫描需要耗费大量时间,因此全表扫描的频率过高的话,会影响性能。
如果该指标的值比1或2高,应该分析设计的查询以确定是否确实需要全表扫描,以及SQL查询是否可以被优化。
次数/秒
2.SQLServer中缓冲器管理器(BufferManager)对象包含的性能计数器
缓冲区高速缓存命中率(BufferCacheHitRatio%)
指在缓冲区高速缓存中找到而不需要从磁盘中读取的页的百分比。
该比率是缓存命中总次数与缓存查找总次数之比。
经过很长时间后,该比率的变化很小。
由于从缓存中读取数据比从磁盘中读取数据的开销小得多,一般希望该比率高一些。
该指标的值最好为90%或更高。
通常可以通过增加SQLServer可用的内存数量来提高该指标的值。
增加内存直到这指标的值持续高于90%,表示90%以上的数据请求可以从数据缓冲区中获得所需数据。
%
读的页/秒(PageReads/sec)
指每秒发出的物理数据库页读取数。
该指标主要考察数据库从磁盘读取数据的频率。
因为物理I/O会耗费大量时间,所以应尽可能地减少物理I/O以提高性能。
该指标的值应尽可能的小。
可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,以降低该指标的值。
个数/秒
写的页/秒(PageWrites/sec)
指每秒执行的物理数据库写的页数。
该指标主要考察数据库向磁盘写入数据的频率。
因为物理I/O会耗费大量时间,所以应尽可能地减少物理I/O以提高性能。
该指标的值应尽可能的小。
可以通过使用更大的数据高速缓存、智能索引、更高效的查询或者改变数据库设计等方法,以降低该指标的值。
个数/秒
惰性写/秒(LazyWrites/sec)
指每秒被缓冲区管理器的惰性编写器写入的缓冲区数。
惰性编写器是一个系统进程,用于成批刷新脏的老化的缓冲区(包含更改的缓冲区,必须将这些更改写回磁盘,才能将缓冲区重用于其他页),并使它们可用于用户进程。
该指标的值最好为0。
个数/秒
3.SQLServer中高速缓存管理器(CacheManager)对象包含的性能计数器
高速缓存命中率(CacheHitRatio%)
指高速缓存命中次数和查找次数的比率。
在SQLServer中,Cache包括LogCache,BufferCache以及ProcedureCache,该指标是指所有Cache的命中率,是一个总体的比率。
该指标的值越高越好。
如果该指标的值持续低于80%,就需要增加更多的内存。
%
4.SQLServer中闩(Latches)对象包含的性能计数器
平均闩等待时间(毫秒)
(AverageLatchWaitTime(ms))
指一个SQLServer线程必须等待一个闩的平均时间。
如果该指标的值很高,则系统可能正经历严重的资源竞争问题。
毫秒
闩等待/秒(LatchWaits/sec)
指在一个闩上每秒的平均等待数量。
如果该指标的值很高,则系统可能正经历严重的资源竞争问题。
个数/秒
5.SQLServer中锁(Locks)对象包含的性能计数器
死锁的数量/秒(NumberofDeadlocks/sec)
指每秒导致死锁的锁请求数。
锁加在SQLServer资源上(如在一个事务中进行的行读取或修改),以防止多个事务并发使用资源。
应尽可能少使用锁以提高事务的并发性,从而改善性能。
个数/秒
平均等待时间(毫秒)(AverageWaitTime(ms))
指线程等待某种类型的锁的平均等待时间。
同上
毫秒
锁请求/秒(LockRequests/sec)
指每秒钟某种类型的锁请求的数量。
同上
个数/秒
1.2南向接口(API)
为了方便客户扩展服务部署在IaaS平台,还需针对其他IaaS或第三方自研的平台和服务提供融入接口——即用户透明的不依赖具体IaaS发布自定义的通用服务。
集成设计规范需要要求云平台具备扩展自定义通用服务的能力。
第1节
第2节
1
1.1
一.2.1南向接口概念
–虚机模板
一个集成了Agent的VM模板,创建的VM就是以这个模板来进行创建的。
通过CPI创建VM之前需要上传模板,它初始化了运行环境。
在创建VM时会传递网络和存储的配置。
–安装发行包
包含若干组将要安装到目标系统上的软件代码和配置。
每个虚拟机上都要部署一组软件,这组软件称作一个作业。
配置通常是包含诸如IP地址、端口号、用户名、密码、域名等参数的模板。
这些参数在部署时将被部署清单文件中定义的属性所替代
–部署配置
部署就是使静态的部署配置变成虚拟机上可运行的软件的过程。
部署清单定义了部署所需的实际参数值。
在部署过程中,会替换掉Release中的参数,从而使软件按照我们规划的配置来运行。
一.2.2南向接口规范示例
通用服务子平台针对服务的自动化部署,要采用能支持大规模分布式系统的部署和生命周期管理的工具。
整体架构示意图如下:
其架构主要为了能满足在IAAS云环境上实现应用服务平台的构建,并且能够让IAAS的相关操作对上层平台软件和应用透明,同时需要能兼容不同的IAAS平台如vSphere,OpenStack,AWS等。
为了满足上述要求,分布式自动化部署平台需要如下组件:
∙命令行CLI
CLI是用户客户端的一个命令终端,它提供了操作命令界面。
∙控制器Director
控制组件其作用是负责虚拟机的创建、部署和其他软件和服务生命期的管理。
∙代理Agent
Agent运行在已经创建出的VM上,每个创建的虚拟机都一个Agent。
它通过从Director获取配置信息,使虚拟机分配不同的角色。
∙健康监控HealthMonitor
HealthMonitor从Agent接收状态和生命周期信息,并且可以发送警告报警。
这里的HealthMonitor是一个简单的事件机制,当一个组件更新时,不会产生报警。
∙二进制存储Blobstore
Blobstore是用来存储用户上传的安装包。
用户通过CLI的上传,通过Director将安装包存储到Blobstore中。
∙IaaS接口
IAAS接口封装了一套IaaS的API,它使得发布服务能够通过对CPI的调用从而实际调用IaaS的API。
CPI包括了下面的方法:
CPI
说明
create_stemcell
创建虚机模板
delete_stemcell
删除虚机模板
create_vm
创建虚机
delete_vm
删除虚机
reboot_vm
重启虚机
configure_network
配置网络
create_disk
创建磁盘
delete_disk
删除磁盘
attach_disk
挂载磁盘
detach_disk
卸载磁盘
创建虚机模板
创建一个虚机模板。
输入参数:
∙image_path:
从本地文件系统虚机模板路径。
∙cloud_properties:
从tarball中提取的属性
输出参数:
∙stemcell_cid :
虚机模板CloudID
删除虚机模板
删除之前创建一个虚机模板。
输入参数:
∙stemcell_cid :
虚机模板CloudID
输出参数:
∙没有
创建虚机
创建一个新的虚拟机。
创建虚拟机必须开机并可提供的网络。
等待VM完成启动不需要因为主任等到在VM代理返回响应。
确保适当删除创建的资源如果不能成功创建虚拟机。
输入参数:
∙agent_id:
Director的VMAgentID。
∙stemcell_cid:
虚机模板ID。
∙cloud_properties:
部署清单中的虚拟机的资源池云属性。
∙network:
指定VM网络配置。
∙disk_cids:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 完美 XXX 国际 影视 中心 平台 集成 设计 项目 应用服务 服务 功能 接口