您的位置:首页 > 运维架构 > 网站架构

大型网站技术架构整理(Ch. 1-4)

2016-02-29 10:16 169 查看

- Chapter 1.大型网站架构演化

1、好的互联网产品都是慢慢运营出来的,不是一开始就开发好的。

2、大型网站都是从小型网站发展而来。**网站的价值在于它能为用户提供什么价值,在于网站能做什么,而不在于它是怎么做的**,所以在网站还很小的时候就去追求网站的架构是舍本逐末,得不偿失的。

3、是业务成就了技术,是事业成就了人,而不是相反。

4、技术是用来解决业务员问题的,而业务的问题,也可以通过业务的手段去解决。
(12306更改了零点开始售票的策略,在售票的方式上引入了排队机制、整点售票调整为分时段售票。)


- Chapter 2.大型网站架构模式

1、我们的现实生活中充斥着几乎千篇一律的人生架构模式:读重点学校,选热门专业,进稳定高收入的政府部门和企业,找门当户对的配偶,生一个听话的孩子继续这个模式······**但是人生不同于软件,精彩的人生绝不会来自于复制。**

2、新浪微博改用异步推拉结合的模式,用户发表微博后系统将微博写入消息队列后立即返回,用户相应迅速,消息队列消费者任务将微博推送给所有当前在线粉丝的订阅列表中,非在线用户登录后再根据关注列表拉去微博订阅列表。

3、即使是“微创新”,也是让人耳目一新的似曾相识。**山寨与创新的最大区别不在于是否抄袭,是否模仿,而在于对问题和需求是否真正理解与把握。**


- Chapter 3.大型网站核心架构要素

1、对于于应用服务器集群,只要服务器上不保存数据,所有服务器都是对等的,通过使用合适的负载均衡设备就可以向集群中不断加入服务器。

2、对于缓存服务器集群,加入新的服务器可能会导致缓存路由失效,进而导致集群中大部分缓存数据都无法访问。


- Chapter 4.瞬时响应:网站的高性能架构

1、在系统并发数由小逐渐增大的过程中(这个过程也伴随着服务器系统资源消耗逐渐增大),系统吞吐量先是逐渐增加,达到一个极限后,随着并发数的增加反而下降,达到系统崩溃点后,系统资源耗尽,吞吐量为零。

2、网站性能优化的目的,除了改善用户体验的响应时间,还要尽量提高系统吞吐量,最大限度利用服务器资源。

3、WEB前端性能优化:
·浏览器访问优化:1.减少http请求(合并CSS/合并JavaScript/合并图片)2.使用浏览器缓存 3.使用压缩(压缩对服务器和浏览器产生一定压力,在通信带宽良好,而服务器资源不足的情况下要权衡考虑) 4.CSS放在页面最上面、JavaScript放在页面最下面 5.减少Cookie传输
CDN加速
反向代理
·应用服务器性能优化:
分布式缓存(网站性能优化第一定律:优先考虑使用缓存优化性能)、Memcached
异步操作
使用集群
代码优化:
最佳启动线程数=[任务执行时间/(任务执行时间-IO等待时间)]*CPU内核数
多线程编程一个需要注意的问题是线程安全问题,即多线程并发对某个资源进行修改,导致数据混乱。
**解决线程安全的主要手段有以下几点:**将对象设计为无状态对象、使用局部对象、并发访问资源时使用所。
资源复用:从编程角度,资源服用主要有两种模式:单例和对象池。
原始字符串->MD5->信息指纹->Hash计算->HashCode
堆栈用于存储线程上下文信息,如方法参数、局部变量等。堆栈是存储对象的内存空间,对象的创建和释放、垃圾回收就在这里进行。

4、技术是为业务服务的,技术选型和架构决策依赖业务规划乃至企业战略规划,离开业务发展的支撑和驱动,技术走不远,甚至还会迷路。

——李智慧,《大型网站技术架构》核心原理与案例分析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: