随笔分类 - [20]DesignAnalysis设计分析
-
程序框架实战三十一
摘要:应用程序框架实战三十一:新年礼物 最近过年很忙,没时间写博客,更新几个模块作为新年礼物给各位园友拜年。礼物一:log4.net日志封装 对日志文件中的文本进行了格式化,用来方便开发时调试。另外自动记录Mvc跟踪日志,以及在应用服务基类记录CRUD操作日志,同时记录了每个操作的执行时间。礼物二:N... 阅读全文
-
设计的SOA架构
摘要:给公司部门设计的SOA架构新来老大年前开会说:各位同学,公司业务越来越重,未来几年要成倍增长......,我们要梳理出一套新架构,才能更好的支持N万用户.....,以后升职加薪当上....打败.....想想还有点小激动呢,于是过年时楼主趁等待相亲妹纸无聊的时候,反思了目前系统现状,构思设计新架构如下... 阅读全文
-
CloudNotes之领域建模篇:领域模型简介
摘要:CloudNotes之领域建模篇:领域模型简介CloudNotes领域模型还是相对简单的,并不一定需要采用面向领域驱动的设计方法来解决CloudNotes的领域问题。但出于以下几个方面的原因,我还是采用了面向领域驱动的方式来开发CloudNotes:领域驱动是企业级应用开发的一种指导性模型,以领域模... 阅读全文
-
Redis 优化查询性能
摘要:一次使用 Redis 优化查询性能的实践应用背景有一个应用需要上传一组ID到服务器来查询这些ID所对应的数据,数据库中存储的数据量是7千万,每次上传的ID数量一般都是几百至上千数量级别。以前的解决方案数据存储在Oracle中,为ID建立了索引;查询时,先将这些上传的ID数据存储到临时表中,然后用表关... 阅读全文
-
ASP.NET 依赖注入。
摘要:ASP.NET 依赖注入。http://www.it165.net/pro/html/201407/17685.html我在网上看到了这篇文章,这边文章主要说的方法就是通过读取配置文件来解决依赖注入的问题。但是每次新建一个依赖注入的类,就要改一下配置文件,这显然不符合设计模式中的开闭原则。先来看看一... 阅读全文
-
网站静态化处理—CSI(5)
摘要:网站静态化处理—CSI(5) 讲完了SSI,ESI,下面就要讲讲CSI了 ,CSI是浏览器端的动静整合方案,当我文章发表后有朋友就问我,CSI技术是不是就是通过ajax来加载数据啊,我当时的回答只是说你的理解有点片面,那么到底什么是CSI技术了?这个其实要和动静资源整合的角度来定义。 CSI技术其... 阅读全文
-
网站静态化处理—缓存(4)
摘要:网站静态化处理—缓存(4)上篇我补充了下SSI的知识,SSI是一个十分常见的技术,记得多年前我看到很多门户网站页面的后缀是.shtml,那么这就说明很多门户网站都曾经使用过SSI技术,其实现在搜狐网站也还在用shtml,如下图所示: 由此可见SSI在互联网的应用还是非常广泛的。其实互联网很多网页如... 阅读全文
-
网站静态化处理—动静分离策略(3)
摘要:网站静态化处理—动静分离策略(3)前文里我讲到了网站静态化的关键点是动静分离,动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。由此可见,网站静态化处理的核心就是动静分离... 阅读全文
-
事件驱动下
摘要:事件驱动下前言上一篇说到为什么要使用事件驱动,但是只有概念是不够的,我们要代码呀!记得脸书的老总说过: "Talk is cheap, Show me the code!"实现思路发出事件事件顾名思义就是一件事情发生了,比如我要上头条,这不是一个事件,这事一个Command, HeadCommand... 阅读全文
-
事件驱动上
摘要:事件驱动上前言今天讲一下事件驱动,这个不是领域驱动设计里的事件源(Event Source), 这个以后再讲,今天主要讲一下如何用事件来解耦,主要的原因是我们有个项目有个功能我觉得用事件的方式比较好,正好写篇博客,就不用专门给他们讲了。解耦说到解耦,我们很熟悉分层设计,比如上层依赖于抽象,不依赖于具... 阅读全文
-
领域模型
摘要:领域模型前言领域驱动设计里有很多东西,我们可以应用在各种各样的开发模式里,所以接下来说的一些东西,我们可以部分使用。说道领域驱动的领域,大家肯定就要开始说Bounded Context,聚合,聚合根,容易让大家搞糊涂。 我觉得先抛开这些概念,后面再来说如何设计聚合,先简单来说。模型过去,我们在多层设... 阅读全文
-
网站静态化处理—动静整合方案(2)
摘要:网站静态化处理—动静整合方案(2)上篇文章我简要的介绍了下网站静态化的演进过程,有朋友可能认为这些知识有点过于稀松平常了,而且网站静态化的技术基点也不是那么高深和难以理解,因此它和时下日新月异的web前端技术相比,就显得不伦不类了。其实当我打算写本系列的之前我个人觉得web前端有一个点是很多人都知道... 阅读全文
-
为何要领域驱动设计?
摘要:为何要领域驱动设计?前言领域驱动设计最近貌似开始火起来了,越来越多的人开始认识到领域设计的重要性,从我做过的项目来看,似乎欧洲已经有很多的公司开始实施领域驱动设计了,我看领域驱动设计也有些时间了,但是网上不管是文章还是代码,都显得太过“高大上”,一谈领域驱动设计,一大堆的概念一股脑的给你上上来,搞的... 阅读全文
-
LVS+Keepalived实现负载均衡
摘要:借助LVS+Keepalived实现负载均衡一、负载均衡:必不可少的基础手段1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务器集群,也可以是数据库服务器集群,还可以是分布式缓存服务... 阅读全文
-
网站静态化处理--总述(1)
摘要:网站静态化处理--总述(1)在存储瓶颈的开篇我提到像hao123这样的导航网站只要它部署的web服务器数量足够,它可以承载超大规模的并发访问量,如果是一个动态的网站,特别是使用到了数据库的网站是很难做到通过增加web服务器数量的方式来有效的增加网站并发访问能力的。但是现实情况是像淘宝、京东这样的大型... 阅读全文
-
高性能web系统的架构和系统优化
摘要:高性能web系统的架构和系统优化07年毕业一直都在软件公司,14年来到一个互联网公司,给我的感受,区别主要在于: 软件公司需求相对稳定,能够按照计划按部就班的去实施,互联网公司需求相对来说不稳定,上线比较着急,大部分都是小迭代更新,且更新频繁,感觉有点乱。所以项目管理在软件公司比较好执行,一开始可能... 阅读全文
-
存储的瓶颈终篇(8)
摘要:关于大型网站技术演进的思考(八)--存储的瓶颈终篇(8) 在开始本篇主要内容前,我们一起看看下面的几张截图,首先是第一张图,如下图所示: 这是一家电商网站的首页,当我们第一次打开这个首页,网站会弹出一个强制性的对话框,让用户选择货物配送的地址,如果是淘宝和京东的话,那么这个选择配货地址的选项是在... 阅读全文
-
存储的瓶颈(7)
摘要:存储的瓶颈(7)本文开篇提个问题给大家,关系数据库的瓶颈有哪些?我想有些朋友看到这个问题肯定会说出自己平时开发中碰到了一个跟数据库有关的什么什么问题,然后如何解决的等等,这样的答案没问题,但是却没有代表性,如果出现了一个新的存储瓶颈问题,你在那个场景的处理经验可以套用在这个新问题上吗?这个真的很难说... 阅读全文
-
存储的瓶颈(6)
摘要:存储的瓶颈(6)在讲数据库水平拆分时候,我列出了水平拆分数据库需要解决的两个难题,它们分别是主键的设计问题和单表查询的问题,主键问题前文已经做了比较详细的讲述了,但是第二个问题我没有讲述,今天我将会讲讲如何解决数据表被垂直拆分后的单表查询问题。 要解决数据表被水平拆分后的单表查询问题,我们首先要回... 阅读全文
-
存储的瓶颈(5)
摘要:存储的瓶颈(5)上文里我遗留了两个问题,一个问题是数据库做了水平拆分以后,如果我们对主键的设计采取一种均匀分布的策略,那么它对于被水平拆分出的表后续的查询操作将有何种影响,第二个问题就是水平拆分的扩容问题。这两个问题在深入下去,本系列就越来越技术化了,可能最终很多朋友读完后还是没有找到解决实际问题的... 阅读全文