上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: 如何解耦? 个性化代码上浮,通用代码下沉,服务化更彻底! 总结与启示 (1)讨论技术方案时,不要总以: “放在你那边做代码少” “放在你那边做时间短” 作为设计折衷的理由,而要多问: “怎么做合理” (2)尽量杜绝底层出现 switch case (biz_type) 走不同分支的代码。 (3)个性 阅读全文
posted @ 2020-09-16 21:48 坤妹家萌萌哒萌新 阅读(429) 评论(0) 推荐(0)
摘要: 方案对比 解耦之前: 解耦之后: (1)代码简单,一次数据库访问 (1)代码更复杂,多次数据库访问 (2)逻辑实现在SQL里 (2)逻辑实现在服务层 (3)数据库耦合 (3)数据库解合 达到效果:给机器就能扩容! 总结 场景三:“数据库耦合”如何解耦? 第一步:公共数据访问服务化,数据私藏 第二步: 阅读全文
posted @ 2020-09-16 21:34 坤妹家萌萌哒萌新 阅读(1322) 评论(0) 推荐(0)
摘要: 总结 如何发现系统中的耦合? 查找“被动联动”的点。 场景一:“IP耦合”如何解耦? 使用内网域名来替代内网IP。 场景二:“公共库耦合”如何解耦? 粗暴方案:代码各自拷贝一份。 优化方案: (1)垂直拆分,个性业务代码“上浮” (2)服务化,共性业务代码“下沉” 阅读全文
posted @ 2020-09-15 21:30 坤妹家萌萌哒萌新 阅读(339) 评论(0) 推荐(0)
摘要: 总结 MQ是一个互联网架构中常见的解耦利器。 如何实现MQ的平滑迁移? 步骤一:消费方双向订阅; 步骤二:生产方升级为新发布; 步骤三:消费方下线旧订阅; 如何快速实现统一迁移? 浅浅的封装一层 阅读全文
posted @ 2020-09-15 21:07 坤妹家萌萌哒萌新 阅读(222) 评论(0) 推荐(0)
摘要: 总结 MQ是一个互联网架构中常见的解耦利器。 什么时候不使用MQ? 上游实时关注执行结果,通常采用RPC。 什么时候使用MQ? (1)数据驱动的任务依赖。 (2)上游不关心执行结果。 (3)上游关注结果,但执行时间很长。 (4)削峰填谷,流量控制,保护下游。 阅读全文
posted @ 2020-09-14 22:27 坤妹家萌萌哒萌新 阅读(199) 评论(0) 推荐(0)
摘要: 总结 有什么核心痛点? (1)上游痛: 扩容的是下游,改配置重启的是上游(耦合,典型反向依赖) (2)下游痛: 不知道谁依赖于自己(难以实施服务治理) 怎么解耦,怎么解决? (1)“配置私藏”架构 (2)“全局配置文件”架构 (3)“配置中心”架构 阅读全文
posted @ 2020-09-14 21:05 坤妹家萌萌哒萌新 阅读(183) 评论(0) 推荐(0)
摘要: 工作中有的时候需要将某个库中的表、视图、函数、存储过程等创建语句导出,又不需要表中的数据。同时最好放在同一个文件里面,这样方便拷贝。 方法一:需要拷贝的创建语句条数不多,不至于让你拷到头脑发晕的地步,你可以选择直接拷贝DDL语句 方法二:使用Navicat的备份功能 1.新建备份 2.按需勾选待备份 阅读全文
posted @ 2020-09-14 16:37 坤妹家萌萌哒萌新 阅读(2226) 评论(0) 推荐(0)
摘要: 千万流量,要玩好服务化,数据库,缓存 阅读全文
posted @ 2020-09-13 21:21 坤妹家萌萌哒萌新 阅读(155) 评论(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 坤妹家萌萌哒萌新 阅读(221) 评论(0) 推荐(0)
摘要: 总结 (1)如果最新的数据不在数据库,缓存里要存数据; (2)并发更新可能出现每次相互失效; (3)异步更新,是一个常见的策略; 阅读全文
posted @ 2020-09-13 20:51 坤妹家萌萌哒萌新 阅读(145) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页