分享

网上交易平台架构设计

 dzhpingbo 2014-11-20
ejb被淘汰的理由:CAP定理上来说了,分布式环境中,不可能将高一致性和可用性以及容错性三个同时得到,EJB三个都给你,你如果不知道CAP定理,挣扎多年后最后一个都得不到,如果你知道CAP定理,何必用EJB呢?
=========================
2009年12月12日 14:02 "xysniper"的内容
初学者问:
我一直觉的EJB在分布式,集群性能上支持很好,比javabean要好,记得以前有一个系统就是使用单纯的javabean,用户量上来后,内存有大量的javabean对象,gc不断启动,应用逐渐变慢,导致机器崩溃



答复:

现在分布式世界已经非常丰富,今非昔比,特别是NoSQL运动呈现的都是各种简单方便的可伸缩性方案,对于机器崩溃,如果确定是访问量引起的,首先引入负载平衡,比如类似REST那种在Html引入不同服务器的访问,使用apache作为分发器,使用分布式缓存或key-value存储,都可以根据情况具体选择,灵活性大呢。

相当于把EJB盒子打破了,花样还是那些,以前包装在EJB后面帮你做了,你只要买昂贵的EJB服务器就可以了,但是一条裤子不一定适合所有人,隔着EJB裤子搔痒,碍手碍脚,麻烦啊。

你现在可以根据CAP定理和BASE理论,对你的业务功能进行筛选,哪些需要事务?需要高一致性,哪些不需要,将不需要事务的和需要事务分类,然后分别用不同架构实现,比如不需要事务的就不用EJB了,当然,你可以让具体EJB事务失效,这需要一个个设置,如果有几百个类设置相当麻烦。

JavaEE现在明显落后了,它提供的EJB和JMS缺省场景都是事务性(包括SSH Spring+Hibernate),认为用软件的人都是重视事务的,不给人讨价还价余地,事务确实保证了数据一致性,特别是EJB的分布式事务(包括2PC),但是哪知道CAP定理上来说了,分布式环境中,不可能将高一致性和可用性以及容错性三个同时得到,EJB三个都给你,你如果不知道CAP定理,挣扎多年后最后一个都得不到,如果你知道CAP定理,何必用EJB呢?

CAP原理和BASE思想

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多