摘要:
一、问题域 nginx、lvs、keepalived、f5、DNS轮询,往往讨论的是接入层的这样几个问题: 1)可用性:任何一台机器挂了,服务受不受影响 2)扩展性:能否通过增加机器,扩充系统的性能 3)反向代理+负载均衡:请求是否均匀分摊到后端的操作单元执行 二、上面那些名词都是什么概念 1)ng 阅读全文
摘要:
需求缘起 后端的service有可能部署在硬件条件不同的服务器上: 1)如果对最低配的服务器“均匀”分摊负载,高配的服务器的利用率不足; 2)如果对最高配的服务器“均匀”分摊负载,低配的服务器可能会扛不住; 能否根据异构服务器的处理能力来动态、自适应进行负载均衡及过载保护。 一、service层的负 阅读全文
摘要:
什么是负载均衡 负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。 常见的负载均衡方案 常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据层。可以看到,每一 阅读全文
摘要:
一、需求缘起 明明架构要求高可用,为何系统中还会存在单点? 回答:单点master的设计,会大大简化系统设计,何况有时候避免不了单点 在哪些场景中会存在单点?先来看一下一个典型互联网高可用架构。 典型互联网高可用架构: (1)客户端层,这一层是浏览器或者APP,第一步先访问DNS-server,由域 阅读全文
摘要:
一,需求缘起 互联网公司,这样的场景是否似曾相识: 场景一:pm要做一个很大的运营活动,技术老大杀过来,问了两个问题: (1)机器能抗住么? (2)如果扛不住,需要加多少台机器? 场景二:系统设计阶段,技术老大杀过来,又问了两个问题: (1)数据库需要分库么? (2)如果需要分库,需要分几个库? 技 阅读全文
摘要:
一、需求缘起 几乎所有的业务系统,都有生成一个记录标识的需求,例如: (1)消息标识:message-id (2)订单标识:order-id (3)帖子标识:tiezi-id 这个记录标识往往就是数据库中的唯一主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。 阅读全文
摘要:
一、秒杀业务为什么难做 1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息); 2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据; 3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。 例如: 小米手机每周二的秒杀,可能手机只有 阅读全文