- 论坛徽章:
- 0
|
搞了个AIX迁移到云平台的项目,深有感触啊
并行度
每个交易都会有很多步骤,步骤在不同节点上执行,这里的并行度划分没有个准信,但是可以评估其所需要的资源。
比如一个并行需要一份资源,而这台机器只有十份资源,则将并行度设为八较为合适,剩余的要用于监控运维等。
这里提到的资源是资源集合,最常见的是CPU 内存 磁盘 网络,评估资源时需要按照最缺的(或者说瓶颈)来评估。
如果强计算型,需要按照CPU评估,大部分情况下是磁盘读写评估,也有些时候是内存资源问题,不过现在内存便宜这个缓解了不少。
同异步
通常的情况是同步编程简单,但是较耗资源,异步编程复杂,但是效率高。当然这只是表象,实际的原因是同步在大部分情况下,需要等待,异步不需要等待,逐个处理就行。
问题就在于很多东西从业务(可能是业务逻辑,也可能是体验需要)角度来说,是同步的,为了提高效率,程序这个层面需要采用异步,这种情况下就是用异步来实现同步,无非就是同步损耗由谁来承担。
粒度划分
这个说说实际的感受吧,我们项目需要从AIX集群迁移到云平台,可以把五到十个步骤放在一台AIX上,但是在云平台上必须分散在不同机器上。
这就涉及到拆分,交互,异常情况处理,从开发角度看,工作量大了好几倍,而且云平台异常停机这种情况要求业务不能停。
|
|