Log系列:使用log定位多模块系统中出现issue的模块
2006-06-15 13:49
369 查看
Log技术在维护一些分布式系统时,是一个很好的手段。特别是在一些分布式/多模块的系统中,Log经常是解决问题首选的方式。因为在分布式/多模块的系统里,发现问题后最复杂的部分往往在于定位上。问题由哪个模块导致,在哪个模块开始体现,出现问题模块的输入数据来源...
个人遇到的一个实际的例子是,一个分布式的系统,由时差在6-8小时的3个team分别维护3个模块。3个模块的接口分别是:
1. 一个Session Message Framework,负责在模块间分发消息
2. 一个数据库访问API, 使用Session Message Framework接受高层用户的数据库访问请求,处理后返回结果
3. 应用层,使用数据库API访问数据库
由于3个team之间时差相差太大,很难有3个模块负责人直接交流的机会,Email成为唯一的解决方案。每次发现问题由其他模块引起时,必须有明确的模块间通讯的数据log, 否则会发现问题总是在几个小组之间来回传递。不能定位问题产生的模块,解决就是空谈。
使用Log方式,找到有问题的数据点, 很容易就能定位到出错模块;更重要的是,能够证据确凿地将问题移交给该模块负责人,避免踢皮球的情况。
个人遇到的一个实际的例子是,一个分布式的系统,由时差在6-8小时的3个team分别维护3个模块。3个模块的接口分别是:
1. 一个Session Message Framework,负责在模块间分发消息
2. 一个数据库访问API, 使用Session Message Framework接受高层用户的数据库访问请求,处理后返回结果
3. 应用层,使用数据库API访问数据库
由于3个team之间时差相差太大,很难有3个模块负责人直接交流的机会,Email成为唯一的解决方案。每次发现问题由其他模块引起时,必须有明确的模块间通讯的数据log, 否则会发现问题总是在几个小组之间来回传递。不能定位问题产生的模块,解决就是空谈。
使用Log方式,找到有问题的数据点, 很容易就能定位到出错模块;更重要的是,能够证据确凿地将问题移交给该模块负责人,避免踢皮球的情况。
相关文章推荐
- 转载:使用win pe模式安装win7的时候出现“安装程序无法定位现有系统分区,也无法创建新的系统分区”提示
- 使用U盘重装win7系统出现“安装程序无法定位现有系统分区,也无法创建新的系统分区”问题的解决方案
- Android使用百度地图开发时,出现定位无反应。log里出现162错误代码
- 在View中使用CGridCtrl时出现系统异常
- 基于android的声源定位模块系统设计
- 浅谈Android系统开发中LOG的使用
- 您的系统里有 1 个(依赖关系)毁损的软件包! 请使用“Broken”过滤器定位它们。
- 使用Nginx做反向代理时在error.log中出现server_names_hash_bucket_size大小不足问题的解决方案
- 系统日志处理系列 (一)如何使用logging、commons-logging、log4j输出日志
- 在使用 Intel E5 v2 系列处理器的 ESXi 5.x 上运行时,Windows 2008 R2 和 Solaris 10(64 位)虚拟机出现蓝屏或内核不稳定。 (2094336)
- 系统管理系列--01BE备份系统提示“无法使用其指定的登录账户登录服务器”
- 权限管理系统系列之登录、升级模块
- (Access Report开发系列三)报表中的系统参数列表及使用方法
- 自动化运维Saltstack系列(六)之配置管理系统模块
- 使用FireBreath生成的.dll库出现“*.dll模块加载失败”
- MacOS系统使用系列-2.Mac命令行提升效率工具thefuck
- nw.js node-webkit系列(15)如何使用内部模块和第三方模块进行开发
- opencv3.0使用过程中出现“无法定位程序输入点”问题
- 使用c写python的模块和python调用系统dll
- xp系统中使用node的ffi模块调用系统dll