摘要: 总结 如何发现系统中的耦合? 查找“被动联动”的点。 场景一:“IP耦合”如何解耦? 使用内网域名来替代内网IP。 场景二:“公共库耦合”如何解耦? 粗暴方案:代码各自拷贝一份。 优化方案: (1)垂直拆分,个性业务代码“上浮” (2)服务化,共性业务代码“下沉” 阅读全文
posted @ 2020-09-15 21:30 坤妹家萌萌哒萌新 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 总结 MQ是一个互联网架构中常见的解耦利器。 如何实现MQ的平滑迁移? 步骤一:消费方双向订阅; 步骤二:生产方升级为新发布; 步骤三:消费方下线旧订阅; 如何快速实现统一迁移? 浅浅的封装一层 阅读全文
posted @ 2020-09-15 21:07 坤妹家萌萌哒萌新 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 总结 MQ是一个互联网架构中常见的解耦利器。 什么时候不使用MQ? 上游实时关注执行结果,通常采用RPC。 什么时候使用MQ? (1)数据驱动的任务依赖。 (2)上游不关心执行结果。 (3)上游关注结果,但执行时间很长。 (4)削峰填谷,流量控制,保护下游。 阅读全文
posted @ 2020-09-14 22:27 坤妹家萌萌哒萌新 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 总结 有什么核心痛点? (1)上游痛: 扩容的是下游,改配置重启的是上游(耦合,典型反向依赖) (2)下游痛: 不知道谁依赖于自己(难以实施服务治理) 怎么解耦,怎么解决? (1)“配置私藏”架构 (2)“全局配置文件”架构 (3)“配置中心”架构 阅读全文
posted @ 2020-09-14 21:05 坤妹家萌萌哒萌新 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 工作中有的时候需要将某个库中的表、视图、函数、存储过程等创建语句导出,又不需要表中的数据。同时最好放在同一个文件里面,这样方便拷贝。 方法一:需要拷贝的创建语句条数不多,不至于让你拷到头脑发晕的地步,你可以选择直接拷贝DDL语句 方法二:使用Navicat的备份功能 1.新建备份 2.按需勾选待备份 阅读全文
posted @ 2020-09-14 16:37 坤妹家萌萌哒萌新 阅读(1716) 评论(0) 推荐(0) 编辑
摘要: 千万流量,要玩好服务化,数据库,缓存 阅读全文
posted @ 2020-09-13 21:21 坤妹家萌萌哒萌新 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 总结 什么时候选redis? (1)复杂数据结构 (1)持久化 (1)天然高可用 (1)存储内容比较大 什么时候选memcache? 纯KV 为什么mc在纯KV能更快呢? (1)预分配内存池 (1)redis的VM机制更慢 (1)redis的CPU计算复杂 (1)多线程可利用多核 其他 (1)red 阅读全文
posted @ 2020-09-13 21:05 坤妹家萌萌哒萌新 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 总结 (1)如果最新的数据不在数据库,缓存里要存数据; (2)并发更新可能出现每次相互失效; (3)异步更新,是一个常见的策略; 阅读全文
posted @ 2020-09-13 20:51 坤妹家萌萌哒萌新 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 总结 (1)数据库主从,何时不一致?写后立即读,短时间内,读旧数据 (2)数据库缓存,何时不一致?写后立即读,短时间内,旧数据入缓存 (3)优化思路:如果有旧数据入缓存,应该及时把这个旧数据淘汰掉 (4)优化方法: - 二次淘汰法(异步,服务) - 设定超时时间,有机会修正 阅读全文
posted @ 2020-09-13 20:39 坤妹家萌萌哒萌新 阅读(154) 评论(0) 推荐(0) 编辑
摘要: MySQL中有以下日志文件,分别是: 1:重做日志(redo log) 2:回滚日志(undo log) 3:二进制日志(binlog) 4:错误日志(errorlog) 5:慢查询日志(slow query log) 6:一般查询日志(general log) 7:中继日志(relay log)。 阅读全文
posted @ 2020-09-09 14:54 坤妹家萌萌哒萌新 阅读(222) 评论(0) 推荐(0) 编辑