- 博客(10)
- 收藏
- 关注
原创 高可用、高性能、可扩展、可伸缩网站架构--数据存储和数据流通
<br />在网站架构中,数据层面的数据存储和数据流通时其中重要的一部分。<br /> <br />一、常见数据存储架构<br /><br /> 1)集中式存储:将所有数据存储在一台数据库上,数据库只有一个instance。服务的稳定性由昂贵的硬件来保证。<br /> 2)oracle Rac存储:基于硬件和文件系统的可靠性远大于数据库实例的可靠性的原理,oracle采用rac(real application clusters)来提供高可靠服务。rac采用一个物理数据库,数据库启动多个
2011-03-05 16:38:00
1960
原创 数据库设计最佳实践
一、数据库设计的重要意义 1. 数据是一个大型web、信息服务应用的核心。 2. 良好的数据模型、数据表结构设计可以简化应用的复杂性,提高性能 二、数据库优化三层次 1. 数据库系统优化:DBA通过调整数据库配置,参数,设置缓存等提高数据库系统性能 2. 数据库设计优化:即本文的主题内容 3. 应用程序优化:如高效的sql,少用事
2010-04-18 14:39:00
823
原创 软件架构之J2EE架构
一、背景 J2EE成功地在没有标准的地方建立了标准;J2EE的出现大大地提高了企业级软件的开放程度,得到了整个行业和开发者的认可。J2EE架构则是在J2EE标准的基础上,解决一些通用的、重复性的问题。 二、J2EE三层体系结构 J2EE三层体系结构包括与用户交互的表现层、处理业务逻辑的业务逻辑层、存储数据的持久化层。 在表现层一般采用MVC的架构方案,让模型、
2010-04-01 20:46:00
937
原创 异常处理
异常处理时在程序在运行时,出现编译期不可预料的错误(如网络赌赛、IO错误、输入条件错误)采取的一种处理策略。在C语言中,没有语言级的错误处理机制,只有运用函数的返回值的约定来处理异常流程。 一、引入异常的原因: 把错误处理代码和发生错误的地点分开、避免异常处理逻辑侵入到业务逻辑中。减少代码体积、让代码更加健壮。 二、异常处理总原则: 1.
2010-03-24 18:43:00
1000
原创 淘宝(taobao)HSF框架
一、背景 随着网站访问量增加,仅仅靠增加机器已不能满足系统的要求,于是需要对应用系统进行垂直拆分和水平拆分。在拆分之后,各个被拆分的模块如何通信?如何保证性能?如何保证各个应用都以同样的方式交互?这就需要一种负责各个拆分的模块间通信的高性能服务框架(HSF)。 二、HSF做的事情1. 标准Service方式的RPC 1). service定义:基于OSGI的se
2010-03-21 14:20:00
17564
原创 软件架构之软件重构
一、概念 运用一系列重构手法,对既有软件内部结构进行调整,在不改变可观察外在行为的前提下,让软件更容易理解、扩展、维护。 二、为什么重构 程序有两方面的价值:今天可以做什么,明天可以做什么。对于今天的工作,开发人员了解得很清楚;但是对于明天的事情,了解得不充分,也不可能很充分。对于只考虑了今天的程序和对明天了解不充分的程序,需要持续地重构。在添加功能、修改错误和代码审核
2010-03-21 12:04:00
1496
原创 软件架构之可伸缩性
在软件架构中,为了保证应用的可扩展性和灵活性,往往会牺牲一定的性能。这里的性能主要指一个工作单元、功能单元的资源消耗情况。在工作单元增加的情况下,如何保证资源的消耗不会出现非线性的增长,这是衡量软件架构是否具有可伸缩性的指标。设计的可伸缩性就是保障在工作单元增加的情况下,资源的消耗随负载线性增加。以下是系统实现可伸缩性的最佳实践: 一、按功能垂直切分 没
2010-03-14 14:24:00
1989
原创 淘宝(taobao)架构发展历程及Web框架设计
一、淘宝系统架构 2008年,淘宝每天增加800G的数据,高峰期超过30G/s,处理超过1000G的日志,处理40亿次用户请求信息。淘宝架构发展经历了三个阶段。 第一阶段(V1.0) 采用经典的LAMP结构,mySQL采用M-S模式,实现了读写分离。后期采用了SQLrelay中间件技术。 第二阶段(V2.0): 这一阶段,用ja
2010-02-24 11:02:00
5464
原创 软件开发中的并发
并发作用: 1. 在交互式应用中,快速响应用户的请求,提高感知响应的时间 2. 充分利用硬件资源,计算资源 3. 简化应用设计并发坏处: 1. 难于测试 2. 并发应用运行在复杂的环境下,软件不确定性增多 3. 处理同步,通信的问题,增加编程复杂性 4. 并发开销对性能的影响,包括上下文环境切换,同步等并发需要考虑的三个因素: 1.
2010-02-15 11:19:00
1199
原创 博客计划
有人说,看的书只有一小部分能写出来,写出来的东西又只有一少部分能说出来。学习、实践、思考是一个软件从业者积累知识的三个境界。只学习,不实践,只能是纸上谈兵;只学习、实践,不总结,知识得不到提炼,做项目不会有清晰的思路。 为了让自己的知识体系化,能写得出来,以后能说得出来,决定开启自己的博客计划。博客大纲如下:博客计划 语言(JAVA) java语言概
2010-01-10 21:20:00
820
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人