SOA客户端预取技术

计算机在执行指令时,为了性能,一般是有一个预先取指析指的过程,而这个是依赖于指令预测的,即预测要执行哪条指令,如果预测命中,则执行该指令的时间可以大大缩短,从而提示性能。

 

在基于SOA架构的系统开发中,经常感觉客户端比较慢,很大一个原因是因为很多操作要跨网络取数据,还要对数据进行转换处理,如果系统在数据传输上加入一些其他功能,如安全,加密,特殊的编解码等等,则速度就更低了。

 

如果我们在客户端加入了预取功能,则可以改善性能,得到更好的用户体验。预取和缓存是不一样的。预取是基于预测用户行为,而提前异步执行某些操作。

 

举个例子,例如,有一个用户浏览窗口,其中有一个用户列表,用户可以查看其中用户的详细信息。

 

方法1:得到用户列表用一个service call,当用户选择查看一个选定用户的详细信息时,再发一个service call。

这个方法的缺点是service call的粒度太细,每次都要调用service call得到用户详细信息,性能太低。

 

方法2:一个service call得到所有数据。

这个方法的缺点是UI响应慢,Ux不好。

 

方法3:得到用户列表用一个service call,show出界面,同时预测用户有可能查看详细信息,然后有另一个service call在悄悄的拿所有用户的详细信息数据。

 

在某些情况下,针对细粒度的操作的预测也是非常有用的。如当用户选择一个条目时,则开始取该条目相关的数据,当用户真正操作该条目时,可以直接使用刚才得到的数据,性能提升,用户体验更好。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值