透明思考


Transparent Thoughts


谁需要分布式事务?

有个项目,用Tuscany实现了SCA。然后呢,服务与服务之间会互相调用。然后呢,因为你不知道被调用的下一个服务被部署在什么地方,所以就需要分布式事务。一切多么的合理。

Bullshit.

Martin Fowler说,分布式对象设计第一原则:不要分布你的对象。如何利用多个进程?集群,而非分布。

因为很显然,如果应用程序本身是无状态的,分布式对象基本上无法带来任何集群不能提供的好处:性能,吞吐量,都不可能在涉及跨进程调用的情况下超过进程内调用。唯一可能的好处是,能够把应用程序分成小块,分别部署在不同的机器上。

是的,这就是这个项目需要分布式对象(以及,分布式事务)的真正原因。当然,不是因为一台服务器不能负载整个应用程序,而是因为一个邪恶的原因:把功能模块与服务器硬件绑定。你已经买了功能A,还想要功能B吗?请购买功能B──和它所在的整个服务器。不管你的访问量是否大到需要一台真正的服务器,我们粗制滥造的程序会把它的性能都用尽的。

是的,再一次地,一个企业级超复杂技术的漂亮广告词被扯开之后,归根结底就是一个制造浪费从而制造需求的邪恶玩意。FxxxIBM