面试题-分布式

目录

一、分布式知识点

二、分布式基础知识

二、分布式-缓存的应用

1、缓存为王:老码农眼中的分布式缓存

2.1、分布式系统--缓存的应用(一)

2.2 分布式系统--缓存的应用(二)

2.3 分布式系统--缓存的应用(三)

3、分布式缓存那些事

4、分布式缓存平台方案

5、分布式缓存Redis使用心得

6、redis的部署分为三种

7、redis Cluster集群模式

8、深入浅出Redis-redis哨兵集群

9、redis集群

三、分布式-消息队列

1、为什么使用消息队列(解耦、异步、削峰)

2.1、分布式系统--消息的应用(一)

2.2、分布式系统--消息的应用(二)

3.1、基于Redis实现分布式消息队列(1)– 缘起

3.2、基于Redis实现分布式消息队列(2)– 分布式消息队列功能设计

3.3、基于Redis实现分布式消息队列(3)– Redis功能分析

3.4、基于Redis实现分布式消息队列(4)– 代码实现

4、分布式系统基础-消息队列之RabbitMQ

5、分布式消息队列RabbitMQ:四种典型使用场景和代码示例

四、分布式-搜索机制

五、分布式-分布式ID

1、为什么分布式系统需要用到ID生成系统

2、分布式系统唯一ID生成方案汇总

六、分布式锁

1、传统单机锁与分布式锁概念

2、分布式锁几种实现方式及比较

3、为什么分布式要有分布式锁

4、分布式锁实现的例子

七、分布式事务

1、传统单服务事务与分布式事务

2、分布式系统(微服务架构)的一致性和幂等性问题相关概念解析

3、分布式事解决方案(2PC、TCC、本地消息表、MQ事务消息、Sagas 事务模型)

4、微服务架构下分布式事务解决方案——阿里GTS

5、SpringBoot 集成 Atomikos 实现分布式事务

八、分布式Seesion

1、分布式集群系统下的高可用session解决方案

2、分布式session采用redis实现例子

九、分布式数据库

1、分布式数据库的架构演变之路

2、分布式数据库概述

3、数据库分布式架构——分库分表(及银行核心系统适用性思考)

4、学会数据库读写分离、分表分库——用Mycat,这一篇就够了!

5、分布式数据库中间件Mycat百亿级数据存储

6、大型分布式数据库中间件MyCat的安装与使用

7、分布式数据库管理

十、分布式部署

十一、分布式系统核心问题

1、分布式核心问题

2.1、分布式系统常见问题总结(一)

2.2、分布式系统常见问题总结(二)

十二、分布式实战


 

 

一、分布式知识点

分布式基础

缓存机制

消息机制

搜索机制

分布式ID

分布式锁

分布式SESSION

分布式事务

分布式分页

分布式部署

二、分布式基础知识

  1. 软件架构设计的六大原则:单一职责原则,开放封闭原则,里氏替换原则,最少知道原则,接口隔离原则,依赖倒置原则。https://blog.csdn.net/u012562943/article/details/76110761
  2. 软件架构需要考虑的基本原则:https://blog.csdn.net/zyhlwzy/article/details/78085865
  3. 分布式系统设计理念:https://blog.csdn.net/zyhlwzy/article/details/78104242
  4. 分布式系统的演进过程:https://www.cnblogs.com/my376908915/p/6813321.html
  5. 分布式演变历史:https://blog.csdn.net/yuhaiyang_1/article/details/80862914
  6. 分布式架构的优缺点:https://blog.csdn.net/qq_32297447/article/details/79081112
  7. 分布式系统核心问题:https://blog.csdn.net/zyhlwzy/article/details/78658002
  8. 权限管理设计:https://blog.csdn.net/ztchun/article/details/80330298
  9. 分布式架构设计:https://blog.csdn.net/yuhaiyang_1/article/details/80892492
  10. 分布式系统设计系列 -- 基本原理及高可用策略:http://www.cnblogs.com/zhengzhamn/articles/5322023.html
  11. 2

二、分布式-缓存的应用

1、缓存为王:老码农眼中的分布式缓存

https://blog.csdn.net/gitchat/article/details/78913230

2.1、分布式系统--缓存的应用(一)

https://www.cnblogs.com/itfly8/p/5562610.html

2.2 分布式系统--缓存的应用(二)

https://www.cnblogs.com/itfly8/p/5562615.html

2.3 分布式系统--缓存的应用(三)

https://www.cnblogs.com/itfly8/p/5597639.html

3、分布式缓存那些事

