lift:回到马鞍上(准确的说应该是羊鞍)
wuhaixing
2010-02-24
http://blog.lostlake.org/index.php?/archives/98-Back-in-the-Goat-Saddle.html
David Pollak在09年7月的时候开始涉及Goat Rodeo的话题,一种建立具有高度扩展性分布式系统的机制。这个牛人在分布式软件事务内存上犯了些错误,所以花了大量的时间调整自己的概念和代码。前几天发布了个0.1 alpha版。 问题是由关系数据库系统固有的缺陷引起的,对于树状结构的存储和查询,社会关系/关系图谱等RDBMS所不擅长处理的领域。 文中接着用一个社交消息网站的案例来说明关系数据库查询算法效率如何低下 O(n log n)。即使采用了变通的办法,建立单独的表来保存状态信息,也需要大量的资源来建立索引,cache也解决不了问题。 然后就引出了更好的解决方案。把全站动态信息从数据库里挪出来,用手工管理缓存代替查询和索引。接下来介绍一个高性能的设计,也就是Goat Rodeo,然后就是广告了。单机版开源,集群版收费,当然,你要是能把网站都搞成集群了,也就有钱了。 The additional services that are needed to create scalable social systems are: * A unified transaction model such that different components in the system have a single mechanism to engage in transactions; * A simple interface to extract data from the system without being and Actor in the system; * A scalable storage model that provides transactions (integrated with the system's transaction mechanism) and a richer data model than key-value pairs. Additionally, the system should behave the same way when everything is running in a single JVM or distributed across the network. The application-level code should not know or be different if the resources are local or remote. Code should go from the developer's laptop to the production system unchanged. Additionally, the business logic in the code should be testable without having to set up a large number of different software systems. |
|
yangzhan
2010-02-24
和lift有啥关系?
|
|
wuhaixing
2010-02-25
http://blog.lostlake.org/index.php?/archives/94-Lift,-Goat-Rodeo-and-Such.html
引用 There needs to exist a unified model for building real-time interactive web applications from the persistence layer, through the messaging layer, through the business logic layer, out to the client. Lift is part of this equation. Goat Rodeo will become the other part of the equation. lift关注表示层,Goat Rodeo关注统一的model及数据结构,数据存储以及通信机制,类似JSF和EJB的关系。 |