架构 中间件
文章平均质量分 69
架构 中间件
Peter Pan 1231
结硬寨 打呆仗 WebChat JianLong1231
展开
-
IT老齐架构300讲笔记(086) 新年将至,100W用户8000W流量在线贺卡应用架构如何优化
目录一、场景背景二、架构分析2.1 分析核心复杂度2.2 计算架构核心数据三、架构改进3.1 结果推导3.2 改进架构专栏链接: IT老齐架构300讲笔记一、场景背景 二、架构分析2.1 分析核心复杂度当下架构核心复杂度有3点每个贺卡要占用5mb的带宽,而单台ECS只有200MB,肯定不够用 单台ECS API性能极限有限,肯定扛不住 100万用户在5个小时内预计将产生8000万数据,数据库扛得住吗2.2 计算架构核心数据.原创 2022-01-25 17:10:00 · 2700 阅读 · 0 评论 -
IT老齐架构300讲笔记(068) 高并发电商热门商品缓存访问倾斜,该怎么解决
目录一、热门商品缓存访问倾斜二、访问倾斜解决方案 2.1 热门数据分片2.2 如何区分热点数据2.3 缓存前置 + 闪电缓存专栏链接: IT老齐架构300讲笔记一、热门商品缓存访问倾斜访问倾斜: 少量的服务器承载了大量的请求二、访问倾斜解决方案热门数据分片(热点数据特征是短时间访问超高,数据总量相对较少) 缓存前置 + 闪电缓存2.1 热门数据分片 2.2 如何区分热点数据2.3 缓存前置 + 闪电缓存...原创 2022-01-23 23:04:49 · 411 阅读 · 0 评论 -
IT老齐架构300讲笔记(065) 十分钟上手阿里巴巴分布式流控神器Alibaba Sentinel
目录一、为什么需要做流量控制1.1Sentinel 是什么?1.2 Sentinel架构1.3 Sentinel 的开源生态二、Alibaba Sentinel 部署与接入2.1 启动Sentinel控制台2.2 启动Sentinel Demo三、Sentinel拦截执行原理一、为什么需要做流量控制1.1Sentinel 是什么? https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8DSe..原创 2022-01-21 15:56:40 · 304 阅读 · 0 评论 -
IT老齐架构300讲笔记(064) 上了微服务就能高并发?扯淡,几张图给你讲明白微服务架构的作用
目录一、微服务帮我们解决了什么问题?1.1 系统间通信困难1.2 系统内部复杂度对外暴露1.3 系统间通信逻辑复杂1.4 系统的重复建设二、微服务改造2.1 改造后的微服务架构2.2 标准化的通信过程Restful2.3 对外屏蔽系统内部复杂度2.4 有序的调用链路2.5 大一统的架构设计2.6 规避大一统的架构设计一、微服务帮我们解决了什么问题?1.1 系统间通信困难1.2 系统内部复杂度对外暴露1.3 系统间通信逻辑复杂.原创 2022-01-21 14:34:38 · 876 阅读 · 0 评论 -
IT老齐架构300讲笔记(063) 大型电商整点秒杀业务场景商品库存如何预防超卖现象
目录一、分析库存超卖的产生二、秒杀场景的分析三、高并发下预防超卖的解决方案一、分析库存超卖的产生二、秒杀场景的分析秒杀商品库存总量固定 先到先得,瞬间并发极大,但写库量有限三、高并发下预防超卖的解决方案利用预减库存方式杜绝超卖 利用Nginx+Lua在网关层面将无效请求阻挡 利用MQ消息队列的限流特性保证MySQL不会被瞬间击垮 APP需要额外设计轮询机制查询订单状态...原创 2022-01-20 17:56:33 · 1332 阅读 · 0 评论 -
IT老齐架构300讲笔记(062) 聊聊Cache Aside Pattern与延迟双删 缓存一致性如何保障
目录一、为什么不能直接更新缓存二、Cache Aside Pattern到底说了什么2.1为什么不是“先删缓存,再写库”2.2 Cache Aside Pattern三、延迟双删3.1 Cache Aside Pattern不一致场景3.2 延迟双删解决极端场景数据不一致专栏链接: IT老齐架构300讲笔记一、为什么不能直接更新缓存不要考虑去update更新缓存二、Cache Aside Pattern到底说了什么Cache Asid..原创 2022-01-20 09:31:35 · 354 阅读 · 0 评论 -
IT老齐架构300讲笔记(060) 分布式架构开发时N点血的教训
目录一、什么是分布式架构?二、分布式开发各个方面分析2.1 网络2.2 性能2.3 运维成本2.4 组织架构层面2.5 集成测试三、微服务最佳实践3.1 微服务的划分原则3.2 微服务实践通用原则3.3 为每一个微服务模块明确使命3.4微服务确保独立的数据存储3.5 服务间通信优先采用聚合器模式3.6 一定要务实,不要强行“微服务”化专栏链接: IT老齐架构300讲笔记一、什么是分布式架构?分布式系统是将一个大的系统打散成很多个小系统、.原创 2022-01-19 23:51:01 · 2683 阅读 · 0 评论 -
IT老齐架构300讲笔记(056) 日千万级订单系统的高可用、高性能架构该如何设计
目录一、场景二、如何设计一个简单的订单系统三、如何避免丢单情况四、重构优化4.1 如何设计一个支持日万级的订单系统4.2 千日万级的订单系统可能遇到的问题4.3 如何设计一个支持千日万级的订单系统一、场景我们每天都在使用网络进行下单,购买各种各样的商品和服务,作为一名后端服务的程序员,你有没有好奇地想过,在网络下单后,后台流程是如何处理的,订单是如何生成的,又是如何推送到下游的各个系统的,以及在这个过程中,订单系统是如何保证系统低延迟、高可用的,尤其是不出现丢单.原创 2022-01-19 15:59:35 · 2957 阅读 · 3 评论 -
IT老齐架构300讲笔记(054) 分析医X云架构,为什么抛弃MySQL去拥抱MongoDB
目录一、介绍医X云医疗大数据的技术架构二、MongoDB在海量处理数据时有什么优势专栏链接: IT老齐架构300讲笔记一、介绍医X云医疗大数据的技术架构二、MongoDB在海量处理数据时有什么优势程序使用的表达(JSON文档)和数据存储是一致的,称为“面向对象数据模型”...原创 2022-01-18 15:41:23 · 1843 阅读 · 0 评论 -
IT老齐架构300讲笔记(053) 单页10万QPS,京东如何通过动静分离架构抗住超高并发访问
目录一、动静分离1.1 架构三大分离设计1.2 动静分离1.3 有效区分页面中的动静数据是优化的关键前提二、动静分离案例2.1 缓存架构2.2 动静分离流程图2.3 页面静态化与伪静态化技术2.4 伪静态化2.5 静态化的问题三、动静整合方案3.1利用SSI实现动静分离3.2 Ajax异步请求法 京东动静结合方案专栏链接: IT老齐架构300讲笔记一、动静分离1.1 架构三大分离设计读写分离 动静分离 前后台分离1.2 动静..原创 2022-01-18 15:16:58 · 1162 阅读 · 0 评论 -
IT老齐架构300讲笔记(051) 微博架构中大V更新动态,动态通知采用推Push还是拉Pull更合适
目录一、推模式(Push)与拉模式(Pull)有什么不同二、写扩散与读扩散该如何优化应对2.1 写扩散(Push)优化2.2 读扩散(Pull)优化2.3推特的混合模式专栏链接: IT老齐架构300讲笔记一、推模式(Push)与拉模式(Pull)有什么不同 Push模式 Pull拉取模式 实时性 较好,通过网络管道准实时发送 较差,取决于定时轮询时间.原创 2022-01-18 13:43:17 · 586 阅读 · 0 评论 -
IT老齐架构300讲笔记(050) MySQL服务器该如何选择 CPU、内存、硬盘三大件
目录一、CPU优先选大核还是选多核?二、物理内存多大合适?三、硬盘RAID该怎么选?一、CPU优先选大核还是选多核?二、物理内存多大合适?三、硬盘RAID该怎么选?原创 2022-01-18 00:04:02 · 658 阅读 · 0 评论 -
IT老齐架构300讲笔记(047) 避坑分享财Z部金财平台用主键用了UUID后出现的问题
目录一、场景二、UUID的版本2.1 基于时间的UUID2.2 DCE安全的UUID2.3基于命名空间的UUID(MD5、SH1)2.4基于随机数的UUID(最常用)三、为什么 UUID 会引起IO异常一、场景财政部金财工程平台在代理行日终结算时,经常出现磁盘的IO异常,导致经常出现高延迟。这个问题一直困扰我们很长时间,对比发现在大量数据新增时磁盘IO居高不下,多次测试后发现是UUID主键在搞鬼。二、UUID的版本2.1 基于时间的UUID...原创 2022-01-17 15:55:29 · 462 阅读 · 0 评论 -
IT老齐架构300讲笔记(045) RabbitMQ六种队列模式与应用场景
目录一、RabbitMQ二、RabbitMQ的六种队列模式2.1 简单模式2.2 工作队列模式2.3 发布订阅模式2.4 路由模式2.5 主题模式2.6 RPC同步通信(阻塞)一、RabbitMQProducer:生产者,消息的提供者 Consumer:消费者,消息的使用者 Broker:MQ服务器,管理队列、消息及相关信息 Message:消息,程序间的通信的数据 Queue:队列,消息存放的容器,消息先进先出 Exchange:交换机,用于分发消息原创 2022-01-17 15:00:45 · 971 阅读 · 0 评论 -
IT老齐架构300讲笔记(038) MQ中间件是如何实现可靠性投递的?
目录一、MQ中间件的通用消息投递过程有哪些情况可能会造成丢数1.1 可能出现问题的阶段1.2 可能出现问题的细节点一、MQ中间件的通用消息投递过程有哪些情况可能会造成丢数1.1 可能出现问题的阶段 发送阶段,遇到高延迟,Producer会多次重发消息,直到Broker ack确认,过程中Broker会自动去重,超时Producer产生异常,应用进行捕获提示。 存储阶段,Broker先刷盘再ack确认,即便ack失败消息不会丢失,多次重试直到Producer接收,会.原创 2022-01-17 09:36:55 · 560 阅读 · 0 评论 -
IT老齐架构300讲笔记(035) 蓝绿、红黑、灰度发布
目录一、蓝绿、红黑、灰度发布概念区别1.蓝绿部署2.红黑部署3.灰度发布二、灰度发布遇到的挑战1 考虑数据库变更对旧版本的兼容性影响2.1 方案一:放弃灰度,采用红黑方式全量发布2.2 方案二:考虑独立部署数据源进行迁移三、灰度发布遇到的挑战2 灰度发布用户群的选择四、灰度发布遇到的挑战3 什么时候才可以提升分配比例一、蓝绿、红黑、灰度发布概念区别科学部署的意义尽可能减少服务停机时间,控制新版本带来的质量风险1.蓝绿部署 2..原创 2022-01-16 23:29:18 · 1115 阅读 · 0 评论 -
IT老齐架构300讲笔记(031) 从宜信架构演化理解微服务架构设计
了解分布式架构的发展过程1.单体阶段 单体阶段紧耦合 系统复杂,牵一发动全局 所有模块耦合在一个进程中 完全封闭架构 业务发展初期,快速满足客户需求2.垂直拆分阶段垂直拆分阶段紧耦合 垂直拆分系统,竖井式架构子系统之间没有直接关联重复造轮子∶ OS,DB, Midderware 存在大量的重复代码拷贝 完全封闭架构业务 快速增长时,以应用系统为中心的架构模式3.RPC阶段RPC通信阶段紧耦合(共享分布式对象实现远程方法调用)...原创 2022-01-14 09:39:12 · 485 阅读 · 0 评论 -
IT老齐架构300讲笔记(029) MySQL脏读、幻读、不可重复读
目录脏读、不可重复读、幻读的区别与出现场景事务隔离级别脏读、不可重复读、幻读的区别与出现场景脏读指读取到其他事务正在处理的未提交数据 不可重复读指并发更新时,另一个事务前后查询相同数据时的数据不符合预期 幻读指并发新增、删除这种会产生数量变化的操作时,另一个事务前后查询相同数据时的不符合预期事务隔离级别MySQL默认Repeatable Read(RR)-可重复读MySQL 5.1以后默认存储引擎就是InnoDB因此MySQL默认RR也能解.原创 2022-01-12 11:48:40 · 488 阅读 · 0 评论 -
IT老齐架构300讲笔记(028) 白话Redis Cluster集群模式
目录Redis Cluster集群模式Redis Cluster 集群 与 Redis Sentinel 有什么不同?Redis Cluster 集群如何将数据分散存储为什么是16384Redis Cluster 集群构建流程1.配置redis-cluster.conf2.创建集群3.查看集群4.插入数据5.Master故障情况6.原Master恢复服务变成SlaveRedis Cluster集群模式Cluster模式是Redis3.0开始推出..原创 2022-01-12 11:27:29 · 474 阅读 · 0 评论 -
IT老齐架构300讲笔记(027) 分享一套经典的Web高可用架构
目录初始Web架构使用Virtual IP和Keepalived的升级架构DNS轮询 + 多VIP组合方案初始Web架构使用Virtual IP和Keepalived的升级架构DNS轮询的缺点只负责IP轮询获取,不保证节点可用 DNS IP列表变更有延时 外网IP占用严重 安全性降低DNS轮询 + 多VIP组合方案...原创 2022-01-12 09:24:24 · 481 阅读 · 0 评论 -
IT老齐架构300讲笔记(026) 公共表在分布式架构下该如何访问?
目录什么是公共表?分布式环境下公共表解决方案场景解决方案什么是公共表?被其他业务模块共享的基础数据表,被称为公共表比如:系统用户表、行政区划、组织机构、系统配置分布式环境下公共表解决方案场景假如用户表有4000万数据,在查询时不小心没有了索引,导致磁盘IO直接拉满,其他表访问就会出现高延迟解决方案 实时数据,将公共表下沉为基础服务 业务模块上浮为业务服务 业务应用通过RPC、RESTful API访问数据层面解耦,有独立的服务器.原创 2022-01-12 09:13:51 · 306 阅读 · 0 评论 -
IT老齐架构300讲笔记(025) 无状态的JWT令牌实现续签功能
目录为什么JWT要续签不允许改变Token令牌时实现续签允许改变Token令牌时实现续签存在重复生成JWT的问题1.不允许改变Token令牌时实现续签2.允许改变JWT时实现续签3.续约时的重发JWT问题解决为什么JWT要续签那JWT不设置过期时间行不行?不行,会留下”太空垃圾”,后患无穷JWT不建议设置长时有效期续签JWT必须有退出机制不允许改变Token令牌时实现续签为什么加入Redis后JWT中过期时间可...原创 2022-01-10 16:24:39 · 2545 阅读 · 0 评论 -
IT老齐架构300讲笔记(021) 京东金融是如何通过乐观锁解决并发数据冲突
目录为什么会产生并发冲突传统解决方案(悲观锁)增加行锁for update悲观锁缺点乐观锁方案乐观锁遇到冲突后的解决方案为什么会产生并发冲突传统解决方案(悲观锁)增加行锁for update悲观锁缺点悲观锁并发性太差高并发场景用户体验差乐观锁方案实现目标:既要保证用户体验,也要实现数据可靠乐观锁遇到冲突后的解决方案前端应用提示"数据正在处理,请稍后再试!" 附加spring-retry在service上进行.原创 2022-01-10 14:51:07 · 341 阅读 · 0 评论 -
IT老齐架构300讲笔记(020) 京东金融如何保证接口的幂等性
目录幂等性如何解决类似的幂等性问题幂等表方案幂等性发一次接口调用与发多次相同的接口消息都能得到与预期相符的结果如何解决类似的幂等性问题每重发一次请求1号工资就会+500,幂等性就被破坏了传统办法是代码增加前置判断if(!员工已调薪){进行调薪}缺点需要前置判断的地方太多了,一不留神就漏了这种技术问题不应该成为干扰程序员写业务代码的因素需求我们需要一种无侵入的幂等解决方案构建幂等表是我们的通用解决方案幂等表方...原创 2022-01-10 14:24:43 · 487 阅读 · 0 评论 -
IT老齐架构300讲笔记(019) 阿里巴巴Seata分布式事务解决方案
目录Seata分布式事务场景Seata执行过程分布式事务体系的三个重要角色第一阶段第二阶段Seata AT模式Seata如何避免并发场景的脏读与脏写SeataSeata是一款阿里巴巴提供的开源分布式事务解决方案,微服务架构下提供高性能和简单易用的分布式事务服务分布式事务场景二阶段提交请求阶段 相应阶段Seata执行过程分布式事务体系的三个重要角色事务管理器(TM):决定什么时候全局提交/回滚 司令官 事务.原创 2022-01-10 13:48:11 · 393 阅读 · 0 评论 -
IT老齐架构300讲笔记(018) Redis Sentinel高可用架构
目录Redis主从复制一主多从架构redis主从同步原理redis主从架构缺点Redis Sentinel高可用集群集群介绍如果Redis master挂了怎么办?先判断是否真挂了 开启故障转移选出新的master后开始故障转移如果Sentinel挂了怎么办?如何保证Sentinel高可用Redis主从复制一主多从架构master主要负责写入,slave负责读取,有读写分离的功能redis主从同步原理1、slave执行命令向mas原创 2022-01-10 11:12:23 · 316 阅读 · 0 评论 -
IT老齐架构300讲笔记(016) MySQL高可用MHA架构方案
MHA:最成熟的mysql高可用方案MHA介绍场景:主服务器挂了,从服务器不会切换到主服务器,从而引出高可用MHA方案 。MHA故障发现1、启动:前置检查(配置文件等,不细说)2、运行过程:若master挂了,MHA如何认定需要进行故障转移?(1)manger每3秒向主节点发送select 1 的SQL语句,判断主节点是否执行。3次ping无反应,认定master异常(2)避免网络导致的无法ping通,manger让从属服务器MHA node尝试SSH登录检查,若所...原创 2022-01-10 09:39:29 · 860 阅读 · 0 评论 -
IT老齐架构300讲笔记(014) 巧用阿里Canal实现MySQL异构数据同步
目录什么是异构数据?场景如何将后台的数据同步到es?场景拓展目标Canalmysql数据库的主从同步的功能Canal实现引入MQ解决解耦问题什么是异构数据?场景商户在后台系统添加数据,消费者需要在前台获取数据,这时候需要将后台的数据同步到es中。mysql的数据跟es存储的数据不一样,称为异构数据。如何将后台的数据同步到es?做法:团队A在java代码中新增mysql数据时,调用团队B的接口新增es商品数据。缺点:1、协作中两个团队存在代码原创 2022-01-09 23:02:49 · 684 阅读 · 0 评论 -
IT老齐架构300讲笔记(013) 前后端分离架构
目录纯后端页面渲染架构半分离架构模式前后端分离架构纯后端页面渲染架构存在的问题前端团队无法单独调试 前后端职责不清,分工不明 不具备多端应用的潜力半分离架构模式确保数据与应用的解耦优点前后端团队解耦 后端API与数据重用 应用渲染更灵活 约定好接口与规范进行Mock开发缺点前端失去动态性 搜索引擎SEO不友好前后端分离架构...原创 2022-01-09 22:20:30 · 211 阅读 · 0 评论 -
IT老齐架构300讲笔记(012) 阿里开发规范中为什么禁用外键约束
目录为什么不用外键约束缺点优点禁用外键约束的原因为什么不用外键约束缺点优点禁用外键约束的原因1.插入数据需要检查外键在引用的表是否存在,导致性能问题2.并发读取会将要更改的page pin起来外键会被频繁检查,导致一直被锁定pinned page在全部schedule操作执行完毕前不会应用到数据库,过多并发排队会导致崩溃从而导致实际写入的表也就是订单明细表的,所有写操作未提交到DB而且崩溃3.由于外键约束的级连删除会导致在其他表引原创 2022-01-09 00:04:07 · 1636 阅读 · 0 评论 -
IT老齐架构300讲笔记(011) 负载均衡器
目录负载均衡器负载均衡的种类Nginx内置负载均衡策略有哪些负载均衡器优点高可用 设备压力平均分配 支持故障发现和转移负载均衡的种类按软硬件区分硬件负载均衡(F5) 软件负载均衡(HaProxy)按网络层面区分4层代理(指网络7层模型(OSI)的传输层,TCP),举例:Linux的LVS7层代理(指网络7层模型(OSI)的应用层,HTTP),举例:NginxNginx内置负载均衡策略有哪些轮询策略(默认) 权重策原创 2022-01-08 23:32:43 · 872 阅读 · 0 评论 -
IT老齐架构300讲笔记(010) CAP定理
目录什么是CAP定理CAP这三个要素最多只能同时实现两点CPAPAC什么是CAP定理分布式架构的基本理论。指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)C:一致性 更新操作成功后,所有节点在同一时间的数据完全一致。(复习:事务的一致性:事务前后的数据完整性保持一致)A:可用性 用户访问数据时,系统能否在正常响应时间返回预期结果。(复习:事务的原子性:事务是一个不原创 2022-01-08 18:51:23 · 829 阅读 · 0 评论 -
IT老齐架构300讲笔记(009) 为什么要禁用IP直连
IP直连有什么问题?(存在强耦合问题) jdbc:mysql//192.168.3.21:3306:db(写法没问题,但存在强耦合问题)线上建议用域名代替ip地址,因为在架构设计中需要考虑解耦问题。场景:原代码连接数据库地址是192.168.3.21,现在业务需要连接到另一台数据库192.168.3.31,则可能存在代码修改,编译,部署,走流程等,所以ip直连不可取。解决方法1: 引入内部DNS1.引入内部DNS,即建立一个域名解析服务器。jdbc:mysql//...原创 2022-01-07 17:02:36 · 727 阅读 · 0 评论 -
IT老齐架构300讲笔记(008) 布隆过滤器BloomFilter在亿级流量电商系统的应用
场景背景商品SKU,商品的唯一编码即这里的857查询过程会不断尝试从Redis服务器拉取热数据,如果Redis中没有则会从数据库中缓存到Redis场景:正常redis有1000条缓存数据,忽然遭到爬虫/流量攻击攻击,大量不存在的于redis的数据批量查询,由于redis不存在这些数据,会到数据库进行查询。由于数据库对于瞬时高并发访问的承载能力弱,所以可能对数据库造成影响,甚至崩溃。绕过redis服务器进入数据库查询的方式叫做缓存穿透。缓存穿透攻击指恶意用户在短时间内大量查.原创 2022-01-07 16:37:12 · 855 阅读 · 0 评论 -
IT老齐架构300讲笔记(007) 为什么大厂在大表做水平分表时严禁使用自增主键
目录大表为什么不能用自增主键?自增主键在分布式环境下不适用UUID是好的替代方案吗?雪花算法大表为什么不能用自增主键?自增主键在分布式环境下不适用资源浪费,因为自增主键必须连续 只能按范围法进行分片,ID的数量已固定,无法进行动态扩展 会产生尾部热点效应,即按范围法进行分片后,前面的分片已储存数据,最后一个分片的压力很大。Hash分片的效率更高。UUID是好的替代方案吗?不可以UUID是无序的 无序导致大量索引重排 主键有...原创 2022-01-07 00:02:50 · 924 阅读 · 0 评论 -
IT老齐架构300讲笔记(004) 多级缓存架构
目录什么是多级缓存架构客户端缓存应用层缓存CDN的核心技术响应头Expires和Cache-control的区别Nginx缓存管理服务层缓存缓存一致性处理什么情况适用多级缓存架构什么是多级缓存架构缓存是提升性能最直接的方法多级缓存分为:客户端,应用层,服务层,数据层客户端缓存客户端缓存:主要对浏览器的静态资源进行缓存通过在浏览器设置Expires,时间段内以文件形式把图片保存在本地,减少多次请求静态资源带来的带宽损耗(解决并发手段)..原创 2022-01-06 23:12:05 · 1848 阅读 · 0 评论 -
IT老齐架构300讲笔记(003) 大厂数据垂直分表
目录什么是水平分表?什么是垂直分表?为什么要垂直分表?InnoDB处理引擎InnoDB1.0后新特性,压缩页垂直分页分析垂直分表条件字段放大小表的依据什么是水平分表?按行为单位对数据进行拆分(范围法,hash法)。特点:所有的表结构完全相同。用于解决数据量大的存储问题。什么是垂直分表?将表按列拆分成2张以上的小表,通过主外键关联获取数据。为什么要垂直分表?InnoDB处理引擎需要了解mysql的InnoDB处理引擎。行数据称原创 2022-01-05 09:26:52 · 647 阅读 · 0 评论 -
IT老齐架构300讲笔记(002) MySQL集群模式与应用场景
目录单库模式读写分离集群模式分库分表(分片)集群模式分片算法互联网主流方案单库模式单库模式:一个mysql数据库承载所有相关数据。读写分离集群模式读写分离集群模式:在原有的基础上增加中间层,与后端数据集构成读写分离的集群。整体基础结构:原有的主库派生出子库1,子库2,利用mysql原有的主从同步机制(即为:binlog日志同步),将主库的数据变化在从库中复现,保证数据同步。主库一般用于写入处理,从库负责读取。细节:如果直接面对主库进行操作无法完成读写原创 2022-01-05 09:03:04 · 608 阅读 · 0 评论 -
IT老齐架构300讲笔记(001) 什么是架构和架构师
架构是一门取舍和权衡的艺术原始单体架构因业务员需求,年轻架构师新增缓存数据库Redis有经验的架构师的方案原创 2022-01-04 23:56:14 · 805 阅读 · 1 评论 -
Elasticsearch实战学习笔记(八) Elasticsearch文档间的关系
Elasticsearch实战学习笔记系列 Elasticsearch文档间的关系一、定义文档间关系的选项概览1.对象类型文档最终是像下面这样进行索引的{ ”name”:“Denver technology group”, ”events.date”: [”2014-12-22”, “2014-06-20”], ”events.title”: [”Introduction to Elasticsearch”,”Introduction to Hadoo...原创 2021-06-03 10:17:49 · 360 阅读 · 0 评论