https://www.cnblogs.com/softidea/p/5555578.html

4、分布式缓存平台方案

https://blog.csdn.net/weixin_42343424/article/details/85682524

5、分布式缓存Redis使用心得

https://www.cnblogs.com/yangxiaolan/p/5786123.html

6、redis的部署分为三种

第一种是SINGLETON模式,单机模式部署。即只有一台redis,所有数据都放这个redis中。一旦这个redis挂了,数据也就over了第二种是SHAREED模式,共享模式部署。即有多台redis,所有数据放在多台redis中,每个redis保存一部分数据,每个redis数据都不一样,这样某个redis挂了,只有部分数据over了。

第三种是CLUSTER模式,是redis官方提供的一种集群模式部署。任何两台redis之间都是相互连通的。客户端可以与任何一台redis相连接,然后就可以访问集群中的任何一台redis。对其进行存取和其他操作。

7、redis Cluster集群模式

https://blog.csdn.net/wy0123/article/details/79583506

8、深入浅出Redis-redis哨兵集群

https://www.cnblogs.com/jaycekon/p/6237562.html

9、redis集群

https://www.cnblogs.com/cjsblog/p/9048545.html

10、redis缓存与数据库一致性问题解决

https://blog.csdn.net/qq_27384769/article/details/79499373

11、redis系列之数据库与缓存数据一致性解决方案

https://www.cnblogs.com/cxxjohnson/p/8519616.html

12、高并发架构系列:Redis缓存和MySQL数据一致性方案详解

https://my.oschina.net/jiagouzhan/blog/2990423

三、分布式-消息队列

1、为什么使用消息队列(解耦、异步、削峰)

https://blog.csdn.net/alinshen/article/details/80583214

2.1、分布式系统--消息的应用(一)

https://www.cnblogs.com/itfly8/p/5155983.html

2.2、分布式系统--消息的应用(二)

https://www.cnblogs.com/itfly8/p/5156155.html

3.1、基于Redis实现分布式消息队列(1)– 缘起

http://blog.csdn.net/stationxp/article/details/45595733

3.2、基于Redis实现分布式消息队列(2)– 分布式消息队列功能设计

http://blog.csdn.net/stationxp/article/details/45596619

3.3、基于Redis实现分布式消息队列(3)– Redis功能分析

http://blog.csdn.net/stationxp/article/details/45715659

3.4、基于Redis实现分布式消息队列(4)– 代码实现

http://blog.csdn.net/stationxp/article/details/45731413

4、分布式系统基础-消息队列之RabbitMQ

https://blog.csdn.net/zyhlwzy/article/details/78292672?utm_source=blogxgwz7

5、分布式消息队列RabbitMQ:四种典型使用场景和代码示例

https://blog.csdn.net/wqhlmark64/article/details/78870556

 

四、分布式-搜索机制

  1. 分布式系统-全文搜索:https://blog.csdn.net/zyhlwzy/article/details/78261738
  2. 2

五、分布式-分布式ID

1、为什么分布式系统需要用到ID生成系统

在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中,数据日渐增长,对数据库的分库分表后需要有一个唯一ID来标识一条数据或消息,数据库的自增ID显然不能满足需求;特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一ID的系统是非常必要的。
概括下来,业务系统对ID号的要求有哪些呢?
ID生成系统的需求
1.全局唯一性:不能出现重复的ID,最基本的要求。
2.趋势递增:MySQL InnoDB引擎使用的是聚集索引,由于多数RDBMS使用B-tree的数据结构来存储索引数据,在主键的选择上面我们应尽量使用有序的主键保证写入性能。
3.单调递增:保证下一个ID一定大于上一个ID。
4.信息安全:如果ID是连续递增的,恶意用户就可以很容易的窥见订单号的规则,从而猜出下一个订单号,如果是竞争对手,就可以直接知道我们一天的订单量。所以在某些场景下,需要ID无规则。
第3、4两个需求是互斥的,无法同时满足。
同时,在大型分布式网站架构中,除了需要满足ID生成自身的需求外,还需要ID生成系统可用性极高。想象以下,如果ID生成系统瘫痪,那么整个业务无法进行下去,那将是一次灾难。
因此,总结ID生成系统还需要满足如下的需求:
1.高可用,可用性达到5个9或4个9。
2.高QPS,性能不能太差,否则容易造成线程堵塞。
3.平均延迟和TP999(保证99.9%的请求都能成功的最低延迟)延迟都要尽可能低。
 

2、分布式系统唯一ID生成方案汇总

