自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

daizhj的专栏

http://t.sina.com.cn/daizhj

  • 博客(375)
  • 收藏
  • 关注

原创 NET下RabbitMQ实践[示例篇]

在上一篇文章中,介绍了在window环境下安装erlang,rabbitmq-server,以免配置用户,权限,虚拟机等内容。今天将会介绍如果使用rabbitmq进行简单的消息入队,出队操作,因为本文演示的环境要用到上文中配置的环境,所以要运行本文sample,请先按上一篇中完成相应环境配置。首先,我们下载官方的.net客户端软件,链接:http://www.rabbitmq.com/dotnet.html.下载并安装之后,将安装目录下的这两个DLL文件复制到我们示例项目中,并添加引用:

2010-10-21 13:37:00 3106 2

原创 NET下RabbitMQ实践[配置篇]

这个系列目前计划写四篇,分别是配置,示例,WCF发布,实战。当然不排除加餐情况。 介绍:rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。他遵循Mozilla Public License开源协议。采用 Erlang 实现的工业级的消息队列(MQ)服务器。 RabbitMQ的官方站:http://www.rabbitmq.com/

2010-10-21 13:35:00 2037

原创 基于MongoDB分布式存储进行MapReduce并行查询

之前的文章中介绍了如何基于Mongodb进行关系型数据的分布式存储,有了存储就会牵扯到查询。虽然用普通的方式也可以进行查询,但今天要介绍的是如何使用MONGODB中提供的MapReduce功能进行查询。有关MongoDb的MapReduce之前我写过一篇文章 Mongodb Mapreduce 初窥,今天介绍如何基于sharding机制进行mapreduce查询。在MongoDB的官方文档中,这么一句话:

2010-09-13 12:40:00 2165

原创 基于Mongodb分布式存储物理文件

在之前的文章中介绍了如何对关系型数据数据通过auto-sharding进行分布式数据存储,今天介绍如何对物理文件(小文件,基本小于100K)进行分布式存储。接着看一下要配置的测试环境(与前一篇中类似):模拟2个shard服务和一个config服务, 均运行在10.0.4.85机器上,只是端口不同:

2010-09-09 09:16:00 4470 2

原创 基于Mongodb进行分布式数据存储

注:本文是研究Mongodb分布式数据存储的副产品,通过本文的相关步骤可以将一个大表中的数据分布到几个mongo服务器上。MongoDB的1.6版本中auto-sharding功能基本稳定并可以尝试放到生产环境下使用。因为其是auto-sharding,即mongodb通过mongos(一个自动分片模块,用于构建一个大规模的可扩展的数据库集群,这个集群可以并入动态增加的机器)自动建立一个水平扩展的数据库集群系统,将数据库分表存储在sharding的各个节点上。

2010-09-07 13:32:00 15115 12

原创 发布基于silverlight4的HaoRna.WebCam摄像头应用源码

在去年年底,为了学习Silverlight4.0的新特性,我萌生了开发一个基于其新特性的项目。当然在这个项目中使用了包括鼠标右键菜单(Popup),打印功能(PrintDocument),导航功能,摄像头,图片上传等。当然目前这个产品已在我们的官方产品Discuz!NT3.1中使用,今天开源的仅是本应用的源码。 下面链接中是产品的运行截图: http://www.cnblogs.com/daizhj/archive/2010/02/26/1674389.htm

2010-08-31 11:45:00 3983 8

原创 一致性Hash算法(KetamaHash)的c#实现

最近在研究"一致性HASH算法"(Consistent Hashing),用于解决memcached集群中当服务器出现增减变动时对散列值的影响。后来 在JAVAEYE上的一篇文章中,找到了其中的 KetamaHash 算法的JAVA实现(一种基于虚拟结点的HASH算法),于是为了加深理解,对照 JAVA版本,用C#重写了一个。放到这里,如果大家感兴趣的话, 可以下载测试一下,如果发现写法有问题请及时告之我,以便我及时修正。 下面是对Ketama的介绍:

2010-08-24 16:08:00 9954 16

原创 使用Mongodb存储上传物理文件并进行SQUID加速(基于aspx页面)

之前在阅读MongoDB GFS文档时,学习了它如何存储物理文件(包括大文件)的方式。为了加深印象,专门写了一个上传文件存储到Mongodb的示例。当然后因为是存储到文档数据库中,所以就不能用普通方式来访问这些物理文件了,这里又专门写了一个aspx页面专门读取这些文件(比如图片或MP3等),所以下载示例之后会看到两个页面,一个是uploadfile.aspx(上传),一个是getfile.aspx(从mongodb中把文件以流的方式读出来)。当然考虑到访问速度,这里还引入了SQUID来进行文件

2010-08-19 14:18:00 2572 3

原创 Discuz!NT千万级数据量上的两驾马车--TTCached,MongoDB

在Discuz!NT的企业版设计过程中,处理大数据表一直是一个让人头疼的问题,特别是像主题表(topic),用户表(user)等,因为对于一个流量和发帖量都很大的论坛而言,在运行几年之后,这两个表的数据量可能会破千万(注:因为帖子表采用分表机制,所以这里暂未涉及,但出于性能考虑,也提供了本文中类似的解决方案)。当时考虑的架构设计中有两种思路来解决这种问题:

2010-07-20 11:22:00 3260

原创 Discuz!NT企业版之Sphinx全文搜索(下)

在前文中,介绍了Discuz!NT引入SPHINX的背景和相应的客户端的C#代码架构实现。今天这篇文章将会介绍如果在LINUX环境下安装配置SPHINX中文搜索工具,也就是服务器配置方案. 目前在网络上可以找到的SPHINX中文插件主要有两个: 1.coreseek: http://www.coreseek.cn/ 2.sfc: http://code.google.com/p/sphinx-for-chinese/

2010-06-30 08:48:00 3374

原创 Discuz!NT企业版之Sphinx全文搜索(上)

作为Discuz!NT企业版中的一员,在设计企业级搜索架构之初,就考虑了海量数量,准实时索引更新,并发访问,安装布署等诸多方面。目前在生产环境下被广泛使用的开源搜索引擎中,sphinx以其强大快速的索引功能,优异的并发响应性能,方面灵活的布署,分布式查询等诸多因素而倍受青睐。 目前Sphinx广泛应用在Linux平台上,尽管官方所发布的产品中也有window版本,并且支持mssql数据库,但在使用过程中才发现,其只在发布的windows平台下的版本里才支持mssql数据库,而lin

2010-06-28 09:18:00 4934 3

原创 Discuz!NT负载均衡方案

在前面的几篇文章中,主要谈到了在Discuz!NT中的跨站缓存数据,数据库负载均衡。但如果要实现将产品分布式布置到若干机器,组成集群来共同支撑起整个业务的话,还是有一定问题的(后面会有所介绍)。下面先介绍一下如何使用 Discuz!NT负载均衡方案搭建分布式应用。 Discuz!NT前端负载均衡是基于nginx实现的,下面是它的一些简介:

2010-06-24 10:19:00 1872

原创 Discuz!NT 数据库读写分离方案

目前在Discuz!NT这个产品中,数据库作为数据持久化工具,必定在并发访问频繁且负载压力较大的情况下成 为系统性能的‘瓶颈’。即使使用本地缓存等方式来解决频繁访问数据库的问题,但仍旧会有大量的并发请求要访 问动态数据,虽然 SQL2005及2008以上版本中性能不断提升,查询计划和存储过程运行得越来越高效,但最终还是 要面临‘瓶颈’这一问 题。当然这也是许多大型网站不断研究探索各式各样的方案来有效降低数据访问负荷的原 因, 其中的‘读写分离’方案就是一种被广泛采用的方案。 Dis

