2021年末总结
- 写工作日志时,突然意识到我写下的是:2021-12-31,一年的时间又溜走了,一时间百感交集,回忆了一下这一年做了些啥、学了些啥,虽然做了不少事,但还是感觉怅然若失。
回顾下这一年干了啥:
一、先说学习上吧
1. 上半年面了一家小公司给我打击的不行,买了本书花了俩月把spring源码撸了一遍。
不敢说搞完吸收了多少,最起码使用起来的还是很熟练的,出了bug能快速定位问题,而不是拷一段异常信息去网上搜,以及对spring相关api更加熟悉了,得到了很多非常好用的轮子。
存在的不足是,学习广度还是不够、也不够细致,只是学习了核心模块的主要逻辑,剩下的在使用中慢慢去拓展吧。
2. 学习了一下设计模式:Head First设计模式。
这本书讲得很浅,我愿意称为最适合设计模式入门的书;
学习设计模式的初衷也是因为工作中碰到的问题,以前的代码设计很差,导致频繁修改代码,搞清楚设计模式有不小的帮助。
3. mysql之Innodb
由于工作中碰到一些性能问题,又花了俩月搞了一本Mysql-Innodb引擎存储的书,把mysql存储引擎撸了一遍。
书确实很强,虽然实际应用到的场景不多,看完真的受益匪浅;核心内容:索引、锁、事务。
4. 刷题
letcode 刷了几道题,效率颇低。
5. 学习&使用消息中间件RocketMQ,对底层的学习暂时留白;
云印象:
-
削峰填谷(主要解决瞬时写压力大于应用服务能力导致消息丢失、系统奔溃等问题)
-
系统解耦(解决不同重要程度、不同能力级别系统之间依赖导致一死全死)
-
提升性能(当存在一对多调用时,可以发一条消息给消息系统,让消息系统通知相关系统)
-
蓄流压测(线上有些链路不好压测,可以通过堆积一定量消息再放开来压测)
个人印象:
-
rocketmq 支持集群、自定义队列数;
-
支持并发消费、顺序消费、延时消费,根据时间重置位点重新消费;
-
单一topic支持,不同的消费者组同时消费,就是说一条消息可以被多个不同的任务消费;[数据交换利器啊,我司产品主要面向政府部门业务系统,往往涉及大量的数据交换,结构相似的数据同时推送多处]
6. 学习&使用阿里开源中间件canal
-
它的实现来自于对mysql二进制日志的监听并转发,canal模拟了mysql主从模式中的 "从"。
-
它的好处之一是快速的数据交换。
当然它也有不足
- 当表结构发生变化时,我的建议是直接跳过这部分语句的监听;且,重启数据库,重启canal;
我碰到过的问题是:
-
新增字段后,canal 无法监听到新的字段数,导致解析异常,重启mysql后得到解决;
-
主键属性变化后(变更类型,依然存在显式定义的主键),canal解析的消息里缺失了,主键字段的描述信息:pkNames
7. 学习&使用 Elasticsearch
-
对聚合查询支持非常好,核心概念是倒排索引(类哈希表的数据结构),它是典型的空间换时间,内存开销非常大,支持分布式集群。
-
缺点是不支持事务(熟悉数据库事务的小伙伴应该知道,不支持事务的后果),并发场景下容易丢失数据;对此es支持,通过版本号进行乐观锁控制。
-
个人看法,它最大的缺点是数据的安全性;硬件开销倒是其次(可能是我们客户比较财大气粗,资源容易申请,才让我有了这样的错觉吧)。
8. 当当网开源分库分表中间件:shardingsphere
apache 顶级项目之一,我们的产品中已经用上了,对于海量数据来说支持确实挺好;
个人私以为,使用这类的中间件,非常考验程序的设计
-
一个稀烂的程序设计 + shardingsphere = 噩梦
-
某些场景下设计不当,将会导致实际查询sql的次数,变成参数和分表的笛卡尔积;必将带来灾难性的后果。
-
对聚合、排序的支持存疑,实际执行应该会分发到所有的分库分表执行,最终由中间件去汇总执行结果;我们的产品结合了elasticsearch,排序分页相关的查询没有经过数据库进行,在根据分表键查询时才走库。
-
对一些查询支持不足,具体参考官网:https://shardingsphere.apache.org/document/current/cn/features/sharding/use-norms/sql/
二、再说生活
-
好像还是老样子,家和公司两点一线,2021的我还是没能脱单;倒是也有收获,为人处事上学到了很多。
-
这一年我学会了对领导说拒绝,组内就那么几个人,比我早来的几个老哥都非常明智了,之前组长有啥烂活都直接绕过他们,找我们几个新来不久的接盘;不过我算是看透了,接犯不着在这卷;
工作分内的事,我可以尽120%的努力去做,但是你要让我接盘别人整的烂活,那我只能装聋作哑了,大家都是肉体凡胎,我特么都还没找到另一半,可不想突然哪天乘键盘西去不归。 -
用工作分外的事情卷别人的人,都是害人害己的大聪明。
三、说说2022
-
2021 除了默默学习武装自己外,就没别的更好的回忆了
-
新的一年里希望有个更好的环境,最好是能上岸;
-
希望能脱单;
-
希望每天不要再这么累;
-
希望能多出去走走;
-
学习更多的知识,哈哈哈我自己卷起来了。