https://www.cnblogs.com/haoxinyue/p/5208136.html

 

六、分布式锁

1、传统单机锁与分布式锁概念

单进程锁:单进程的系统中,存在多线程同时操作一个公共变量,此时需要加锁对变量进行同步操作,保证多线程的操作线性执行消除并发修改。解决的是单进程中的多线程并发问题。

分布式锁:只要的应用场景是在集群模式的多个相同服务,可能会部署在不同机器上,解决进程间安全问题,防止多进程同时操作一个变量或者数据库。解决的是多进程的并发问题。

2、分布式锁几种实现方式及比较

https://www.cnblogs.com/austinspark-jessylu/p/8043726.html

3、为什么分布式要有分布式锁

https://yq.aliyun.com/articles/621136?utm_content=m_1000010662

4、分布式锁实现的例子

https://blog.csdn.net/weixin_41446894/article/details/86260854

 

七、分布式事务

1、传统单服务事务与分布式事务

一般事务:解决一个会话过程中,上下文的修改对所有数据库表的操作要么全部成功,要不全部失败。所以应用在service层。解决的是一个会话中的操作的数据一致性。

分布式事务:

解决一个联动操作,比如一个商品的买卖分为:

(1)添加商品到购物车

(2)修改商品库存-1

此时购物车服务和商品库存服务可能部署在两台电脑,这时候需要保证对两个服务的操作都全部成功或者全部回退。解决的是组合服务的数据操作的一致性问题。

2、分布式系统(微服务架构)的一致性和幂等性问题相关概念解析

https://www.cnblogs.com/takumicx/p/10021538.html

3、分布式事解决方案(2PC、TCC、本地消息表、MQ事务消息、Sagas 事务模型)

https://www.cnblogs.com/savorboard/p/distributed-system-transaction-consistency.html

4、微服务架构下分布式事务解决方案——阿里GTS

https://www.cnblogs.com/jiangyu666/p/8522547.html

5、SpringBoot 集成 Atomikos 实现分布式事务

https://blog.csdn.net/weixin_41446894/article/details/86260854

 

八、分布式Seesion

1、分布式集群系统下的高可用session解决方案

https://www.cnblogs.com/scwanglijun/p/3763975.html

2、分布式session采用redis实现例子

https://my.oschina.net/shxjinchao/blog/1927565

 

九、分布式数据库

1、分布式数据库的架构演变之路

https://www.cnblogs.com/adeng/p/9012301.html

2、分布式数据库概述

http://blog.jobbole.com/98523/

3、数据库分布式架构——分库分表(及银行核心系统适用性思考)

https://www.douban.com/note/629680941/

4、学会数据库读写分离、分表分库——用Mycat,这一篇就够了!

https://www.cnblogs.com/joylee/p/7513038.html

5、分布式数据库中间件Mycat百亿级数据存储

https://www.cnblogs.com/xifenglou/p/8409082.html

6、大型分布式数据库中间件MyCat的安装与使用

https://blog.csdn.net/xlgen157387/article/details/77585286

7、分布式数据库管理

https://www.jianshu.com/p/cd726b32342e

十、分布式部署

分布式部署:

 

十一、分布式系统核心问题

1、分布式核心问题

https://blog.csdn.net/zyhlwzy/article/details/78658002

2.1、分布式系统常见问题总结(一)

https://www.cnblogs.com/xuwc/p/9139164.html

2.2、分布式系统常见问题总结(二)

https://www.cnblogs.com/xuwc/p/9152236.html

 

十二、分布式实战

  1. 分布式:Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错):https://www.cnblogs.com/chinway/p/6382762.html
  2. 分布式实战1:https://blog.csdn.net/qq_27384769/article/details/79439782
  3. spring cloud 实战篇:https://blog.csdn.net/ylimh_hmily/article/category/7175787/3
  4. 分布式session基于redis的实现:https://www.cnblogs.com/smallSevens/p/6763114.html
  5. 实例:https://juejin.im/post/5ad85368f265da50472fc95a
  6. dubbo+springMVC+Mybatishttps://www.cnblogs.com/jtlgb/p/7698453.html
  7. 实例https://blog.csdn.net/yeness/article/details/52823503
  8. 实例http://zhiliao666.iteye.com/blog/2275068
  9. 实例:https://blog.csdn.net/qq_24091983/article/details/80019773
  10. 实例:https://blog.csdn.net/xmtblog/article/details/79355504
  11. 例子:https://www.cnblogs.com/softidea/p/5824254.html
  12. 2
  • 5
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值