随笔分类 - [20]DesignAnalysis设计分析
-
CMS垃圾回收机制
摘要:详解CMS垃圾回收机制 原文链接 http://www.cnblogs.com/littleLord/p/5380624.html 原创不易,未经允许,不得转载~~~ 什么是CMS? Concurrent Mark Sweep。 看名字就知道,CMS是一款并发、使用标记-清除算法的gc。 CMS是针 阅读全文
-
线程池的原理及实现
摘要:线程池的原理及实现 1、线程池简介: 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中执行任务的时间,T3 销毁线程时间。 如果:T1 + T3 远大于 T2,则 阅读全文
-
循环引用
摘要:循环引用 http://www.cnblogs.com/wustlj/archive/2011/12/20/2294745.html 所有的引用计数系统,都存在循环应用的问题。例如下面的引用关系: 对象a创建并引用到了对象b. 对象b创建并引用到了对象c. 对象c创建并引用到了对象b. 这时候b和c 阅读全文
-
c#与oracle数据库连接池
摘要:c#与oracle数据库连接池 在做一个项目,中间要使用webservice和oracle数据库.我在服务端做了用户身份认证,也就是使用session传递用户的登陆信息.在测试时,当用户少的时候,没有问题,但是当大量用户同时访问时,就报错,起初以为是自己的oracle连接部分有问题,几经确认,终于发 阅读全文
-
.Net 内存溢出(System.OutOfMemoryException)
摘要:.Net 内存溢出(System.OutOfMemoryException) 在什么情况下会出现OutOfMemonryException呢? 在我们试图新建一个对象时,而垃圾收集器又找不到任何可用内存时被抛出,这种情况下我们是可以捕获该异常的; 另一种情况是,CLR需要内存时,而却系统却不能提供, 阅读全文
-
垃圾回收器如何处理循环引用
摘要:垃圾回收器如何处理循环引用 垃圾回收是一门编程语言中必不可少的一部分,不论是手动释放内存的C和C++,还是自动回收垃圾的Java和C#等语言。对于Java这样的语言,一般的开发者不强求关心对象回收和内存释放,但是理解垃圾回收对开发工作还是大有裨益的。 在编程语言中,普遍存在着循环引用这样的问题,垃圾 阅读全文
-
HttpApplication处理对象与HttpModule处理模块
摘要:HttpApplication处理对象与HttpModule处理模块 (第三篇) 一、HttpApplication对象简述 在HttpRuntime创建了HttpContext对象之后,HttpRuntime将随后创建一个用于处理请求的对象,这个对象的类型为HttpApplication。 Htt 阅读全文
-
HttpHandler与HttpModule的用处与区别
摘要:HttpHandler与HttpModule的用处与区别 问题1:什么是HttpHandler? 问题2:什么是HttpModule? 问题3:什么时候应该使用HttpHandler什么时候使用HttpModule? 答案1:HttpHandler,Http请求的处理者,例如ScriptHandle 阅读全文
-
IIS架构与HTTP请求处理流程
摘要:IIS架构与HTTP请求处理流程 Windows操作系统中的IIS负责提供互联网服务,一台运行了IIS的计算机可以看成是一台Web服务器。 Windows XP SP2 中IIS主版本号为5,Windows 2003 Server为6,Vista和Windows Server 2008为7。对于Wi 阅读全文
-
领域驱动设计
摘要:领域驱动设计 有幸参与了一些领域驱动的项目,读了一些文章,也见识了一些不伦不类的架构,感觉对领域驱动有了更进一步的认识。所以今天跟大伙探讨一下领域驱动设计,同时也对一些想要实践领域驱动设计却又无处下手,或者一些正在实践却又说不上领域驱动设计到底好在哪的朋友一些指引方向。当然对于”领域驱动设计”这个主 阅读全文
-
RPC分布式处理
摘要:RPC(远程过程调用)的应用 接触背景 因为工作上某项目的需要设计一种分布式处理耗时的运算,每个节点然后将运算结果返回给中心服务器,而最初未了解RPC这部分之前我的设计是在每一个RPC服务器上搭建一个webserver,然后部署运算的service在上面,用json的方式通讯,这样肯定是可以实现的, 阅读全文
-
演进式设计
摘要:演进式设计 说起来,所谓Evolutionary Design已经是老生常谈了。早在2004年,Martin Fowler在文章Is Design Dead中就深刻地比较了计划式设计与演进式设计,至今阅读这篇文章,对于理解敏捷和演进式设计依旧振聋发聩。我在博客设计恰如其分的架构中,也算得上是旁征博引 阅读全文
-
ID设计
摘要:ID设计 在分布式系统中,经常需要使用全局唯一ID查找对应的数据。产生这种ID需要保证系统全局唯一,而且要高性能以及占用相对较少的空间。 全局唯一ID在数据库中一般会被设成主键,这样为了保证数据插入时索引的快速建立,还需要保持一个有序的趋势。 这样全局唯一ID就需要保证这两个需求: 全局唯一 趋势有 阅读全文
-
NET通用平台
摘要:NET通用平台、通用权限、易扩展、多语言、多平台架构框架 先拿出我半前年前平台的设计初稿,经过半年的努力我已经完成了该设计稿的所有功能。并且理念已经远远超出该设计稿。 下面是一些博友对我贴子的评价: 1、楼主,想法很美好,现实很骨感,我们公司就有一套你说的这样的平台,界面都是用XML配置出来的,虽然 阅读全文
-
支付宝钱包系统架构内部
摘要:支付宝钱包系统架构内部剖析(架构图) 支付宝系统架构概况 典型处理默认 资金处理平台 财务会计 支付清算 核算中心 交易 柔性事务 支付宝的开源分布式消息中间件–Metamorphosis(MetaQ) Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,类似 阅读全文
-
业务系统需要什么样的ID生成器
摘要:业务系统需要什么样的ID生成器 ID 生成器在微博我们一直叫发号器,微博就是用这样的号来存储,而我微博里讨论的时候也都是以发号器为标签。它的主要目的确如平常大家理解的“为一个分布式系统的数据object产生一个唯一的标识”,但其实在一个真实的系统里可能也可以承担更多的作用。概括起来主要有以下几点: 阅读全文
-
分布式Unique ID的生成方法
摘要:分布式Unique ID的生成方法 分布式的Unique ID的用途如此广泛,从业务对象Id到日志的TraceId,本文总结了林林总总的各种生成算法。 1. 发号器 我接触的最早的Unique ID,就是Oracle的自增ID。 特点是准连续的自增数字,为什么说是准连续?因为性能考虑,每个Clien 阅读全文
-
系统整体框架介绍
摘要:系统整体框架介绍 一、设计目的 从事.Net平台开发系统已有8年多了,一直思考搭建.Net分布式系统架构。基于window平台搭建的大型分布式系统不多,之前了解过myspace、stackoverflow等大型网站。搭建一个大型平台需要综合考虑很多方面,不单纯是软件架构,还包括网络和硬件设备等。由于 阅读全文
-
数据一致性(consistency)、服务可用性(availability)、分区容错性(partition-tolerance)
摘要:数据一致性(consistency)、服务可用性(availability)、分区容错性(partition-tolerance) 分布式系统理论基础 - CAP 2016-04-04 18:27 by bangerlee, 135 阅读, 0 评论, 收藏, 编辑 引言 CAP是分布式系统、特别是 阅读全文
-
商品详情系统架构设计
摘要:商品详情系统是一个展示商品基本信息、参数等详情的系统,是商品购买的入口。它是电商平台中访问量最大的系统之一,苏宁易购大促期间PV量和UV量很大,这么大的访问量对系统的并发能力要求高。在业务上它与周边系统的关系是高耦合。依赖商品详情系统的的系统特别多,比如:促销系统、推荐系统、大聚惠、等众多营销系统、 阅读全文