HelloWorld搬运工

HelloWorld搬运工

如何实施异构服务器的负载均衡及过载保护?

后端的service有可能部署在硬件条件不同的服务器上: 1)如果对标最低配的服务器“均匀”分摊负载,高配的服务器的利用率不足; 2)如果对标最高配的服务器“均匀”分摊负载,低配的服务器可能会扛不住; 能否根据异构服务器的处理能力来动态、自适应进行负载均衡及过载保护,是本文要讨论的问题。 ...

2017-10-30 22:48:15

阅读数:96

评论数:0

lvs为何不能完全替代DNS轮询

上一篇文章“一分钟了解负载均衡的一切”引起了不少同学的关注,评论中大家争论的比较多的一个技术点是接入层负载均衡技术,部分同学持这样的观点: 1)nginx前端加入lvs和keepalived可以替代“DNS轮询” 2)F5能搞定接入层高可用、扩展性、负载均衡,可以替代“DNS轮询” “DNS...

2017-10-30 22:01:37

阅读数:121

评论数:0

一分钟了解负载均衡的一切

什么是负载均衡 负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】。   常见的负载均衡方案 常见互联网分布式架构如上,分为客户端层、反向代理nginx层、站点层、服务层、数据...

2017-10-30 18:55:31

阅读数:252

评论数:0

一分钟了解四层/七层反向代理

什么是四层反向代理hash 什么是七层反向代理hash 中间还有三层那里去了 ... 今天花几分钟简单和大家解释一下。 场景:访问用户通过proxy请求被访问的真实服务器 路径:用户 -> proxy -> real-server ...

2017-10-30 18:45:22

阅读数:294

评论数:0

究竟啥才是互联网架构“高并发”

一、什么是高并发 高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。 高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Que...

2017-10-30 08:13:04

阅读数:179

评论数:0

究竟啥才是互联网架构“高可用”

一、什么是高可用 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。 假设系统一直能够提供服务,我们说系统的可用性是100%。 如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的...

2017-10-29 21:23:18

阅读数:177

评论数:0

58到家MQ如何快速实现流量削峰填谷

问:站点与服务,服务与服务上下游之间,一般如何通讯? 答:有两种常见的方式 一种是“直接调用”,通过RPC框架,上游直接调用下游。   在某些业务场景之下(具体哪些业务场景,见《到底什么时候该使用MQ?》),可以采用“MQ推送”,上游将消息发给MQ,MQ将消息推送给下游。  ...

2017-10-29 20:58:44

阅读数:275

评论数:0

消息总线能否实现消息必达?

一、缘起 任务、延迟消息都放在内存里,万一重启了怎么办? 能否保证消息必达?   今天就简单聊聊消息队列(MsgQueue)的消息必达性架构与流程。   二、架构方向 MQ要想尽量消息必达,架构上有两个核心设计点: (1)消息落地 (2)消息超时、重传、确认   三、MQ核心...

2017-10-29 20:42:31

阅读数:150

评论数:0

消息总线真的能保证幂等

一、缘起 如《消息总线消息必达》所述,MQ消息必达,架构上有两个核心设计点: (1)消息落地 (2)消息超时、重传、确认   再次回顾消息总线核心架构,它由发送端、服务端、固化存储、接收端四大部分组成。 为保证消息的可达性,超时、重传、确认机制可能导致消息总线、或者业务方收...

2017-10-27 14:54:06

阅读数:73

评论数:0

1分钟实现“延迟消息”功能

一、缘起 很多时候,业务有“在一段时间之后,完成一个工作任务”的需求。   例如:滴滴打车订单完成后,如果用户一直不评价,48小时后会将自动评价为5星。 一般来说怎么实现这类“48小时后自动评价为5星”需求呢?   常见方案:启动一个cron定时任务,每小时跑一次,将完成时间超过...

2017-10-27 07:54:42

阅读数:64

评论数:0