2010-06-21 14:33:00 6889 17

原创 Discuz!NT跨站缓存同步

在之前的文章中,提到了在Discuz!NT中进行缓存分层的概念。之前在产品中也实现了其中的构想,但该方案有一个问题,就是如果将产品进行分布式布署之后,如果某一站点发生数据变化时,只能更新本地缓存和Memcached缓存信息,而其它分布式布署的站点则无法收到缓存数据已修改的‘通知’,导致数据不同步而成为‘脏数据’。 虽然在之前的文章中提到通过将本地缓存失效时间‘缩短’(比如15秒后即失效),以便在相对较短的时间内让本地数据失效从而再次从Memcached读取最新的数据,但这必定不符合

2010-06-18 08:44:00 1610

原创 Discuz!NT负载均衡解决方案(HA)之---LVS(Linux Virtual Server)

在Discuz!NT的最新版本中,支持目前主流LINUX平台上的负载均衡解决方案,比如NGINX,HAPROXY,LVS等。本文与其说是解决方案,倒不如说是介绍如何搭建Discuz!NT负载均衡解决方案:) 因为我们的产品运行的主流平台是WINDOWS+IIS+SQLSERVER(2000以上版本),而LVS+KEEPALIVED是LINUX下的四层负载均衡软件。其有如下特点:LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率(在DR模式下),将请求均

2010-06-13 14:18:00 4819 5

原创 Mongodb Mapreduce 初窥

声明:本文是学习Mongodb过程中的副产品,因为接触时间并不长,难免有理解上的偏差,希望借此文与感兴趣的朋友讨论切磋,呵呵。去年年底,开始接触并学习Mapreduce模型。因为工作上的关系,最近开始研究Mongodb,其中对其新特性(2010年四月)reduce模型实现产生的兴趣,因为特别留意了一下。当然网上关于该方面的内容并不是很多,且多为EN文,所以我想有必要将学习使用过程中的一些问题作一下记录并加以整理,因为就有了此文。废话不多说了,开始正文吧!目前支持Mongodb的C#客户端应该就是Samue

2010-06-10 17:14:00 2595 2

原创 原创:发布一个基于TokyoTyrant的C#客户端开源项目

目前在网上关于TokyoCabinet(以下简称TC)和TokyoTyrant(以下简称TT)的资料已相对丰富了,但在.NET平台上的客户端软件却相对匮乏,因为做Discuz!NT企业版的关系,两个月前开始接触TC和TT,开始写相关的客户端代码。 这里开放的是客户端主要功能代码,开源的目的一方面是希望更多的人来学习研究TC和TT,同时大家可以下载本C#源码继续优化提升性能,同时查找BUG,必定本人精力能力有限,而Discuz!NT企业版的功能点又太多(抽空会多写文章进行介绍)实在

2010-06-08 13:07:00 3876 5

原创 基于silverlight4(beta)的摄像头应用(Beta2)发布

     在年前发布的基于silverlight4(beta)版的摄像头应用之后。经过最近一段时间的完善。目前已推出了beta2版,在修改了原有程序bug的基础上,做了如下变化:      1.将图片载入修改成为按原图宽高比进行缩放,所以以前可以分别沿X,Y轴变化的功能就砍掉了。     2.添加了控件样式,使显示效果更加丰富。     3.在高级模式下添加了没X,Y,Z轴设置图片

2010-02-26 17:06:00 865

原创 目前为止功能最全的基于silverlight4(beta)的摄像头应用

body {padding:0;margin:0;}       基于Silverlight4(beta)的WebCam(摄像头)应用,支持区域缩放,剪裁,自成生成缩略图,Ink涂鸦,以及特效等,同时也可将本地图片拖拽到编辑区域进行相应操作,支持保存到本地,打印图片信息, 鼠标右键菜单等等。       开发环境:vs 2010 beta2 , silverlight 4 beta

2010-01-13 17:57:00 1862 8

