随笔分类 -  网站技术架构

大型网站技术架构相关资料
摘要:为什么需要一致性hash 传统hash算法常用方式为:hash(object)%N N为一个固定值。 N设置较小时容易产生冲突碰撞问题。而N设置较大时则带来开销问题。 对于我们常用的单机程序时是内存开销变大。而用在分布式环境时,该N值和机器数目相关,则是需要的机器数增加。因此,N值应该是一个随着 业 阅读全文
posted @ 2017-04-28 15:14 sky_sql 阅读(293) 评论(0) 推荐(0)
摘要:1、背景 我们都知道memcached服务器是不提供分布式功能的,memcached的分布式完全是由客户端来实现的。在部署memcached服务器集群时,我们需要把缓存请求尽可能分散到不同的缓存服务器中,这样可以使得所有的缓存空间都得到利用,而且可以降低单独一台缓存服务器的压力。 最简单的一种实现是 阅读全文
posted @ 2017-04-25 22:16 sky_sql 阅读(184) 评论(0) 推荐(0)
摘要:一致性Hash算法背景 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 但现在 阅读全文
posted @ 2017-04-25 22:09 sky_sql 阅读(186) 评论(0) 推荐(0)
摘要:一、可伸缩与可扩展—傻傻分不清楚 上篇笔记我们学习了可伸缩架构,但在实际场合中,包括许多架构师也常常混淆可伸缩和可扩展,用可扩展表示伸缩性。那么在此,跟随作者我们来理清这两个概念,避免我们以后对其傻傻分不清楚。 (1)扩展性(Extensibiltiy) 指对现有系统影响最小的情况下,系统功能可持续 阅读全文
posted @ 2017-04-18 14:59 sky_sql 阅读(376) 评论(0) 推荐(0)
摘要:首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。在整个互联网行业的发展渐进演化中,最重要的技术就是服务器集群,通过不断地向集群中添加服务器来增强整个集群的处理能力。 一、网站架构的伸缩性设计 1.1 不同功能进行物理分离实现伸缩 阅读全文
posted @ 2017-04-17 19:02 sky_sql 阅读(248) 评论(0) 推荐(0)
摘要:一、可用性度量与考核 首先,不得不说:要保证一个网站永远完全可用几乎是一件不可能完成的任务(Mission Impossible)。 (1)如何度量网站可用性? 一个神奇的数字—9!你有几个9,就代表了你的可用性。例如QQ可用性达到了4个9:99.99% ①2个9=基本可用 ②3个9=较高可用 ③4 阅读全文
posted @ 2017-04-17 19:01 sky_sql 阅读(525) 评论(0) 推荐(0)
摘要:网站性能是客观的指标,可以具体体现到响应时间、吞吐量等技术指标,同时也是主观的感受,而感受则是一种与具体参与者相关的微妙的东西,用户的感受和工程师感受不同,不同的用户感受也不同。 一、网站性能测试 (1)性能测试指标:①响应时间;②并发数;③吞吐量;④性能计数器; (2)性能测试方法:①性能测试;② 阅读全文
posted @ 2017-04-17 19:00 sky_sql 阅读(280) 评论(0) 推荐(0)
摘要:关于什么是架构,一种比较通俗的说法是“最高层次的规划,难以改变的决定”,这些规划和决定奠定了事物未来发展的方向和最终的蓝图。 具体到软件架构,维基百科是这样定义的:“有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计”。一般来说,除了系统的功能需求外,软件架构还需要关注 性能、可用 阅读全文
posted @ 2017-04-17 18:59 sky_sql 阅读(229) 评论(0) 推荐(0)
摘要:什么是模式?这个来自建筑学的词汇是这样定义的:“每一个模式描述定义了一个在我们周围不断重复发生的问题及该问题解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复的工作”。模式的关键在于模式的可重复性,问题与场景的可重复性带来解决方案的可重复使用。 网站的架构模式 1、分层 分层是企业应用系 阅读全文
posted @ 2017-04-17 18:58 sky_sql 阅读(141) 评论(0) 推荐(0)
摘要:大型网站系统的特点 1,高并发,大流量:需要面对高并发用户,大流量访问。 2,高可用:不间断服务。 3,海量数据:管理处理海量数据,使用大量服务器。 4,需求快速变更,发布频繁:互联网产品为快速适应用户需求,版本迭代。 1. 初始阶段的网站架构 网站最开始没有太多人访问,只需要一台服务器绰绰有余,如 阅读全文
posted @ 2017-04-17 18:56 sky_sql 阅读(140) 评论(0) 推荐(0)