文章总结2021上半年度

1.数据库优化方案

硬件层面:升级机器配置,初期性能提升效果较明显,但是成本高,不作为优先方案
软件层面:(按优先级)sql调优、表结构优化、读写分离、数据库集群、分库分表

sql调优

简化代码的嵌套或者关联join等操作,根据需要的情况尽可能的命中索引,让数据变化少的字段、有优化添加索引的字段、主键等优先被判断

表结构优化

添加冗余字段

架构优化

增加集群、访问数据库前加入redis减少访问压力,读多于写时,可使主实例负责写,反之亦可

分库分表

业界流传标准,数据量达到500万可考虑分表,而系统发展到一定规模,必然需要分库操作,单数据库是有性能瓶颈的。
拆分表有垂直切分和水平切分,垂直切分切分字段,细分类别。水分切分可根据数据类型,数据入库时间等进行划分

最后分库分表带来了复杂性,比如跨库关联查询、分布式事务

、排序分页函数计算问题、分布式id、多数据源等
解决方案有如下可参考


image.png

2.缓存一致性问题解决方案

对于缓存和数据库的一致性来说

1.先删缓存在更新数据库
保证一致性,可采用延迟双删,更新完数据库后,在slepp一段时间,再次删除缓存,sleep的时间要大于读写缓存的时间
2.先更新数据库在删除缓存
可采用消息队列,更新完成后往队列发消息,消费到消息在删除缓存,借住了消息队列的重试机制,但实际上这样依旧不能保证缓存一致性,引入了消息队列后怎么保证消息不丢失不说,消息队列响应的这段时间依旧会有短暂的不一致
还可采用进阶版消息队列,借助监听binlog消息队列来做删除缓存操作
如果对一致性要求不是很高,也可以采用设置缓存的过期时间来保证数据的一致性

对于分布式系统中缓存的一致性

用的是hash算法计算出放在哪一台服务器,但扩容时数据重新分布,需要变动的数据多,影响性能,进而采取了hash环,依靠虚拟节点对应真实节点来实现负载均衡的情况下尽可能的减少服务器扩容带来的数据迁移问题

3.分布式算法

四大理论基础:

1.拜占庭将军问题
2.CAP理论
3.ACID理论
4.BASE理论

八大分布式协议和算法:

1.Paxos算法
2.Raft算法
3.一致性Hash算法
4.Gossip协议算法
5.Quorum NWR算法
6.FBFT算法 7.POW算法 8.ZAB协议
拜占庭问题的解法


image.png

4.设计模式

工厂模式

工厂封装好了客户想要的产品,客户对象只需要根据需求去申请即可

单例模式

在全局中保证某一类只有一个实例,比如在spring中的类就使用注入的方式注入全局的单例

适配器模式

把一个类的接口变换为客户端所期待的另一种接口,中间多一层处理,我的理解像dto实体就可以用来处理一些数据合并、数据转换,最后返回客户端想要的数据集合对象

门面模式

提供了一个高层次的接口作为一个系统的入口,使得系统易于使用,一个系统应只有一个门面类,此类是一个单例模式

代理模式

给某一个对象提供一个代理对象,并由其对源对象进行引用,客户端分辨不出代理对象和真实对象

策略模式

在不影响客户端的情况下,根据不同的环境和行为进行算法的变换,提供所谓不同的策略

模板方法模式

相当于写一个抽象类,实现或构造了部分逻辑,也声明了一些抽象方法

访问者模式

访问者模式:访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。访问者模式适用于数据结构相对未定的系统,它把数据结构和作用于结构上的操作之间的耦合解脱开,使得操作集合可以相对自由的演化。访问者模式使得增加新的操作变的很容易,就是增加一个新的访问者类。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容