新工作第十六周

上周的日记晚写了二天,简单温故下,希望坚持下去。

在第十四周记中提到应用层频率控制的一个算法设想,过年前针对评论发布场景使用上了,如果效果不错,后期会用于其他场景。基本的思路是锁定时间的动态化、权重策略、触发机制、阀值控制。大概的做法就是:

  • 不同级别的用户阀值(次/秒)是不一样的,比如一些高频用户就喜欢发评论,如果策略太严格就会影响体验。

  • 锁定时间公式=每天总锁定次数 步长(比如5分钟) 系数,其中系数和总锁定次数之间也有关系,系数的重要性在于保证锁定时间是无法预测的。

  • 锁定时间如果还剩余5m(已等待10m),此时用户再一次被锁定,那么锁定时间又会变长15m(不考虑锁定时间动态的情况)

  • 阀值可能有多个维度,比如100次/1m,10次/5s,那么如果触发了后一个阀值,前一个阀值的计数仍然是递增,从而保证高阀值的控制是有效的。

    第二个事情还是看MySQL官方手册,越来越顺手了,官方文档的索引列表其实设计的非常合理,记录一些自己认为有价值的点:

  • mysqld、mysql_safe、mysql.service的运行原理。

  • 如果理解了mysql_safe,那么就掌握了mysql的option文件和指令,比如–defaults-extra-file、–defaults-file、–print-defaults之间的差别。

  • my.cnf是如何生效的(Option File Processing Order)?

  • my.cnf中[mysqld]段写在前面还是[mysql]段写在前面?

  • 理解了手动运行mysqld,那么在同一台机器运行多个实例也就没问题了。

  • mysql有多少种类型的日志(Error、Slow、General Query),目前还没看binlog。

来年后要优化搜索,所以这周一直在看ELK,个人觉得ELK还是偏向于站内搜索引擎(没有爬虫部分),和大数据是两个层面的东西。

Elasticsearch重点是搜索的相关性调优,不纯粹是技术问题,也不可能一步到位,需要不断的思考合理性,Elasticsearch既有分词索引,也有聚合排序、运算。

从技术角度看,本周研究了两大部分,分别是中文分词的研究,其次是Logstash,Logstash是ELK家族的一部分,是数据转换工具,对于我们来说,MySQL中的数据变化要近实时通过Logstash同步到Elasticsearch中,完整查看了Logstash官方手册,细节还是很多的。

针对Elasticsearch,目前的一个感受就是如果会合理设计mapping,那么基本上代表会应用这门技术了。

期望通过这半年,不断的看英文文档,积累经验,后面再遇到其他中间件软件,能够快速上手,学习技术有两种方式,一种是边看边做,另外一种是系统性的掌握后再实践。不管是那种方式,合适自己的就行。从长远来看,我倾向第二种,比如说,系统看完MySQL官方手册,很多原来想不通的问题,其实手册中都有,根本不用搜索。所以沉下心来看文档是为了将来更好的应用,绝对不是浪费时间的行为。

自己最近有两天情绪受到很大的一些波动,幸亏很快扭转过来了,当我认识到一件事情和我预想不一样,且无力改变的时候,会进入死活同,同时往后退,用自己的方式保护自己。

其实这样对自己很不好,其实大部分人可以帮助我的,很多事情也是可以迂回的,首先要确立目标,过程肯定不是轻松的,要勇于去解决,甚至妥协和谦让,不可有情绪,心态上要积极。

其次要学会观察自己,真正认识自己,不带有情绪审视自己,察觉自己的思维和行为。

这些话可能平时也经常听到,但真正领悟需要经历,周日晚上看了《高效能人士的七个习惯》的前言,发现好多理论都总结出来了,希望2020年看好书,重质量而非数量。

2020年,从技术领域这个角度对我很重要,如果有突破了,对于自己的信心将会极大的加强。当然也希望产品蒸蒸日上,从情感和技术上做到双丰收。同时也要更加的务实,踏踏实实,从小事做起。

为什么说从小事做起呢?举个例子,原来一个领导说未来是云端化的技术应用场景,像传统数据库这样的运维操作已经是小儿科了,站在更高层次考虑确实是这样的,但具体的事情还是要我们一步步去做的,所以我仍然坚持原来的一些想法,因为工作这么多年了,看到所有的技术负债都来源于代码实现,而非系统设计。

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章