设计模式/性能架构

第一部分:基本功能 1.基于http的内存缓存服务 2.基于tcp的内存缓存服务 3.数据持久化 第二部分:性能相关 1.用pipelining加速性能 2.批量写入 3.异步操作 第三部分:服务集群 1.分布式缓存 2.节点再平衡 3.缓存生存


目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。 分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition to..


aws概览:安全措施; 计算服务介绍:ec2弹性计算;ec2实例; rds数据库; vpc; cloudfront:cdn? dynamodb; elasticbeanstalk; emr; cloudformation; kinesis;


服务器集群; 数据库架构;索引;缓存;读写分离;集群; 负载均衡;cdn;提高带宽; 缓存:opcode;反向代理,数据库缓存,服务器缓存;


一般说的架构指的是业务架构和技术架构; 技术架构一般指的是服务器架构,数据库架构等,其中也包括中间件,消息队列架构,搜索引擎架构等; 遵循的原则:合适,简单,演进; 遇到的问题是:父级系统与子系统的合并与拆分。


消息队列软件可以使用rabbitmq或者kafka; 主要用于异步,解耦; 高并发的时候,可以放到队列里慢慢处理;


#大型网站技术架构#大型网站技术架构演进路程:初始阶段,应用服务与数据服务分离,使用缓存,服务器集群,数据库读写分离,反向代理,cdn,分布式文件系统,分布式数据库系统,nosql,搜索引擎,业务拆分,分布式服务。来源:云栖社区


#Web开发技术框架#补充:大数据平台;大型业务系统;中间件设计;大型复杂“分布式”系统;“高并发”优化方案;“高性能”优化方案;架构设计;算法;数据结构;设计模式;网络编程;大数据存储项目;多线程编程;进程间通信;系统分析与设计;微服务;前端工程化与模块化开发;


#构建高性能web站点#核心要点:1.动态内容缓存;2.opcode缓存;3.反向代理缓存;4.web组件分离;5.分布式缓存:数据库前端缓存;memcached;6.web负载均衡;7.分布式文件系统;


#构建高性能web站点#分布式计算:灵活的控制分布在多台服务器上的计算能力;异步计算:分布式消息队列(扩展阅读:多维度对比5款主流分布式MQ消息队列,妈妈再也不担心我的技术选型了);gearman,memcacheq(扩展阅读:rabbitmq与gearman有什么不同之处?);..


#构建高性能web站点#web服务器缓存:可以通过apache的mod_cache (mod_disk_cache ,mod_mem_cache)缓存url映射,动态内容,静态内容,有效期控制;


#构建高性能web站点#动态内容缓存:1.文件缓存;2.把缓存放入内存中:php的apc模块的opcode(或者xcache)可以实现(key value形式)(备注:小规模和初创站点,本地内存为瓶颈);3.使用memcached可以建立分布式缓存服务器;(扩展阅读:APC和Me..


#构建高性能web站点#核心:动态内容缓存,动态脚本加速;浏览器缓存;web服务器缓存;反向代理缓存;web组建分离(资源服务器);分布式缓存服务器(数据库前端缓存,利用memcached进行读写操作缓存分离);数据库性能优化(索引,锁定与等待,事务性表,查询缓存,临时表,线程池..


#构建高性能web站点#服务器并发处理能力:吞吐率(单位时间内服务器处理的请求数来描述其并发处理能力,单位是reqs/s)apache:mod_status模块提供统计;最大吞吐率和压力测试(针对不同的请求性质来设计最优并发策略,类似银行柜台的业务员处理不同的业务);并发用户数与..


#构建高性能web站点#数据的网络传输:tcp/ip模型;带宽;响应时间;互联互通(不同运营商网络)


#大话设计模式#老板回来,我不知道-观察者模式:又称为发布-订阅模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。


#大话设计模式#单一职责原则:一个类做好一件事,耦合度低,便于维护;


#大话设计模式#商场促销-策略模式:封装一系列算法规则,彼此独立,利于测试,通过swich类区分选择哪个策略,减少藕合度;