Kafka 消息丢失与消费精确一次性

消息丢失的场景 如果Kafka Producer使用“发后即忘”的方式发送消息,即调用producer.send(msg)方法来发送消息,方法会立即返回,但此时并不能说明消息已经发送成功。消息发送方式详见初次邂逅...

微服务架构27连问面试题配答案

根据 Gartner 的说法,微服务是云开发的新应用平台。微服务是独立部署和管理的,一旦应用实现在容器内,它们与底层操作系统的交互很少。因此,如果你希望把微服务添加到自己的技术栈中,并想要...

数据库扩展性架构设计

前篇: 《无限容量数据库架构设计》《MQ消息可达性+幂等性+延时性架构设计》《高可用+高并发+负载均衡架构设计》 都收到网友好评: 系统性,全局性看问题体会更深刻简单易懂 本文再做总结...

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

零、需求缘起 第一篇文章“一分钟了解负载均衡”和大家share了互联网架构中反向代理层、站点层、服务层、数据层的常用负载均衡方法。 第二篇文章“lvs为何不能完全代替DNS轮询”和大家share了互联...

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

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

session一致性架构设计实践

一、缘起 什么是session? 服务器为每个用户创建一个会话,存储用户的相关信息,以便多次请求能够定位到同一个上下文。   Web开发中,web-server可以自动为同一个浏览器的访问用户自动创建s...

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

上一篇文章《session一致性架构设计实践》,对于其中的第三种“反向代理hash法”,不少同学留言问: 什么是四层反向代理hash什么是七层反向代理hash中间还有三层那里去了... 今天花几分钟简单...

高可用+高并发+负载均衡架构设计

前篇: 《无限容量数据库架构设计》《MQ消息可达性+幂等性+延时性架构设计》 都收到网友好评: 系统性,全局性看问题体会更深刻简单易懂 本文再做总结,体系化介绍高可用,高并发,负载均...

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

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

MQ消息可达性+幂等性+延时性架构设计

前篇《无限容量数据库架构设计》收到网友好评: 系统性,全局性看问题体会更深刻简单易懂 本文再做总结,体系化介绍MQ的一些架构技术。 一、总起 文章:《究竟什么时候使用MQ》 内容:...

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

问:为什么会有本文? 答:上一篇文章《到底什么时候该使用MQ?》引起了广泛的讨论,有朋友回复说,MQ的还有一个典型应用场景是缓冲流量,削峰填谷,本文将简单介绍下,MQ要实现什么细节,才能...

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

数据库水平切分是一个很有意思的话题,不同业务类型,数据库水平切分的方法不同。 本篇将以“订单中心”为例,介绍“多key”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分...

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

本文将以“好友中心”为例,介绍“多对多”类业务,随着数据量的逐步增大,数据库性能显著降低,数据库水平切分相关的架构实践。   一、什么是多对多关系 所谓的“多对多”,来自数据库设计中的“实...

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

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

典型数据库架构设计与实践

本文,将介绍数据库架构设计中的一些基本概念,常见问题以及对应解决方案,为了便于读者理解,将以“用户中心”数据库为例,讲解数据库架构设计的常见玩法。   一、用户中心 用户中心是一个常...

无限容量数据库架构设计

花了不少时间,把自己曾经做过的系统,曾经遇到到的问题,曾经实践过的架构方案,梳理总结和沉淀,尽量“系统的”记录成文字,和大家一起讨论。 本文是不同业务场景下,体系化的介绍“数据库水...

分布式基础,通俗易懂CAP?

分布式系统非常关注三个指标: 数据一致性系统可用性节点连通性与扩展性   关于一致性 数据“强一致性”,是希望系统只读到最新写入的数据,例如:通过单点串行化的方式,就能够达到这个效果...

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

一、什么是高可用 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。 假设系统一直能够提供服务,我们说系统的可...

关于互联网“一致性”架构设计的一切

前篇: 《无限容量数据库架构设计》《MQ消息可达性+幂等性+延时性架构设计》《高可用+高并发+负载均衡架构设计》《关于数据库“扩展性”架构设计的一切》 都收到网友好评: 系统性,全局性看问...

MySQL主从延时这么长,要怎么优化?

MySQL主从复制,读写分离是互联网常见的数据库架构,该架构最令人诟病的地方就是,在数据量较大并发量较大的场景下,主从延时会比较严重。   为什么主从延时这么大? 答:MySQL使用单线程重...