基于couchbase的全局日志系统设计 |
发布: 2012-11-13 10:58 |
web系统的日志记录很重要,但单独设置独立的日志系统很费开发与维护。 导致现有的系统日志记录零散混乱无规则。 对现有的日志记录方式的总结: ×)在本机上记录日志文件 ×)记录到关系数据库中,如MySQL ×)临时记录,测试完后删除日志代码 现有的web系统一般都是基于负载均衡的多web前端架构, 这几种方式都有比较大的缺点,很难综合存储处理分析web系统日志。 当前比较好的日志方式: ×)独立的日志系统,为各web系统提供日志记录服务,提供查询 这种方式引入了系统维护与开发复杂度,同时由于处理大量日志, 还需要投入大量硬件资源来满足大量的日志处理。 在现有的无法满足大量独立硬件资源的情况下,在现有的系统基本之上, 使用couchbase来实现全局日志系统,其优点有, ×)不需要新加硬件 ×)充分利用web前端空闲的硬盘存储资源 ×)不需要新加软件系统 ×)实现分布式日志系统 ×)效率比较关系型数据库高 ×)很容易导出到其他非线上机器实现离线数据处理与分析 ×)存储任意结构数据 ×)开发维护代价比较低 实现: ×)定义MemModel ×)使用虚拟表结构, ×)定义两个接口,添加日志,删除日志 ×)在couchbase创建applog独立桶,合理分配内存资源(128-256M) ×)嵌入到web应用系统 还需要做的工作: ×)查询接口/工具 ×)清理/导出机制/工具 ×)Map/Reduce处理/分析工具 这种日志系统设计,是在现有的软件、硬件资源条件下的一个很好的折中方案。 能帮助开发人员开发稳定高效的系统,提供更多系统的维护信息, 提高故障的处理效率,提早发现系统可能潜在的问题。 |
原文: http://qtchina.tk/?q=node/695 |
Powered by zexport
|