10w定时任务,如何高效触发超时

一、缘起 很多时候,业务有定时任务或者定时超时的需求,当任务量很大时,可能需要维护大量的timer,或者进行低效的扫描。   例如:58到家APP实时消息通道系统,对每个用户会维护一个APP到服务器的TCP连接,用来实时收发消息,对这个TCP连接,有这样一个需求:“如果连续30s没有请求包(...

2017-10-27 07:43:44

阅读数:96

评论数:0

到底什么时候该使用MQ

一、缘起 一切脱离业务的架构设计与新技术引入都是耍流氓。   引入一个技术之前,首先应该解答的问题是,这个技术解决什么问题。 就像微服务分层架构之前,应该首先回答,为什么要引入微服务,微服务究竟解决什么问题(详见《互联网架构为什么要做微服务?》)。   最近分享了几篇MQ相关的文...

2017-10-26 22:01:50

阅读数:55

评论数:0

一分钟了解索引技巧

花1分钟时间,了解聚集索引,非聚集索引,联合索引,索引覆盖。   举例,业务场景,用户表,表结构为: t_user( uid primary key, login_name unique, passwd, login_time, age, … );   聚集索引(clust...

2017-10-26 21:05:05

阅读数:144

评论数:0

多key业务,数据库水平切分架构一次搞定

数据库水平切分是一个很有意思的话题,不同业务类型,数据库水平切分的方法不同。 本篇将以“订单中心”为例,介绍“多key”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践。   一、什么是“多key”类业务 所谓的“多key”,是指一条元数据中,有多个属性...

2017-10-26 18:55:50

阅读数:172

评论数:0

多对多业务,数据库水平切分架构一次搞定

本文将以“好友中心”为例,介绍“多对多”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践。   一、什么是多对多关系 所谓的“多对多”,来自数据库设计中的“实体-关系”ER模型,用来描述实体之间的关联关系,一个学生可以选修多个课程,一个课程可以被多个学生选修,这...

2017-10-26 18:36:41

阅读数:149

评论数:0

1对多业务,数据库水平切分架构一次搞定

本文将以“帖子中心”为例,介绍“1对多”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践: 如何来实施水平切分 水平切分后常见的问题 典型问题的优化思路及实践   一、什么是1对多关系 所谓的“1对1”,“1对多”,“多对多”,来自数据库设计中的...

2017-10-25 18:56:57

阅读数:268

评论数:0

MySQL的or/in/union与索引优化

假设订单业务表结构为: order(oid, date, uid, status, money, time, …) 其中: oid,订单ID,主键 date,下单日期,有普通索引,管理后台经常按照date查询 uid,用户ID,有普通索引,用户查询自己订单 status,订单...

2017-10-25 18:15:25

阅读数:115

评论数:0

MySQL冗余数据的三种方案

一,为什么要冗余数据 互联网数据量很大的业务场景,往往数据库需要进行水平切分来降低单库数据量。 水平切分会有一个patition key,通过patition key的查询能够直接定位到库,但是非patition key上的查询可能就需要扫描多个库了。 此时常见的架构设计方案,...

2017-10-25 08:05:26

阅读数:235

评论数:0

MySQL双主一致性架构优化

一、双主保证高可用 MySQL数据库集群常使用一主多从,主从同步,读写分离的方式来扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点。   在一个MySQL数据库集群中可以设置两个主库,并设置双向同步,以冗余写库的方式来保证写库的高可用。   二、并发引发不一致 数据冗余会引发...

2017-10-25 07:52:18

阅读数:108

评论数:0

或许你不知道的10条SQL技巧

这几天在写索引,想到一些有意思的TIPS,希望大家有收获。   一、一些常见的SQL实践 (1)负向条件查询不能使用索引 select * from order where status!=0 and stauts!=1 not in/not exists都不是好习惯 可...

2017-10-24 22:28:47

阅读数:57

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