原创 IT餐馆—第二十六回 加薪

     今天上班一开MSN,发现郑伟的签名变成了‘爽’很是好奇。一问之后才知道最近郑伟升职并加薪了,并且加了20%,相当于平时跳槽一次的加薪幅度了。      雨辰开玩笑似的回复说:“希望你以后就用这个名字吧,将来百年之后不在了,到时就叫‘爽死了’”。      “大爷的,你又用郭德纲的段子来挖苦我,呵呵。”郑伟回复:“今天下班我请客,就在王老板餐馆那儿,目前老杜会来,老刘

2009-11-19 11:25:00 1298 1

原创 window server 2003 下安装squid

安装系统要求:windows server2003 service pack2   注:不能是r2版,否则squid服务启动会出错   1.把squid-2.6.STABLE13-bin.zip解压缩,把里面的squid文件夹拷到c:/下(squid默认的是c:/squid)   2.squid/etc目录下把  Code highlighting produced by Actipro

2009-11-18 14:27:00 1262

原创 使用Sqlserver事务发布实现数据同步

      事务的功能在sqlserver中由来已久,因为最近在做一个数据同步方案,所以有机会再次研究一下它以及快照等,发现还是有很多不错的功能和改进的。这里以sqlserver2008的事务发布功能为例,对发布订阅的方式简要介绍一下操作流程,一方面做个总结备份,一方面与大家进行一下分享和交流。费话就不多说了,进入一下今天的正题:)     这里要说明一下环境:首先我在本地局域网内有两台

2009-11-18 12:27:00 1016 1

原创 在Discuz!NT中进行缓存分层(本地缓存+memcached)

       在以前的两篇文章(Discuz!NT 缓存设计简析, Discuz!NT中集成Memcached分布式缓存)中,介绍了Discuz!NT中的缓存设计思路以及如何引入Memcached,当然前者是IIS进程的缓存(本地缓存),后者是分布式内存对象缓存系统。      两者通过Discuz!NT中的memcached.config文件中的ApplyMemCached结点的值来决

2009-11-17 11:20:00 1911 2

原创 IT餐馆—第二十五回 结对

    周五开会时,有人提出在团队中采用结对开发的Agile实践。     当然团队里有人说,如果让新手与水平高的人结对,基本上就是知识的单向传递了,对于新手来说的确是个不错的学习机会,但对于水平高的开发者,就未必不乐意了。不过雨辰心里想,这样还有一方受益,就是公司,因为公司巴不得每个新人都能在最短的时间内变成‘高手’,这样就可以用比高手低的多的工资来获取高质量的代码。     会后

2009-11-16 09:18:00 699

原创 IT餐馆—第二十四回 明智

     自从上回老杜把TDD,DDD在中国的处境看成是‘水土不服’之后,雨辰就一直想找个机会再跟老杜‘理论’一下。后来在整理以前资料的时候找到了Ivar Jackbson(UML三友,用例的发明人)在2008中国之行时做的一次演讲时用的PPT,其中提出了一种称之为‘明智软件开发’的软件开发思路。雨辰当时看这个大约4M的ppt时的第一印象就是Ivar破天荒的提出将UP与敏捷有机结合到一起,并

2009-11-13 15:27:00 1146

原创 IT餐馆—第二十三回 对手

    这几天产品终于发布了,在做完了阶段总结之后,剩下的主要工作就是解决官网上用户反馈的一些问题,因为工作量不是很大,所以雨辰能抽一些时间观注一些新技术比如 windows7下开发multi-touch应用等。不过今天早上有同事在RTX上发消息说从竞争对手那边泄露出来的源码中发现有抄袭自己产品的痕迹,很是不平。其实这种事这些年雨辰经历了一些,态度也从当初的气愤变成了现在的‘一笑了之’。 

2009-11-12 13:21:00 858

