深蓝色心情

过来聊聊~~~~

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  31 Posts :: 0 Stories :: 46 Comments :: 0 Trackbacks
guzz 1.2.9 build20110511 更新介绍: 

主要更新: 

本次更新主要是解决一些bug,和调整一些设计不合理的地方。 

同时感谢 高山流水 同学,提供了Maven的配置方式。maven配置方式:http://code.google.com/p/guzz/wiki/TutorialRuntime 

计数失败回调服务 
我们用一个例子来说明。在博客系统中,经常看到博文归档。也就是对老文章,首页只把曾经发表过文章的月份列出来,网友如果要查看,就点击月份来看这个月的文章列表。一般显示为“2009年7月(3篇);2007年4月(50篇)”之类的。现在我们要讨论的是,这个功能是如何实现的?最简单的办法,按照时间count group查询。 

但对于大点的博客系统,为了提高性能,一般不会每次都用group查询,实时算出月份和文章数的统计列表。更一般的做法是,创建一个归档表,按照userId-年月-文章数记录每个月的文章发表数,每发表一篇,更新一下计数。显示时,直接单条件查询此表即可。 

但这种做法,程序设计会比较复杂。每次更新时,都要先检查这个月的记录是否存在,如果存在就更新,如果不存在就先创建再更新。而且还带来了一个性能优化问题,复杂的逻辑使得计数操作无法批量处理。如果这类情况比较多,而且混合很多其他的计数,如文章评论数,新评论数,留言数,访问次数等等,在计数处理方面的设计就会非常复杂。 

“计数失败回调服务”就是用来解决这类问题的。这个服务是guzz先前发布的计数器服务的补充。计数器服务允许程序同时对多个计数操作进行高性能更新,而“计数失败回调服务”允许计数表不需要提前生成计数项的记录,在第一次计数更新时,如果计数记录不存在,可以获得回调通知,临时创建。 

例如上面说的文章归档,也只需要按照计数器服务调用一个方法记录下操作。在计数服务服务器端,实现“计数失败回调服务”。在执行更新时,如果计数服务发现要更新的记录不存在,会自动回调“计数失败回调服务”,程序临时创建即可。这使得程序设计既简单,同时又获得事务批量提交的性能优化,减少数据库的压力。 

更多介绍请参看:http://code.google.com/p/guzz/wiki/AppendCoreService?wl=zh-Hans 


其他主要更新: 
1. 增加ExecuteService服务,使得多个异步调用服务可以共享同一个线程池。 

2. 将Demon线程的检测更改为按照Thread.isDemon()判定。新版本中,只要线程为demon,不再需要线程名称必须包含特定开头字符串,即应用ignoreDemonThreadSQL的sql输出配置。 

3. 修复了发现的bug。 

4. 发布方式上,默认将源代码放到了guzz.jar中。如果不需要源代码放入,选择thin目录下class和source分开的guzz.jar包。 

什么是guzz? 

guzz是一套用来解决ORM、多数据源管理、以及通用数据计算的数据层框架,为系统在数据层的设计提供一站式解决方案。guzz可以看作是 ibatis/hibernate的一大补充和延伸,并可以取代这2个东西。 

guzz主要功能与特点: 
  • 现代大规模系统设计,技术上吸收了ibatis/hibernate的优点
  • 对于大部分场景,支持像hibernate一样的对象持久、映射和方便的增删改查,提高开发效率
  • 对于复杂场景,支持像ibatis一样,让DBA参与SQL设计的复杂数据库操作和优化,以及SQL在线调试
  • 更简洁、更好用、更容易控制的批操作接口
  • 支持在线加载与调试SQL。按照应用策略,从文件/数据库/Web Service等途径,动态提取与使用SQL语句(Dynamic SQL)
  • 支持应用程序使用大量的数据库和主从读写分离
  • 支持数据库表在多组机器间水平分布(Shard),并自动维护多组机器之间的分布式事务
  • 支持1张表按照业务规则分切成多张小表(Shadow),并支持每张小表拥有自己特殊的属性字段(Custom)
  • 支持1张大表分切后的小表,分布到不同的数据库中(VirtualDB)
  • 支持超越范式的特殊关联、非结构化数据等异构资源POJO模式的统一读取
  • 支持组件化服务(SOA)和服务相互依赖,构建企业/项目实施基础平台
  • 提供面向对象的数据库读取标签(JSP Taglib),加快页面展示层的快速变更、开发与部署
  • 支持配置管理服务器,可以使用一套软件系统对所有应用程序的配置进行统一管理
项目地址:http://code.google.com/p/guzz/ 
文档:http://code.google.com/p/guzz/wiki/WikiHomePage?tm=6 
下载:http://code.google.com/p/guzz/downloads/list 

posted on 2011-05-12 17:27 深蓝色心情 阅读(1399) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: