Oas过程
测试
使用shell 脚本是否能够实现我们需要的功能。
我们测试的目标。
各个模块之间如何测试。
代码要做什么样的准备。
如果是用测试工具,可以带来哪些好处。自动化。
我们自己需要完成哪些部分。
把我们测试的信息更好的显示出来。
先从传输时间入手。
测试中的干扰因素。我们测试时间是否会因为其他原因影响测试结果。
真实环境,变化。量大。
脚本命令式语言。
信息在网元中传输。
到达一定的程度就会出现错误。
传输一个文件到服务器。怎么测?
- 用它的过程调用我们的脚本。
- 调用本地脚本。
- 工具有提供这样类似的接口。
组合更有可能。
看着只是远程控制。怎么测呀
能够让我们的任务执行。并能够让信息显示。
监控机器状态、
工具中包含了测试目标
Staf 需要调用其他的块。
是否说明它本身是
HttpUnit 好像更容易测试unit
框架和实体是分开的。
实体可以另作选择。
注意我们的目标是测试程序。
方式方法可以选择。
哪些时间是可以减少,让我们更好的关注内容。
要是可扩展的方式。方便设计测试用例。
方便多种测试环境。
不同测试点
网元之间有差异,不同的测试内容。
Oas 属于web 服务。测试cpu,响应时间。 响应数量。
只有当数量上升到一定程度,才能体现出系统的价值。
Healer
之前只是考虑了基本功能。现在还要考虑,性能,和功能扩充。
Storage 的选择
在同一台机器的最先选择.
读写都最好选择自己本机器的.
扩展,如果是网络最近的给予选择.
如果给予这样的优惠.
会不会影响负载.
Oas 的选择本身也经过负载均衡考虑.
上传过程,
上传过程中会把数据的信息拿出来改动.如果是多块,同时上传.数据会出现问题.
典型的同步问题.
Oas 拷贝策略的补充.
哪些操作需要知道拷贝策略的情况.
拷贝策略 在那些情况下需要。需要知道一个对象在哪些az存在。然后可以自己选择
一个az 去获取。
拷贝策略的设置。拷贝策略是和object 的相关的。
Head object
Get bucket
链接通道的管理.
Oas 和storage 之间建立的链接.不是立即就断掉.根据什么情况来断掉.
超过一定时间的断掉.
- 足够的容量。
- 足够的超时时间。
通道的状态
1、通道如果在发送消息的状态中是不能 清理掉的
- 通道采用的是异步的、用同一个通道发送多个相同的消息。所以通道的数量可以现在在2或者3个内。其他的就等待。
使用状态。空闲状态。异常状态。
从队列中取出到发送玩命令。
和DataStorage 交互的过程。封装下。
读,写,删除。
提取接口
选择一个object。-个req。
Msg 的设置。信息的回应。
这里和应用场景有很大的相关性。
安全
异常安全。
操作的环境会出现那些异常。这些异常会如何处理。
异常时case 中的一部分。
和正常组成了用例情形。
交互过程中信息的处理。
写入数据,只有有状态标志时,才会有回应。
处理优化
处理很多是最直接能够想到的方法。这是前期的方式。
后面应该考虑处理的全面性。和处理的优化。
主次
不论怎样,都有主次。设计的主要任务应该是放在这些主要的代码上。
主次代码是根据应用场景和安排。
Objoffset
继续保留
comm 通信中 id 的设置。 Session id 和 msg id
如何定义session。一次web 请求发起。到结束。
是单独的数据读写相关的操作算作session 还是所有的都算是session。
Session 的范围。是所有的网元之间。还是单独的。
Id 如何设置。
Setgid setid
Session id
用来标识什么。用来标识一个操作的过程。从起始到结束。如果出现问题便于跟踪。
msg id 。用于标识发送的命令序号。
操作
- CopyObject
- GetObject
- GetObjectRange
- PutObject
- UploadPart
这5个操作会有msg id 。
4、5 的操作如何确定。
他们都会进行上传操作。如何表明他们属于哪个操作?super 设定时。可以把parent信息带入。
如何管理
Sessionid 和msg id 的生成
所有log 信息中都有这些 id 所有的操作都附属于某个session。
如何做到。
其他模块也都又oas 统一的管理。Oas 维护。
操作。
这些信息。用一个sessioninfo
从现有的架构看来。起点和终点 都是在 oas中,那么应由oas管理它的生命周期
一个task 如何确定一个session。
LOG.info(session + "Del Object OK: object = " + objID);
Session 的id 需要统一的分发。还是根据时间来。
protected final int id = ID_S.incrementAndGet();
task 中本身已经有了id 的设置。对于每个任务都可以找到对应的id
session id 在所有的任务中都有。但是msg id 在上传或者下载这些数据流程中有。
Msgid 保留。设置为1。
Msg id 的变化
Id 是否还可以表示更多的消息。
这个可以后面设置。表明顺序。哪些操作是先。或者一个个来。
incrementAndGet本身可以满足要求会累加得到一个值。
实现
在loginfo 中加入可以。批量处理。
但是是否有可以设置这样的值得地方。
如何让代码看上去舒适。
一个object 的block 是否要放在相同的storage 群上
Block 是否需要同时读取。时间和结构的影响。
Msg 中 storage 信息多了一条 addr ?
msgBody.addAddr(masterStorage.getClientListenAddr());
如果block 上传过程中失败如何处理。
发送消息过去的时候。失败可能性比较大。
如果中间无法确定失败。但是在sync 的时候知道失败了.
对于这些信息如何处理。
Sync 是否可以告知哪些块处理成功了。哪些处理失败了?
处理失败的再传一次?
不同的故障
- 一个SegBlock 没有上传成功。
- 消息发送失败。
用户认证
每次操作都会有用户认证。
现在先不加入用户认证、
认证 aaa 服务器的作用。
一个是获取accesskeylist,还有一个是根据accesskey查secretkey
那么选择了认证方式之后,怎么进行的认证。
User bucket
之前认为oas 是唯一的入口。现可能还有其他地方。
加入bucket 前,需要知道是否有user 和bucket了。
Classpath 脚本。