摘要: 下面是一些个人架构上的总结,本来想只在公司内部进行共享的,因此内容写的口语化一点,也没什么图示,所有内容没有查任何资料是脑子里面的东西吐出来的因此可能会不准确不全,希望抛砖引玉,大家互相讨论。要注意,我这些文章是一个总体的架构经验不针对具体的语言和平台,因此也不一定是适用所有的语言和平台的。(内容慢慢完善中,该系列文章为原创)前端架构http://www.cnblogs.com/lovecindywang/archive/2012/12/25/2832894.html(前端内容有点少我不懂前端)后端架构系统层面http://www.cnblogs.com/lovecindywang/archi阅读全文
posted @ 2012-12-23 12:20 lovecindywang 阅读(3542) 评论(3) 编辑
摘要: 现在AI越来越火,其实很多东西真正懂了原理并不是这么高大上 这里给一个手动打造的简单神经网络做手写识别的例子 代码见 链接: https://pan.baidu.com/s/1boHxuCB 密码: dmch(里面包含了Notebook以及需要的图片数据,文件比较大,只能传网盘。。。) 这个Note阅读全文
posted @ 2017-10-25 16:12 lovecindywang 阅读(57) 评论(0) 编辑
摘要: 虽然很多人已经使用了JDK8,看到不少代码,貌似大家对于Java语言or SDK的使用看起来还是停留在7甚至6。 Java8在流式 or 链式处理,并发 or 并行方面增强了很多,函数式的风格使代码可读性更高 。 希望通过这个分享,多达200+例子的演示,让大家从使用层面到思想层面进行转变,用好Ja阅读全文
posted @ 2017-01-05 21:53 lovecindywang 阅读(1243) 评论(0) 编辑
摘要: 之前做的一个PPT,分享给博客园的同学。 下载地址: 学技术练英语.pdf 技术是靠自己去学的,学技术不能仅仅是看书看博客,最好是有实践,不管是做实验去验证,还是写各种代码去玩各种特性,还是造轮子都是非常好的学习方法。技术发展很快,学好基础的可以提升自己的内功,以后学其他知识都会很快,把一方面的技术阅读全文
posted @ 2016-11-19 16:11 lovecindywang 阅读(339) 评论(1) 编辑
摘要: 在这里分享一些之前对某网站会员/用户系统(一般域名都是passport.xx.com)进行漏洞检查查出的一些问题,这些问题大多都是逻辑类漏洞,利用漏洞进行攻击并不需要什么高深的技术能力,所以危害尤其大,把相关经验分享给大家希望大家可以自查。这里要说明,下面很多漏洞的例子是基于已经获得有效的账号密码(...阅读全文
posted @ 2015-06-05 13:04 lovecindywang 阅读(4117) 评论(18) 编辑
摘要: 模式 接下来去聊一聊框架设计中的一些常见设计模式,这和传统的一些设计模式不同(之前写过 无废话C#设计模式系列文章,有兴趣的读者可以去看一下),这里聊的一些设计模式是比较高层的粗粒度的架构设计模式,主要是用于之前说的构建框架的龙骨,使得框架中的几百个类型可以有结构有条理组织在一起,在这些模式之中你完...阅读全文
posted @ 2015-04-23 16:14 lovecindywang 阅读(1793) 评论(2) 编辑
摘要: 【原创】如何写一个框架:步骤(上)说明:写本文的时候作者完全是把脑子里的东西写了出来,没有参考任何的资料,所以对于每一项内容可能都是不完整的,不能作为一个完整的参考。有一些方法学的东西每个人都有自己的喜好,没有觉得的对和错。 单元测试在这之前我们写的框架只能说是一个在最基本的情况下可以使用的框架,作...阅读全文
posted @ 2015-04-22 15:56 lovecindywang 阅读(7597) 评论(17) 编辑
摘要: 说明:作者也没写过什么框架,只是分享一些自己的理解,抛砖引玉罢了。如果你写过一些框架可能会产生一些共鸣欢迎讨论,如果你正在写或正打算写一个框架可能会给你一些启发。本文以为较长可能会分多个篇博客来写,现在能想到的是主要分为步骤、模式两部分。如果你觉得好,按一个推荐举手之劳让更多的人可以看到。步骤 定位...阅读全文
posted @ 2015-04-21 17:18 lovecindywang 阅读(24051) 评论(27) 编辑
摘要: 爱好网络游戏吗?爱好网站开发技术吗?有没有想过可以成为史诗级MMO RPG《激战2》运营团队中的一员?如果下面的职位有合适你的,加入我们吧!http://gw2.kongzhong.com/http://www.kongzhong.com简历发到 zhuye@kongzhong.com(所有职位工作地点上海张江)Java架构师职责:负责设计和实现一个高性能、高可用的TCP类库(比如实现一个Mongodb的客户端)使游戏和网站可以相互整合。根据不同的网站业务需求规划网站后端方面的架构、代码组织模式、代码风格,根据网站的业务需求对后端的框架(比如RPC、MVC、IOC、MQ、Search、Cach阅读全文
posted @ 2013-08-03 15:35 lovecindywang 阅读(1773) 评论(3) 编辑
摘要: 回到索引http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html框架层面:近几年前端发展很快,前端之所以叫前端因为前端是已经可以独立成为一种职业了,js也不再是十年前的玩具了,以前富客户端RIA的应用可能会用flash/flex或是silverlight,现在可以使用js来完成大部分的功能,因此js作为一门前端的支撑语言也不仅仅是进行的简单的编码,越来越多框架性的东西出现了。越来越多的开发模式转变为后端只是吐json的数据源,而前端做所有UI的事情。MVCMVC实现职责分离是很好的,大多数网站在后端都会引入MVC框阅读全文
posted @ 2012-12-25 18:21 lovecindywang 阅读(9083) 评论(14) 编辑
摘要: 回到索引http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html性能层面:性能分析我觉得性能分析的话要注意几个要点:不要去猜:对于自己写的代码你是否知道你的代码要执行多久,是不是还在用时间相减来测试代码执行时间?现在有很多自动化的工具可以在程序运行的时候,测试代码中每一句语句的执行时间,可以有效分析出代码的性能瓶颈。对于比较重要的业务逻辑建议采用类似的工具来进行性能分析,有的时候性能慢的代码不一定是自己写的还可能是框架内提供的,如果没有一个丰富的编码经验是不太可能知道这些点的,但是通过这样的分析工具你就能知道这个地阅读全文
posted @ 2012-12-23 18:01 lovecindywang 阅读(1900) 评论(0) 编辑
摘要: 回到索引http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html设计层面:分层架构分层架构是项目设计中很重要的一点,从根本的目的上来说就是为了职责的分离。最经典的三层架构,到四层五层六层,甚至有人开玩笑说十八层的分层,根据项目的需要可以分不同的层。这里说的层其实是逻辑层,从物理层的角度来说也有三层、四层五层的分层架构。之所以三层架构这么流行是因为它的分层把大的关注点进行了分离,层数恰到好处,表现层、业务逻辑层和数据访问层,分别处理面向用户呈现的、面向逻辑处理的和面向数据库存取数据的三大关注点。在分层架构中除了分层之阅读全文
posted @ 2012-12-23 16:48 lovecindywang 阅读(4166) 评论(7) 编辑
摘要: 回到索引http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html框架层面:SOA在这一篇中会逐个介绍一下自己对这些XXX的理解,其实每一个理念都不是莫名其妙产生的而是有产生背景的,这些时髦的名词不是用来炫耀的,而是真正要理解它们是干什么的,并且框架千万不能乱用理念也千万不能乱用,并不是把所有的这些都用上你的系统才是一个牛逼的系统,一定要适合才是最好的,并且要保持简单可靠的原则。所谓SOA,字面上来说是面向服务的架构。有的人不说SOA其实他已经SOA了,有的人大谈SOA但其实只是在用Web服务,SOA可大可小。你可以阅读全文
posted @ 2012-12-23 15:50 lovecindywang 阅读(3551) 评论(4) 编辑
摘要: 回到索引http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html架构层面:日志集中所谓日志集中就是把程序的所有日志和异常信息的记录都汇总到一起,在只有一台服务器的时候我们记录本地文件问题也不是最大,但是在负载均衡环境下再记录本地日志的话就出现问题了。在想查看网站日志的时候到哪台机器去查都不知道,难道有100台机器就100台机器逐一远程连上去看?因此,把这些数据汇总在一起保存对于大型网站系统来说是很必要的,这样我们就可以直接进行查看、搜索,也很明确可以知道是哪台机器的业务出了问题。至于这种日志数据是写到RDBMS还是阅读全文
posted @ 2012-12-23 13:13 lovecindywang 阅读(4192) 评论(2) 编辑
摘要: 回到索引http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html安全层面:SQL注入SQL注入是一个古老的安全问题,现在任何程序都不应该再出现这样的问题了,其原理非常简单,在过去大多数程序都是直肠子通数据库的,因此如果拼接SQL并且在参数上没有做好过滤或者没有使用参数形式来生成SQL语句的话可能会导致用户在页面上输入的恶意代码直接在数据库中执行。SQL注入的危害点在于整个网站有1000个数据点,如果其中有1个点有漏洞那么整站的数据其实都有危险了,很多开发会注重资金相关的模块但是忽略新闻相关的模块,如果都是使用一套数阅读全文
posted @ 2012-12-23 12:27 lovecindywang 阅读(1443) 评论(0) 编辑
摘要: 回到索引http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html语言层面:运行时元数据获取所谓运行时元数据获取也就是在程序运行的时候通过代码动态获得类型、方法、属性的信息,然后可以动态获得属性的值,执行方法等等,在有的语言中称为反射。反射不一定是高效的,但是在写框架程序的时候反射是一种很有用的技术,并且反射的性能开销往往是可以通过诸如缓存等手段来最小化的。比如在ORM中,根据实体类的信息动态获得所有的属性,然后取得其值,生成要到数据库中执行的SQL语句。理解反射熟练掌握反射的使用以及性能优化是编写框架类代码很重要的阅读全文
posted @ 2012-12-23 12:22 lovecindywang 阅读(1792) 评论(0) 编辑
摘要: 回到索引http://www.cnblogs.com/lovecindywang/archive/2012/12/23/2829828.html系统层面:高可用性所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速故障转移。一般可以使用KeepAlived或HeartBeat阅读全文
posted @ 2012-12-23 12:20 lovecindywang 阅读(2075) 评论(0) 编辑
摘要: 下面是一些个人架构上的总结,本来想只在公司内部进行共享的,因此内容写的口语化一点,也没什么图示,所有内容没有查任何资料是脑子里面的东西吐出来的因此可能会不准确不全,希望抛砖引玉,大家互相讨论。要注意,我这些文章是一个总体的架构经验不针对具体的语言和平台,因此也不一定是适用所有的语言和平台的。(内容慢慢完善中,该系列文章为原创)前端架构http://www.cnblogs.com/lovecindywang/archive/2012/12/25/2832894.html(前端内容有点少我不懂前端)后端架构系统层面http://www.cnblogs.com/lovecindywang/archi阅读全文
posted @ 2012-12-23 12:20 lovecindywang 阅读(3542) 评论(3) 编辑
摘要: 爱好网络游戏吗?爱好网站开发技术吗?有没有想过可以成为史诗级MMO RPG《激战2》运营团队中的一员?如果下面的职位有合适你的,加入我们吧!http://gw2.kongzhong.com/http://www.kongzhonghd.com/about.html简历发到 zhuye@kongzho...阅读全文
posted @ 2012-10-24 17:47 lovecindywang 阅读(3977) 评论(6) 编辑
摘要: 招聘后端(Java、Php)前端、数据库等各类人才(开发经理、架构师、开发、DBA)(四)大学的时候接上文。在大学的时候有各种各样的社团,出于对做网站的喜欢,当时加入了一个网络社团,想学学做网站的东西,当时对社团里面会动态语言做asp网站的人钦佩的不得了,于是回家买了一本asp的书:我真正的启蒙书,当时我室友也是会一点html和静态网站的,他看了我学asp就说你不要尝试了,这个很难学的学不会的。后来我还是没有放弃,坚持照着书上的例子做,大概几个月的时间我发现居然会用asp做一些小系统了,由于和网络学会一个学长关系比较好,于是他拉我和其他几个学长一起“创业”接一些外包的小网站来做,当时我们这个小阅读全文
posted @ 2012-10-23 16:17 lovecindywang 阅读(11151) 评论(111) 编辑
摘要: 招聘后端(Java、Php)前端、数据库等各类人才(开发经理、架构师、开发、DBA)小的时候有写日记的习惯,不是自己要写而是为了完成任务,后来发现写日记确实也是可以培养语言表达能力的。上了高中之后除了作业就很少写东西了,趁着这几天休息想写一下我使用电脑、学习技术的历程。一来当作分享,看看大家是否能有一些共鸣和启示;二来当作回忆,随着年龄的增长很多事情渐渐记不住了,想在纸面上留下点记忆。(一)小学的时候我是很早就接触和喜欢计算机的,可能有近20年的历史了,不过说来也惭愧,我经常和同事们说虽然接触电脑这么长时间,但是技术水平并不比你们接触电脑几年的人多几倍。记得最早的时候是我在上小学的时候,在我妈阅读全文
posted @ 2012-10-23 13:52 lovecindywang 阅读(11246) 评论(44) 编辑
摘要: 经过4天的开发,ios的网络书店基本完成了:登陆注册图书列表,下拉放开刷新,下拉到底查看更多,图片异步加载我的信息,查看订单修改密码查看图书详情加入购物车提交订单sqllite存放浏览日志,定时提交plist文件存放购物车架构中最重要的元素:模块化,纵向分割层次化,横向分割抽象和实现分离解耦,同构组件如何通讯,异构组件如何通讯职责分离重构中:消除重复代码,消除魔数BookStore应用虽然简单,但包括的内容不少分层架构层之间的通讯控制各种数据访问的演示分层架构如下:Resources用于各种资源,比如图片、icon和多语言的文本Core就是业务逻辑层用于管理数据访问层,以及作为数据的容器Con阅读全文
posted @ 2012-09-11 13:28 lovecindywang 阅读(4178) 评论(12) 编辑
摘要: 带链接的完整版本:http://files.cnblogs.com/lovecindywang/.net.pdfhttp://files.cnblogs.com/lovecindywang/j2ee.pdf开源和非开源(当然,现在微软很多产品也开源了)平台的很大不同在于:开源的好东西确实是多,但质量也是参差参差不齐的,各个不同产品在不同版本的兼容性也是问题。非开源社区贡献相对较小,微软产品线的产品兼容性是不错的,但是一家独大也容易造成社区积极性不足。补充说明:J2EE的图中看不到Spring,.NET的图中看不到IIS,有一些共识的东西就不提了。这里不比较谁好谁坏,只是列出一些关键词,在做架构阅读全文
posted @ 2012-08-06 10:05 lovecindywang 阅读(3976) 评论(15) 编辑
摘要: 最近转了部门负责移动开发,自从接触了iOS之后,也成了一个果粉,喜欢苹果的iPad、iPhone也喜欢MacOS,iOS虽然封闭但非常吸引我,我感觉苹果的每一个细节都很完美,ObjectiveC语言也很简单实用,准备系统学习一下然后在这里写点自己的心得分享给大家。ObjC基本语法类和对象属性协议扩展字符串集合代码快内存管理运行时错误处理iOSTableViewController文件系统核心数据资...阅读全文
posted @ 2012-06-02 14:47 lovecindywang 阅读(736) 评论(4) 编辑
摘要: 工作职责:1、为IOS、Android、WindowsPhone等手机终端以及网站、Wap网站设计和开发后端程序。2、承担一定的后端程序性能优化和运维工作,在整个过程中持续改善性能以及为系统进行横向扩容。职位要求:1、至少四年以上.NET(C#)/Java开发经验,精通.NET 3.5、.NET 4框架,阅读过部分.NET源代码。2、熟悉服务端常见的一些开发技术,比如池、Socket、序列化、压缩、Wcf、Web服务、多线程等。3、熟悉服务端常见的一些优化技术,比如(分布式)缓存、队列、索引、异步操作等。4、具有很强的面向对象设计能力和业务分析能力,了解常见设计模式和测试方式,参与过架构设计和阅读全文
posted @ 2012-03-07 22:43 lovecindywang 阅读(1539) 评论(3) 编辑
摘要: ASP.NET MVC和WCF真是微软两个很棒的框架,设计的很好,可扩展性非常强,到处都是横切、管道。以前写过一篇MVC流程的文章,http://www.cnblogs.com/lovecindywang/archive/2010/12/02/1894740.html主要是使用了MVC的各种扩展。如下图列出了WCF的一些扩展点供参考,其实知道某个扩展点是干什么之后,搜索一下MSDN这个接口就一清二楚了:大部分情况下针对服务模型层进行扩展即可,我们可以看到就一个服务调用已经被完全打散了,细化到:调用的参数、调用什么方法、调用什么类型、类型怎么创建、消息的拦截、错误拦截、上下文初始化、服务承载。。阅读全文
posted @ 2012-03-01 20:05 lovecindywang 阅读(5023) 评论(3) 编辑
摘要: 原文地址:http://www.25hoursaday.com/CsharpVsJava.html 6、集合 许多有名的编程语言都会包含一个集合框架,框架一般由各种用于保存数据的数据结构和配套的操作对象的算法构成。集合框架的优势是让开发者可以不用写数据结构和排序算法,把精力放在真正的业务逻辑上。还有就是可以让不同的项目保持一致性,新的开发者也少了很多学习曲线。 C#集合框架大多位...阅读全文
posted @ 2012-02-10 17:52 lovecindywang 阅读(2845) 评论(3) 编辑
摘要: 原文地址:http://www.25hoursaday.com/CsharpVsJava.html简介C#语言是一门面向对象的语言,开发者可以使用C#和微软.NET平台快速构建各种应用程序。C#和.NET平台的目标是把开发者从一些诸如内存管理、类型安全问题、底层类库、数组边界检查等等的底层问题中解放出来并节约大量的时间,这样开发者就可以真正把时间和精力放在他们的应用程序和业务逻辑上。对于Java开发者来说,把前面那句话的开头改为“Java语言和平台”,这句话也同样可以总结Java语言和平台。后面的内容介绍了C#和Java编程语言的异同,这些都是基于我使用两个语言的经历。所有代码都经过微软.NE阅读全文
posted @ 2012-02-09 17:57 lovecindywang 阅读(5500) 评论(5) 编辑
摘要: 虽然有很多开源工具通过插件或其它方式可以监测这些开源组件提供的内在性能(所谓内在性能就是这些开源组件提供的类STAT命令获取到的数据),但是不管是部署还是扩展都很麻烦,其实花1-2天时间完全可以实现一个这样的工具,并且扩展起来也很方便。比如mongodb的:又比如redis的:这个工具实现的功能如下:1)只需要简单配置(在DEMO代码里我硬编码了,您完全可以改为通过配置)就可以实现监控redis、mongodb、kt和memcached,之所以只有这些因为我们用到的只有这些,其实扩展一下也很方便,特别是有.NET客户端的组件。2)监控粒度可以选择,不同的监控粒度在一页上显示的时间段也不一样,大阅读全文
posted @ 2012-01-22 20:38 lovecindywang 阅读(6711) 评论(3) 编辑
摘要: 一个比较成规模的系统,很多东西依赖官方组件不能满足定制、灵活、性能、监控的要求,需要开发哪些东西?略微整理了一下,这也是我们的目标。宗旨:1)自己的组件需要处处体现集中配置、集中日志、内置性能监视器、集中监控、自动部署等理念!2)考虑分期,先实现必要的东西,尽量轻量化,微软搞的东西很容易太重!3)尽量考虑不依赖硬件的横向扩展!4)分布式分布式说白了很多时候是对用户来说是集中的单点的,在后端是分布式的用于承载大量数据和大量请求!5)分布式要解决的问题?同步、路由、负载均衡、可用性检测、数据迁移、性能、治理。。。阅读全文
posted @ 2012-01-11 11:13 lovecindywang 阅读(3589) 评论(15) 编辑
摘要: Q:Mongodb数据服务有什么用? A:首先,Mongodb适合保存大量的非业务数据,因此,Adhesive框架提倡把不是非常重要的非业务数据(比如应用程序信息中心的日志、异常、状态数据,又比如WCF扩展模块的WCF调用数据,或者其它的各种业务日志、监控日志)保存在Mongodb中。虽然Mongodb的非结构化模式适合保存各种类型的数据,但是我们不得不针对各种类型的数据进行重复开发来解决一些问...阅读全文
posted @ 2011-12-16 17:42 lovecindywang 阅读(2043) 评论(2) 编辑
摘要: 框架除了报警之外还提供了简单的报警处理流程。 先来看一下报警相关的配置: 比如这里有一个报警,30秒检查一次30秒内相关数据如果超过10条则报警。 在报警后,系统会自动创建一个事件,相关人员登录到后台可以看到这个事件并进行处理,如果事件在处理了,那么报警会暂停,一直到处理完成之后重新开启。 当然,如果管理员一直没有结束某个事件,系统会自动关闭过期事件,也就是这里的5分钟(Process...阅读全文
posted @ 2011-11-28 10:32 lovecindywang 阅读(640) 评论(0) 编辑
摘要: 有一个很常见的功能,我们需要在一个子窗口中定时调用服务,然后更新控件的内容,只要窗口开着就一直会调用服务。 那么现在就来完成这个功能,首先定义一个服务: public class Service1 : IService1 { public string DoWork(string name) { File.AppendAllTex...阅读全文
posted @ 2011-11-09 12:43 lovecindywang 阅读(2080) 评论(0) 编辑
摘要: 应用程序信息中心模块提供了日志、异常、性能、状态四大服务。来看一下最新的日志服务定义: void Debug(string message); void Debug(string moduleName, string message); void Debug(string categoryName, string subcategoryName, string message); void Debug(string moduleName, string categoryName, string subcategoryName, strin...阅读全文
posted @ 2011-11-08 11:22 lovecindywang 阅读(1419) 评论(5) 编辑
摘要: 在测试Adhesive的时候发现,使用过一段时间后台之后,就会不能连接到数据库,查看日志发现报的错误大致是 connection refused because too many open connections: 819 通过mongostat查看连接数的确很夸张有近819个连接,尝试在启动的时候指定最大连接数到10000,重新启动Mongodb这个问题似乎解决了 但是在刷新几下页面之后连...阅读全文
posted @ 2011-11-04 20:40 lovecindywang 阅读(2063) 评论(2) 编辑
摘要: 在本文中我们会着重介绍一下Mongodb数据服务查询部分的实现,也就是通用后台用到的查询服务。首先,为了性能考虑,我们的每一个Mongodb集群都可以支持主从分离,也就是查询可以使用Slave的Mongodb:其中的同步延迟配置,用于配置在查询的时候缓存多久之前的数据,因为同步的延迟问题,缓存太新的数据很可能导致数据不完整。并且,我们也可以灵活配置每一个类型保存到的集群,实现数据的手动分区:阅读过之前文章的读者知道,在通用后台的高级数据筛选中,我们会列出一些搜索选项,比如:并且,在显示数据的时候,我们也会需要把元数据和实际存储的数据组合起来返回给客户端。为了效率的考虑,我们把所有的这些索引数据阅读全文
posted @ 2011-11-01 15:50 lovecindywang 阅读(1763) 评论(0) 编辑
摘要: Adhesive框架中的WCF分布式服务模块基于原来写的WCF扩展修改而来,主要的修改如下: 1)原先使用数据库的元数据配置,现在统一改为配置服务,主要是为了统一,不用再去开发一个WCF的配置后台 2)原先直接存储到Mongodb中的各种日志,现在统一使用Monodb数据服务,也是进行了一个统一 3)和信息中心模块中的网站请求状态(统计每一个请求的情况)一样,这里也提供了WCF客户端和服务端...阅读全文
posted @ 2011-10-30 12:48 lovecindywang 阅读(1363) 评论(1) 编辑
摘要: Adhesive框架中是分布式组件客户端首先实现的是基于Json序列化+二进制协议的Memcached客户端。在本文中会介绍其中的实现细节。 我们先来看一下项目结构: 从这个结构大致可以看出: 1)Memcached只是其中的一个具体实现,这个组件期望提供一个ClientSocket-ClientNode-ClientCluster的基础实现,以后可以有各种客户端基于这种结构来实现 2...阅读全文
posted @ 2011-10-29 12:38 lovecindywang 阅读(671) 评论(2) 编辑
摘要: 如果我们新建了一个Adhesive.Test.WebApp的网站应用程序,希望对其中的异常进行监控报警,那么我们可以直接通过配置服务后台配置报警模块实现。很明显,这是一个对数据量的监控,在异常记录达到一定数据量之后进行报警:点击增加按钮,取名为“测试应用程序的异常监控”,这里看到的是添加后的结果:然后对数据进行修改:这里我们监控的数据库为Aic__Exception(应用程序信息中心模块的已处理异常),可以查看元数据知道:然后由于我们按照应用程序名分表,因此这里表名需要修改为Adhesive.Test.WebApp:然后我们这里配置了,1分钟内数据量超过100则报警,10秒检查一次。这里时间跨阅读全文
posted @ 2011-10-28 16:49 lovecindywang 阅读(621) 评论(1) 编辑
摘要: 在此文中,我们会实践一下,如何使用Mongodb数据服务存储新的自定义数据。之前我们说过了,使用Mongodb数据服务只有4步这么简单: 1)定义实体 2)定义元数据 3)配置Mongodb数据服务 4)调用API插入数据 在这里,我们希望使用Mongodb存放书籍借阅的信息: public enum Status { 借出 = 1, 归还 = ...阅读全文
posted @ 2011-10-28 15:56 lovecindywang 阅读(1541) 评论(2) 编辑
摘要: Adhesive框架的Mongodb数据服务模块提供了大量数据的存储功能。在有的时候,我们希望对数据量或是数据的某个值进行一个监控,并且在达到某个阀值之后进行报警。此时,可以使用报警服务模块进行邮件报警和短信报警。报警服务的实现其实很简单,定期检测数据量或数据的值,然后根据配置决定是否要报警,如果要的话,根据配置获取报警的接收者,然后进行相应的报警。现在先来看一下报警服务的配置,同样,打开配置后台可以在全局配置中找到报警服务的配置节点:点击进去:在这里依次介绍一下每一个配置:1、状态数据的报警配置:这里配置了基于状态数据的报警配置。所谓状态信息,就是始终只有一条最新的数据代表了一个状态,报警也阅读全文
posted @ 2011-10-20 14:09 lovecindywang 阅读(1311) 评论(0) 编辑