原创 IT餐馆—第二十二回 控件

    周三中午吃完饭,雨辰从食堂回来,发现开发小组中的一位姓黄的同事(组里管他叫老黄牛)正在看一本.net的书,因为这几年雨辰已基本上不再买技术类的书了,因为真正看的上眼、有价值、有水准的书籍前些年基本都翻遍了。雨辰带着好奇心走过去问老黄关于该书的一些情况,因为已过了对那些所谓标以‘入门’、‘精通’,‘深入浅出’,‘宝典’之类图书的‘感冒期’,所以就单刀直入,问了老黄正在看的部分。  

2009-11-10 10:26:00 923

原创 使用cwRsync实现windows下文件定时同步(备份)

     首先要下载cwRsync的服务端和客户端软件,下载地址如下:     服务端:cwRsync_Server_2.0.10_Installer     客户端:cwRsync_2.0.10_Installer     然后我在本地机器上安装了其中的服务器端(10.0.2.136),然后在同网段下的另一台机器(10.0.2.137)安装了客户端。为了测试,我专门在本地机器上

2009-11-03 17:33:00 2895 1

原创 玩玩负载均衡---在window与linux下配置nginx

      最近有些时间,开始接触负载均衡方面的东西,从硬件F5再到Citrix Netscalar。不过因为硬件的配置虽然不复杂,但昂贵的价格也让一般用户望而却步(十几万到几十万),所以只能转向nginx,squid这类有反向代理功能的软件了。好在其设置都不是很麻烦。       本文就之前所做过的安装和配置步骤做一下总结分享出来,以免日后忘记了。      首先是windows系统,这里建

2009-11-03 15:33:00 1465 1

原创 IT餐馆—第二十一回 管理

    雨辰今天早上来的早,但一上线就看到老杜在那报怨,说昨天刚跟领导‘吵了一架’主要是针对产品需求分析看法和观点不一致,分歧比较大,谁也没说服谁,最后领导一拍桌子说:“我是这个团队的头,这点事都决定不下来?就按我的意思办了。”     老杜气呼呼的说:“TMD,他以为他是谁呀,以前给他好脸是哄着他玩呢!眼下什么世道,真应了这幅对联:上级压下级,一级压一级级级加码马到成功。下层蒙上层,一

2009-11-02 09:23:00 1157

原创 IT餐馆—第二十回 银光

    郑伟听雨辰话题一转,便正色道:“你说是silverlight3.0吧,我其本上通过SDK了解的差不多了,眼下我主要的兴趣还是在其视频的支持上,按其官方提供的技术文档说是新增了H.264,AAC,MP4格式支持。你呢?”     雨辰笑着说:“还是在其复杂数据展示上面,我想富媒体展示和交互是其主要方向,必定其对手是FLASH,换句话,FLASH中的优势应该被silverlight所吸取并

2009-10-28 15:15:00 1495 1

原创 当DiscuzNT遇上了Loadrunner(下)

       在之前的两篇文章中,基本上介绍了如何录制脚本和生成并发用户,同时还对测试报告中的几个图表做了简单的说明。今天这篇文章做为这个系列的最后一篇,将会介绍如何通过测试报告来查看系统的运行情况,找出影响性能的因素,以及如何去进行优化。       首先,看一下这张并发用户的图:             这是在优化之前我生成的测试报告的截图,通过这张图可以看到这个测试过程长

2009-09-27 16:58:00 957

原创 当DiscuzNT遇上了Loadrunner(中)

       在上文中,介绍了如果录制脚本和设置脚本执行次数。如果经过调试脚本能够正常工作的话,就可以设置并发用户数并进行压力测试了。       首先我们通过脚本编辑界面上的“工具”菜单项,选择该菜单的第二项“Create Controller Scenario(创建控制场景)”,如下图:            这时,lr会弹出一个窗口,我们只要在select sce

2009-09-27 11:58:00 989

