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;

我碰到过的问题是:

  1. 新增字段后,canal 无法监听到新的字段数,导致解析异常,重启mysql后得到解决;

  2. 主键属性变化后(变更类型,依然存在显式定义的主键),canal解析的消息里缺失了,主键字段的描述信息:pkNames

7. 学习&使用 Elasticsearch

  • 对聚合查询支持非常好,核心概念是倒排索引(类哈希表的数据结构),它是典型的空间换时间,内存开销非常大,支持分布式集群。

  • 缺点是不支持事务(熟悉数据库事务的小伙伴应该知道,不支持事务的后果),并发场景下容易丢失数据;对此es支持,通过版本号进行乐观锁控制。

  • 个人看法,它最大的缺点是数据的安全性;硬件开销倒是其次(可能是我们客户比较财大气粗,资源容易申请,才让我有了这样的错觉吧)。

8. 当当网开源分库分表中间件:shardingsphere

apache 顶级项目之一,我们的产品中已经用上了,对于海量数据来说支持确实挺好;

个人私以为,使用这类的中间件,非常考验程序的设计

  • 一个稀烂的程序设计 + shardingsphere = 噩梦

  • 某些场景下设计不当,将会导致实际查询sql的次数,变成参数和分表的笛卡尔积;必将带来灾难性的后果。

  • 对聚合、排序的支持存疑,实际执行应该会分发到所有的分库分表执行,最终由中间件去汇总执行结果;我们的产品结合了elasticsearch,排序分页相关的查询没有经过数据库进行,在根据分表键查询时才走库。

  • 对一些查询支持不足,具体参考官网:https://shardingsphere.apache.org/document/current/cn/features/sharding/use-norms/sql/

二、再说生活

  1. 好像还是老样子,家和公司两点一线,2021的我还是没能脱单;倒是也有收获,为人处事上学到了很多。

  2. 这一年我学会了对领导说拒绝,组内就那么几个人,比我早来的几个老哥都非常明智了,之前组长有啥烂活都直接绕过他们,找我们几个新来不久的接盘;不过我算是看透了,接犯不着在这卷;
    工作分内的事,我可以尽120%的努力去做,但是你要让我接盘别人整的烂活,那我只能装聋作哑了,大家都是肉体凡胎,我特么都还没找到另一半,可不想突然哪天乘键盘西去不归。

  3. 用工作分外的事情卷别人的人,都是害人害己的大聪明。

三、说说2022

  • 2021 除了默默学习武装自己外,就没别的更好的回忆了

  • 新的一年里希望有个更好的环境,最好是能上岸;

  • 希望能脱单;

  • 希望每天不要再这么累;

  • 希望能多出去走走;

  • 学习更多的知识,哈哈哈我自己卷起来了。

posted @ 2021-12-31 15:12  bokerr  阅读(43)  评论(1编辑  收藏  举报