原文地址:http://www.jdon.com/scalable.html 可伸缩性(可扩展性)是一种对软件系统计算处理能力的设计指标,高可伸缩性代表一种弹性,在系统扩展成长过程中,软件能够保证旺盛的生命力,通过很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能. 可伸缩性和纯粹性能调优有本质区别, 可伸缩性是高性能.低成本和可维护性等诸多因素的综合考量和平衡,可伸缩性讲究平滑线性的性能提升,更侧重于系统的水平伸缩,通过廉价的服务器实现分布式计算:…
原书中涉及实操的地方,在本文中被省略.一是篇幅太长,放入文中太过累赘,二是原书成书过早,现在 AWS 的界面早已变化很大,不具备参考性. 第一章 谁在使用云计算 1.什么是云计算 云计算(cloud computing)是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机各种终端和其他设备. 云计算的"云",指的就是因特网. 2.历史 (1)云计算元年是何年? 一般认为,亚马逊 AWS 在 2006 年公开发布 S3 存储服务.SQS 消息队列及 EC…
centos7.0开始默认文件系统是xfs,centos6是ext4,centos5是ext3 1.EXT2简介 EXT2第二代扩展文件系统(英语:second extended filesystem,缩写为 ext2),是LINUX内核所用的文件系统.它开始由Rémy Card设计,用以代替ext,于1993年1月加入linux核心支持之中.ext2 的经典实现为LINUX内核中的ext2fs文件系统驱动,最大可支持2TB的文件系统,至linux核心2.6版时,扩展到可支持32TB.其他的实现…
SaaS模式实现架构 https://blog.csdn.net/xwq911/article/details/50630266 1. 数据库层: 数据库这一层的设计模式是很清晰的,无外乎只有3种方案: (1) 所有客户的数据都存放在一个数据库的同一套表中, 在表中增加Company_id等标志字段,表明该记录是属于哪个客户的. 优点:数据源和数据库的管理都比较简单.和原来的应用没有差别. 缺点:数据权限比较复杂,增加程序的复杂性.如果应用比较复杂,很多数据表都需 要加入客户标志字段,很多查询都…
 个.第3个数据包„„同样的操作.包含查询路由表.重写MAC地址,CRC校验等. 系列路由器.或者12000系列路由器. Netflow switching 通过一种标准的交换机制,处理了流的第一个数据包,然后就创建了网路流缓存. 设计网络流交换的目的是,提供一种高效率的机制.来处理扩展或复杂的訪问列表时,不必像其它的交换方式一样丧失同样多的系统性能.在网络流交换方式下,能够为每一个流收集具体的记账信息.对于新公布的IOS软件来说,网络流交换被专门用来实现该目的.而不再用来交换数据包了.在同…
ext4是第四代扩展文件系统(英语:Fourth EXtended filesystem,缩写为ext4)是linux系统下的日志文件系统,是ext3文件系统的后继版本ext4的文件系统容量达到1EB,而文件容量则达到16TB,这是一个非常大的数字了.对一般的台式机和服务器而言,这可能并不重要,但对于大型磁盘阵列的用户而言,这就非常重要了.ext3目前只支持32000个子目录,而ext4取消了这一限制,理论上支持无限数量的子目录 xfs是一种非常优秀的日志文件系统,它是SGI公司设计的.xfs被…
前言 在设计多租户SaaS应用程序时,您必须仔细选择最适合您应用程序需求的租户模型.租户模型确定每个租户的数据如何映射到存储.您选择的租户模式会影响应用程序设计和管理.以后切换到另一个模型有时代价昂贵. 关于可选择的租户模型的讨论如下. A,怎么选择一个合适的租户模型 一般来说,租赁模式不会影响应用程序的功能,但它可能会影响整体解决方案的其他方面.以下标准用于评估每个模型: 可扩展性(Scalability) 租户的数量级 每个租户的存储级别 整体存储 工作负载 租户隔离性(Tenant iso…
引言:磁盘容量越来越大,文件系统管理的文件也是越来越大.越来越多,如何破解?唯有快!于是动态分配.B+树开始登上舞台.还记得当年MySQL的索引结构吗,好的作品所见略同. 一.XFS为什么替换Ext4? 前面我们介绍过Linux ext系列的文件系统,我想ext系列应该是文件系统史上非常经典的杰作.在CentOS 7之前都是默认采用的这一系列文件系统.但是从CentOS 7开始默认的文件系统变成了xfs文件系统,为啥? ext系列虽然支持度最广,但是格式化超慢. ext文件系统系列对于文件格式化…
Software Architecture软件架构是啥 随着软件行业的发展,软件的规模越来越大,"Software Architecture软件架构"这个名词开始频繁出现."软件架构"究竟指的是什么? 广义的"软件架构"针对整个软件系统,当然包括"软件系统"的全部内容,同时包括网络.计算机,外部设备等物理节点,以及开发者,维护者和客户等人员. 狭义的"软件架构"指的是软件开发过程中,软件顶层架构的设计. 本…
1.说说什么是架构模式. 1,分层. 2,分割. 分层是对网站进行横向的切分,那么分割就是对网站进行纵向的切分.将网站按照不同业务分割成小应用,可以有效控制网站的复杂程度. 3,分布式. 在大型网站中,分层和分割后主要是为了让网站能够便于分布式部署,也就是将不同的模块部署到不同的服务器上.常用的分布式方案有如下几种. 3.1 分布式应用和服务.3.2 分布式静态资源. 3.3 分布式数据和存储 3.4 分布式计算. 3.5 此外还有分布式配置,分布式锁,分布式文件系统等. 4,集群. 分布式方案…