分布式架构
HLA_胡
2016.06-2019.08 猫眼电影
2019.08-至今 头条西瓜视频
展开
-
分布式全文检索引擎-Elasticsearch
Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。 分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 可以扩展到上百台服务器,处理PB级结构化或非结构化数据 在Elasticsearch中,文档归属于一种类型(type),而这些类型存在于索引(index)中,我们可以画一些简单的对比图来类比传统关系型...原创 2019-08-18 16:23:57 · 328 阅读 · 0 评论 -
缓存穿透、击穿、雪崩、热点key问题
参考来源:缓存世界中的三大问题及解决方案关于【缓存穿透、缓存击穿、缓存雪崩、热点数据失效】问题的解决方案 定义 问题 解决方案 缓存穿透 业务系统访问缓存和数据库都查询不到的数据。 发生情况: 1.恶意攻击,故意营造大量不存在的数据请求 2.代码逻辑错误 请求都会落到数据库中,数据库压力剧增...原创 2019-08-18 15:18:56 · 192 阅读 · 0 评论 -
Redis 面试问题
当前版本5.0 稳定版,项目使用 5.0 C语言写的问题 答案 Redis 基本数据结构 参考: https://mp.weixin.qq.com/s/gRtiSNDCuS0c8nF_Q8Tv9A https://mp.weixin.qq.com/s/TR8oe7c1SlOrk78untXdOA string...原创 2019-08-18 15:17:42 · 441 阅读 · 0 评论 -
分布式发号器
1、分布式环境下,保证每个序列号(sequence)是全系统唯一的;2、序列号可排序,满足单调递增的规律;3、特定场景下,能生成无规则(或者看不出规则)的序列号;4、生成的序列号尽量短;5、序列号可进行二次混淆,提供可扩展的interface,业务方自定义实现。方案 介绍 单机数据库 主键ID用bigint类型,并且设置为自增、无符号 优点...原创 2019-08-18 13:01:20 · 1019 阅读 · 0 评论 -
单点登录 SSO 及 CAS
问题 答案 单系统登录限制 单系统登录解决方案的核心是cookie,cookie携带会话id在浏览器与服务器之间维护会话状态。 但cookie是有限制的,这个限制就是cookie的域(通常对应网站的域名),浏览器发送http请求时会自动携带与该域匹配的cookie,而不是所有cookie。 同域下的单点登录 web应用群中所有子系统的域名统...原创 2019-08-18 13:00:48 · 313 阅读 · 0 评论 -
Thrift 面试题
问题 答案 socket socket是 应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,它把复杂的TCP/IP协议族隐藏在Socket接口后面 服务端:socket() 创建socket描述符;bind()绑定实际地址;listen() 监听; accept 建立链接; 客户端:socket() 创建socket描述符;connect()连...原创 2019-08-18 13:00:34 · 3323 阅读 · 0 评论 -
Spring Cloud 微服务架构
Spring Cloud是一个全家桶式的技术栈,包含了很多组件 限流、熔断、降级 问题 回答 限流 限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页或告知资源没有了)、排队或等待(比如秒杀、评论、下单)、降级(返回兜底数据或默认...原创 2019-08-19 17:24:01 · 187 阅读 · 0 评论 -
设计模式面试题
设计模式 详解 设计模式 参考: https://www.jianshu.com/p/fc4b2e679a1e 单例模式 整个应用中保证只有一个类的实例存在 参考: https://mp.weixin.qq.com/s/dlVXW6aW4wLc...原创 2019-08-19 16:50:02 · 2269 阅读 · 0 评论 -
秒杀系统设计
参考来源: 极客时间《如何设计一个秒杀系统》1.概述秒杀系统遇到的问题及解决方法:并发读:尽量减少用户到服务端来“读”数据,或者让他们读更少的数据并发写:在数据库层面独立出来一个库,做特殊的处理。设计兜底方案,以防止最坏的情况发生秒杀系统整体架构目标:稳:高可用,保证秒杀活动顺利完成。流量符合预期时肯定要稳定,超出预期时也同样不能掉链子。准:保证数据的一致...原创 2019-08-19 15:41:58 · 931 阅读 · 0 评论 -
负载均衡 LVS nginx
LVS参考来源:https://www.cnblogs.com/gaoxu387/p/7941381.html四层负载均衡 IP负载均衡技术工作模式 工作模式 工作原理 优点 缺点 NAT (Network Address Translation)即网络地址转换 ...原创 2019-08-19 14:27:05 · 169 阅读 · 0 评论 -
Kafka 源码解析
Producer 端参考来源:https://github.com/wangzzu/awesome/issues/7 Producer<String, String> producer = new KafkaProducer<>(props); for (int i = 0; i < msgNum; i++) { ...转载 2019-08-19 11:42:53 · 583 阅读 · 0 评论 -
MQ 的设计原理
参考 : 如何从0到1设计一个MQ消息队列1.Producer(消息生产者):发送消息到Broker。2.Broker(服务端):Broker这个概念主要来自于Apache的ActiveMQ,特指消息队列的服务端。主要功能就是:把消息从发送端传送到接收端,这里会涉及到消息的存储、消息通讯机制等。3.Consumer(消息消费者):从消息队列接收消息,consumer回复消费确认...原创 2019-08-19 11:32:23 · 1224 阅读 · 0 评论 -
MQ 问题集合
KAFKA 当前版本 2.2.1 项目使用 2.X朱小厮kafka面试题整理 问题 答案 kafka acks参数对消息持久化的影响 参考:https://mp.weixin.qq.com/s/IxS46JAr7D9sBtCDr8pd7A acks参数,是在KafkaProducer,也就是生产者客户端里设置...原创 2019-08-19 11:27:13 · 267 阅读 · 0 评论 -
分布式协调服务Zookeeper
参考来源:从Paxos到ZooKeeper漫画:什么是ZooKeeper?当前版本3.4 项目使用 3.XZooKeeper是什么ZooKeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等功能。ZooKeeper的设计目标目标一:...原创 2019-08-19 11:04:45 · 255 阅读 · 0 评论 -
分布式事务解决方案
1.分布式事务概述1.1 事务简介1.1.1 本地事务大多数场景下,我们的应用都只需要操作单一的数据库,这种情况下的事务称之为本地事务(Local Transaction)。本地事务的ACID特性是数据库直接提供支持。本地事务应用架构如下所示:在JDBC编程中,我们通过java.sql.Connection对象来开启、关闭或者提交事务。代码如下所示:Co...原创 2019-08-18 16:51:45 · 330 阅读 · 0 评论 -
分布式事务面试题
概念 说明 分布式事务 横跨多个服务,操作多个数据库; 跨库、分库分表、分服务 DTP 模型 DTP模型的5个基本元素: 应用程序 AP 资源管理器 RM 事务管理器 TM 通信资源管理器 CRM 通信协议 CP XA规范 定义了RM-TM的交互接口 ...原创 2019-08-18 16:30:19 · 14984 阅读 · 0 评论 -
缓存架构文章集锦
来源:架构师之路:https://mp.weixin.qq.com/s/4J3oM1j5hcLq4w4TdSEMPg缓存是互联网系统架构中必不可少的一环,近一个月,写了一些缓存的文字。《缓存架构到底设计了些啥?》1.《进程内缓存究竟怎么玩?》缓存,可以分为:进程内缓存,缓存集群。文章介绍了:(1)什么是进程内缓存(2)进程内缓存的优缺点(3)进程内缓存保存一致性的3种方案(4)...转载 2019-08-18 15:26:42 · 145 阅读 · 0 评论