原创 当DiscuzNT遇上了Loadrunner(上)

      DiscuzNT3正式版发布已经有一段时间了,最近半年多来很少再写关于这个产品的技术文章了,一是时间,二是精力有限。不过在正式版发表之后,倒是有了些功夫,同时我们的一个商业客户在从2.6版本升级到3.0正式版之后,出了一个小插曲,导致不得不退回到2.6版本。因为这个客户的论坛访问量和发帖量比较大,平时在线人数5000,日发帖量在2-3万左右。所以出了一些性能上的问题,在大并发情况

2009-09-25 12:58:00 1105

原创 一个Asp.net MVC 控件项目分析---Telerik.Web.Mvc

body {padding:0;margin:0;}      在写本文之前,本人一直抱着‘不宜’在asp.net MVC框架下搞什么控件开发的想法,因为一提到控件就会让人想起‘事件’,‘VIEWSTATE’等一些问题,而asp.net MVC下是Controller, Action, Viewpage, Filter等特性的‘天下’。所以总感觉‘驴唇对不上马嘴’。       但直

2009-09-09 08:58:00 1428 1

原创 IT餐馆—第十九回 装B

      周末,郑伟约雨辰出来吃饭,正在最近雨辰吃得比较素,正好就着这次机会改善一下生活。两人周六晚上到了王利餐馆,要了几个晕菜,开了两瓶啤酒,有说有笑的边吃边聊了机来。两人从大学开始,一直聊到毕业之后找工作,又聊到眼下的国内经济形势,聊着聊着就扯到了雨辰昨晚在天涯社区上看到的一篇文章。浅析人们“为什么要装B”以及“怎样装B”,文中对人们装B的心态和原因做了一定程度的分析,虽然有些YY的嫌

2009-09-03 17:58:00 586

原创 IT餐馆—第十九回 装B

     周末,郑伟约雨辰出来吃饭,正在最近雨辰吃得比较素,正好就着这次机会改善一下生活。两人周六晚上到了王利餐馆,要了几个晕菜,开了两瓶啤酒,有说有笑的边吃边聊了机来。两人从大学开始,一直聊到毕业之后找工作,又聊到眼下的国内经济形势,聊着聊着就扯到了雨辰昨晚在天涯社区上看到的一篇文章。浅析人们“为什么要装B”以及“怎样装B”,文中对人们装B的心态和原因做了一定程度的分析,虽然有些YY

2009-09-03 17:06:00 821

原创 IT餐馆—第十八回 祭奠

     周一中午吃过午饭,雨辰发现老杜MSN正在线上,就打了个招呼,老杜也挺闲,哥俩儿就聊了起来。侃了一会,就把话题转到了一则新闻上:     富士康员工因丢失iPhone被调查跳楼自杀      雨辰是前些时候在CSDN上看到这则新闻的,一开始还真是挺气愤,主要是公司怎么能把员工逼到这个份上。雨辰想听听老杜对这个事的看法,就把新闻链接发了过去,不一会儿,老杜在那头回复说:“M

2009-08-31 13:58:00 611

原创 IT餐馆—第十八回 祭奠

     周一中午吃过午饭,雨辰发现老杜MSN正在线上,就打了个招呼,老杜也挺闲,哥俩儿就聊了起来。侃了一会,就把话题转到了一则新闻上:     富士康员工因丢失iPhone被调查跳楼自杀      雨辰是前些时候在CSDN上看到这则新闻的,一开始还真是挺气愤,主要是公司怎么能把员工逼到这个份上。雨辰想听听老杜对这个事的看法,就把新闻链接发了过去,不一会儿,老杜在那头回复说:“MD,以

2009-08-31 13:45:00 653

原创 介绍三个Silverlight 在线编辑器控件

可能是我观注的东西有些另类,导致目前我找到的SL在线编辑器只有三款,分别是: devexpress :   http://demos.devexpress.com/AgRichEditDemos/  telerik :           http://demos.telerik.com/silverlight/#Editor/FirstLook vectorlight : 

2009-08-26 12:58:00 973

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除