摘要: 为什么需要应用拆分 我以淘宝技术架构演进为例,淘宝从一个大系统工程向分布式架构演变过程,你就能很清楚的知道为什么要需要进行应用拆分。 1 人员的角度 维护一个代名工程Denali的百万级代码怪兽(虽然物理部署是分离的),从发布到上线,从人员的角度,百号人同时在一个工程上开发,一旦线上出问题,所有代码 阅读全文
posted @ 2022-02-04 21:08 hanease 阅读(665) 评论(0) 推荐(0) 编辑
摘要: 为什么需要单点登录 单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任。 单点登录在大型网站里使用得非常频繁,例如,阿里旗下有淘宝、天猫等网站,还有背后的成百上千的子系统,用户一 阅读全文
posted @ 2022-02-04 21:07 hanease 阅读(1698) 评论(0) 推荐(0) 编辑
摘要: 背景 可用性(Availability)和一致性(Consistency)是分布式系统的基本问题,先有著名的CAP理论定义过分布式环境下二者不可兼得的关系,又有神秘的Paxos协议号称是史上最简单的分布式系统一致性算法并获得图灵奖,再有开源产品ZooKeeper实现的ZAB协议号称超越Paxos。 阅读全文
posted @ 2022-02-04 21:05 hanease 阅读(860) 评论(0) 推荐(0) 编辑
摘要: 流量削峰的由来 主要是还是来自于互联网的业务场景,例如,马上即将开始的春节火车票抢购,大量的用户需要同一时间去抢购;以及大家熟知的阿里双11秒杀,短时间上亿的用户涌入,瞬间流量巨大(高并发),比如:200万人准备在凌晨12:00准备抢购一件商品,但是商品的数量缺是有限的100-500件左右。 这样真 阅读全文
posted @ 2022-02-04 20:31 hanease 阅读(2086) 评论(0) 推荐(0) 编辑
摘要: 本文主要介绍大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景。 缓存概述 缓存概述 缓存的分类 缓存主要分为四类,如下图: 缓存的分类 CDN 缓存 CDN(Content Delivery Network 内容分发网络)的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相 阅读全文
posted @ 2022-02-04 20:24 hanease 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 互联网当下,数据库的拆分过程基本遵循的顺序是:垂直拆分、读写分离、水平拆分(也称之为分库分表)。 一、垂直拆分 1、什么是垂直拆分? 指的是将一个包含了很多表的数据库,根据表的功能的不同,拆分为多个小的数据库,每个库中包含部分表。 比如:电商系统采用的库为db_eshop,根据用户功能和产品功能,可 阅读全文
posted @ 2022-02-04 20:16 hanease 阅读(3492) 评论(0) 推荐(0) 编辑