可以肯定地说,SOA本身是非常好的一种思想。利用服务的方式达到业务的重用,省去重复发明轮子的工作。
这种想法实在是太有才了!毫不夸张,在这种思想出现之前,我们程序人员无时无刻不在重复发明轮子、复制抑或修补旧轮子。
有了SOA,加之互相遵守的规范和安全开放的服务,我们可以毫不费力地使用着旧轮子,快乐地发明自己的新轮子了。且慢!我是不是跑题了?!
事情总是一分为二的。要看到好处,更要正视其缺点。SOA 带来了“松散耦合”的应用程序组件,也同样带来了性能上的消耗。幸好我们的高速运算的硬件世界已经可以为这种消耗埋单。所以SOA这时候出来才是生而逢时,英雄有了用武之地。即使这样。我们也要在实施SOA过程中小心谨慎的做好性能上的改善。
个人认为把握好如下几点有助于性能的提高。
这种想法实在是太有才了!毫不夸张,在这种思想出现之前,我们程序人员无时无刻不在重复发明轮子、复制抑或修补旧轮子。
有了SOA,加之互相遵守的规范和安全开放的服务,我们可以毫不费力地使用着旧轮子,快乐地发明自己的新轮子了。且慢!我是不是跑题了?!
事情总是一分为二的。要看到好处,更要正视其缺点。SOA 带来了“松散耦合”的应用程序组件,也同样带来了性能上的消耗。幸好我们的高速运算的硬件世界已经可以为这种消耗埋单。所以SOA这时候出来才是生而逢时,英雄有了用武之地。即使这样。我们也要在实施SOA过程中小心谨慎的做好性能上的改善。
个人认为把握好如下几点有助于性能的提高。
- 服务的粒度不要太细。业务逻辑很简单的情况下,就不适宜采用SOA架构。这样除了消耗性能不会带来任何好处。不要把什么都变成服务。服务的粒度不能太细,服务本身就应该是一个完整独立且能够处理相当一部分业务的有意义的应用。
- XML要优化采用XML进行数据传输,XML数据占用空间大。以格式储存的数据要比以其他数据库格式储存占有的空间要大的多。比如普通文本文件(Flat Files)或者是关系数据库管理系统(RDBMS)格式,XML数据之所以占很大的空间的原因是它使用原始数据和元数据两种来进行描述。根据专家们的意见,在文件尺寸上的差别可能会非常大。美国Web服务咨询公司--ZapThink LLC的报告指出,当增加所有的XML 编码和描述符,1GB的传统数据库信息将扩充到20GB。Charlie McCallan,BoostWorks Inc(一个生产Web加速软件的公司)的产品管理方面副经理,解释道:"在使用XML的情况下,无论有效负荷数据多么小,一条5个字节的有效负荷可能需要300字节的XML描述符来描述。"
- 服务的网络分配要考虑地域性根据服务流程,在用户不宜等待的场合,紧密相连的服务要部署在相邻的区域。以减少网络传输的时间消耗。