Kang's Blog

疯狂创作中···

高并发高可用高性能的解决方案汇总整理

分布式解决方案汇总

参考阅读 问题与解决方案 1、亿级流量电商网站的商品详情页系统架构 面临难题:对于每天上亿流量,拥有上亿页面的大型电商网站来说,能够支撑高并发访问,同时能够秒级让最新模板生效的商品详情页系统的架构是如何设计的? 解决方案:异步多级缓存架构+nginx本地化缓存+动态模板渲染的架构 2、redis企业级集群架构 面临难题:如何让redis集群支撑几十万QPS高并发+99.99%高可用+TB...

中间件-Hystrix

中间件Hystrix简单总结

做什么的 Hystrix 通过将依赖服务进行资源隔离,进而阻止某个依赖服务出现故障时在整个系统所有的依赖服务调用中进行蔓延; 作用于服务之间,加入一些调用延迟或者依赖故障的容错机制,提升分布式系统的可用性和稳定性。 Hystrix 的设计原则 对依赖服务调用时出现的调用延迟和调用失败进行控制和容错保护。 在复杂的分布式系统中,阻止某一个依赖服务的故障在整个系统中蔓延。...

DDD

架构-DDD简介

阅读参考 DDD在携程订单实践 DDD参考阅读 架构 分布式架构,本质上就是化整为零,分而治之的思想。从业务角度去审视我们的系统,领域即问题域,通常是根据一个组织所处的行业进行识别,它基于业务的愿景,定义了系统要解决的现实问题的目标和范围。。 核心域:决定产品核心竞争力的子域 支撑域:实现核心域目标所需的,但重要程度不如核心域的...

中间件-ES简单总结

中间件ES简单总结

搜索类型 结构化检索   也称作行数据,是由二维表结构来逻辑表达和实现的数据,具有固定格式或有限长度的数据,如数据库,元数据等。 非结构化检索   又可称为全文数据,不定长或无固定格式,不适于由数据库二维表来表现,包括所有格式的办公文档、XML、HTML、Word 文档。 顺序扫描:顾名思义,就和我们人眼查看一样,从头一个个查找。 全文检索:将非结...

网络通信-Netty

网络通信之Netty

Netty的理解:   netty是一个异步的事件驱动(不同的阶段,对应不同的回调方法),netty是异步非阻塞,但是其底层实现其实是同步的。 网络示意图 Netty 抽象出两组线程池: BossGroup 专门负责接收客户端连接 WorkerGroup 专门负责网络读写操作。 NioEventLoop 表示一个不断循环执行处理 任务的线程, 每个 NioEventLo...

中间件-RocketMQ与kafka比较

中间件RocketMQ与kafka比较

RocketMQ与kafka的不同 数据可靠性 RocketMQ:支持异步实时刷盘、同步刷盘、同步复制、异步复制。 kafka:使用异步刷盘方式,异步复制/同步复制。 总结: 1、RocketMQ支持kafka所不具备的“同步刷盘”功能,在单机可靠性上比kafka更高,不会因为操作系统Crash而导致数据丢失。 2、kafka的同步replication理论上性能低于RocketMQ的...

中间件-RocketMQ

中间件RocketMQ总览

事务管理,异步解耦,削峰填谷,数据同步等应用场景 1、NameServer 之间互不通信,无法感知对方的存在。 2、Broker 服务会与每台 NameServer 保持长连接,每30s向 NameServer 发送心跳包。 3、生产者&消费者与 NameServer 集群中的一台服务器建立长连接,并持有整个 NameServer 集群的列表,且定期去拉取主题的路由信息。...

诊断-arthas

命令与使用

arthas使用 一、常用命令 基础命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 help ——查看命令帮助信息 cat ——打印文件内容,和linux里的cat命令类似 echo ––打印参数,和linux里的echo命令类似 grep ——匹配查找,和linux里的grep命令类似 tee ——复制标准输入到标准输出和指定的文件,和linux里的tee命令类...

集群与日志

MySQL集群与日志

均衡分库分表方案-参考阅读 MHA   在 MySQL 故障切换过程中,MHA 能做到在 0~30 秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA 能在最大程度上保证数据的一致性。 MHA Manager(管理节点)   MHA Manager 可以单独部署在一台独立的机器上管理多个 master/slave 集群,也可以部署在一台 slave 节点上; MHA...

事务隔离级别-MVCC

只想说的通俗易懂

写在前面 Read View 、MVCC和 Next-Key Locks 配合的方式如下: 1、创建事务时,构建Read View确认活跃事务表; 2、MVCC会为事务操作(读/写)期间涉及到的数据都创建一个版本进行管理,后续都读这个快照; 3、当产生一个写动作时,则要去判断这个记录的锁情况(更新、当前读等加锁了),冲突时进行排队等待。   **其实MVCC本来的用途是解决写时加锁不...