基于消息队列的日志组件
1 简介
1.1 类图
1.2 说明
日志支持的存储方式有:文本,xml,数据库三种。
如果采用数据库方式,支持的数据库有sql server、oracle。
日志采用读写分离的方式,客户端发送日志到消息队列,然后服务端程序读取消息队列,根据配置信息,将消息队列中的日志写入载体(文本、xml、数据库)
2 使用说明
2.1 服务端配置文件设置以及启动
如果采用数据方式,不需要配置path节点;如果采用xml或者文本方式,不要配置数据库连接字符串以及数据库类型节点
服务端启动日志:
1: LoggerServer.Start();
注:建议在global.asax中启动
2.2 客户端使用方式
客户端调用时,需要先配置Logger类的静态属性Config,建议在Global.asax中配置
1: Logger.Config = new ClientConfig() { MsmqName = "LogQueue", MsmqIP = "192.168.164.158" };
然后在需要写日志的地方调用Writer方法:
1: Logger.Write(new LogMessage());
3 各部分说明
消息队列:
基于接口的消息队列,以后可以方便扩展其他的消息队列(如自定义的消息队列)客户端发送日志:
消息持久化:
服务端读取消息队列并持久化:
附件:http://files.cnblogs.com/madboy/Debug.zip
转载于:https://www.cnblogs.com/madboy/archive/2012/09/18/2690621.html
基于消息队列的日志组件相关推荐
- 基于消息队列 RocketMQ 的大型分布式应用上云较佳实践
作者|绍舒 审核&校对:岁月.佳佳 编辑&排版:雯燕 前言 消息队列是分布式互联网架构的重要基础设施,在以下场景都有着重要的应用: 应用解耦 削峰填谷 异步通知 分布式事务 大数据处理 ...
- 基于消息队列 RocketMQ 的大型分布式应用上云最佳实践
简介:Apache RocketMQ 作为阿里巴巴开源的支撑万亿级数据洪峰的分布式消息中间件,在众多行业广泛应用.在选型过程中,开发者一定会关注开源版与商业版的业务价值对比. 那么,今天就围绕着商业版 ...
- 基于消息队列 RocketMQ 的大型分布式应用上云实践
简介: Apache RocketMQ 作为阿里巴巴开源的支撑万亿级数据洪峰的分布式消息中间件,在众多行业广泛应用.在选型过程中,开发者一定会关注开源版与商业版的业务价值对比. 那么,今天就围绕着商业 ...
- 基于消息队列的分布式事务解决方案
前两天发了工资,第一反应是想着要给远方的女朋友一点惊喜!于是打开了平安银行的APP给女朋友转点钱!填写上对方招商银行卡的卡号.开户名,一键转账!搞定!在我点击的那瞬间,就收到了app的账户变动的提醒, ...
- 几种常见的微服务架构方案简述——ZeroC IceGrid、Spring Cloud、基于消息队列
微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果.虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合 ...
- activiti异步执行_对基于消息队列的Activiti异步执行器进行基准测试
activiti异步执行 一点历史 永无休止的一件事是,Activiti在某些非常大的规模的大型组织中的使用方式. 过去,这导致了各种优化和重构,其中包括异步执行器-替换旧的作业执行器. 对于未启动的 ...
- 对基于消息队列的Activiti异步执行器进行基准测试
一点历史 永不停息的一件事是,Activiti如何以惊人的规模在一些大型组织中使用. 过去,这导致了各种优化和重构,其中包括异步执行器-替换旧的作业执行器. 对于未启动的用户:这些执行器在流程实例 ...
- java抢单功能_基于消息队列的高并发抢单功能实现方法与流程
本发明涉及嵌入式软件中间件,具体涉及一种基于消息队列的高并发抢单功能实现方法. 背景技术: 中间件是一种独立的系统软件或服务程序,分布式应用系统借助这种软件在不同的技术之间共享资源,管理计算资源和网络 ...
- 八.利用springAMQP实现异步消息队列的日志管理
经过前段时间的学习和铺垫,已经对spring amqp有了大概的了解.俗话说学以致用,今天就利用springAMQP来完成一个日志管理模块.大概的需求是这样的:系统中有很多地方需要记录操作日志,比如登 ...
最新文章
- 重构ncnn,腾讯优图开源新一代移动端推理框架TNN
- 计算机视觉以及它在商业中是如何应用的?
- ubuntu 查看显卡_Pop!_OS 与 Ubuntu:哪个更棒?
- Linux文本过滤与处理命令
- sudo:/usr/bin/sudo 必须属于用户 ID 0(的用户)并且设置 setuid 位
- 【Java 虚拟机原理】栈帧 | 局部变量表 | 操作数栈 | 方法出口 | JVM 指令逐条解析
- 破解微软xp黑屏方法
- boost::smart_ptr模块boost/pointer_to_other.hpp 的测试
- 软件需求和结构_软件体系结构
- 第九十三节,html5+css3移动手机端流体布局,基础CSS,头部设计,轮播设计,底部设计...
- 一种基于谷歌浏览器加载activex控件的解决方法与流程技术_Office控件使用总踩雷?畅写Office带你云端飞行...
- 2022年中国CRM行业研究报告
- PHP爱讯云商城源码v0.7.0-新增app功能
- python不完全支持面向对象程序设计_Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】...
- cvpr 注意力机制_视频人员重识别:关系引导空间注意力 + 时间特征提取模型
- 《机器学习实战》第二章学习笔记:K-近邻算法(代码详解)
- Apex 获取真正的IP地址
- linux中文乱码解决方案
- 十次方项目开发系列【1】:项目介绍和工程搭建
- layabox flash转html5,FlashBuilder中第一个H5程序“Hello Layabox”
热门文章
- 网页制作小技巧:dl dt dd标签用法
- springBoot(20):使用Spring Session实现集群-redis
- 如何找出MySQL数据库中的低效SQL语句
- MarshalByRefObject 的DOME代码
- 《星辰傀儡线》人物续:“灭世者”、“疯狂者”、“叛逆者”三兄妹
- 原来嵌套个网页的技术是这样的
- 多股回测(backtrader+quantstats+akshare)
- 三次握手的第三个ACK包丢了,会发生什么?
- 网络爬虫--22.【CrawlSpider实战】实现微信小程序社区爬虫
- double 二进制 java_C#中将double值变成二进制然后写入文件,Java中载入该文件读取此二进制double值时不正确...