F周刊:2017-04-23
JWT (JSON Web Tokens) is a Bad Standard That Everyone Should Avoid
Stop using JWT for sessions
Stop using JWT for sessions, part 2: Why your solution doesn't work
这三个链接相当于对我之前文章的一个补充,揭开了JWT的黑暗面。用一句话总结其主旨就是:JWT非常适合身份验证,但不是Session的替代物,距离那还很遥远。
A Change Data Capture Pipeline From PostgreSQL to Kafka
Simple自家的类Bottled Water方案,并且在文后提到与后者的差异。同时文中还提到了PG JDBC Driver的Physical and Logical replication API,它恰恰是Bottled Water这类工具的基础,有了它用Java也可以实现类似的方案了,yeah!
Bottled Water这种方案的魅力在于它非常适合更新缓存中的过期数据:不同于常见的“给缓存数据设置一个过期时间,然后被动地让应用再次重新加载”,前者将PG的逻辑复制和Kafka这样的消息队列结合起来,让应用能够在数据变更时主动发起变更。缩短了数据不一致的时间间隔。这也是我们曾经在设备接入层采用的方案。并且最新一期的TW雷达也提到了Bottled Water,足以说明它作用。
最新的Java调查数据,看这个就够了!
SQL是理想的接口,历史悠久且每个科班出身的人在校就已经学过了,还有什么有比提供这样的一个接口来推广自己的数据相关产品更好的呢?Hive、Impala、Phoenix、SparkSQL等类似工具的出现已经说明了这一点。
Multitenancy, Grails and me — The grand finale
一篇短文,回顾了Grails多租户实现手段的历史,直到现在Native方式。其实原理跟我当年做的差不多,都是靠filter来做,只不过是在哪里实现的问题。
好吧,我承认,当初我的那个手段有太粗暴,;)
Groovy 3的编译器Parrot作者写的介绍,而且他还是中国人哦!
Postgres at Scale: Query Performance and Autovacuuming for Large Tables
由于没有及时Vacuuming导致的查询性能急剧裂化的典型案例:由10ms到6s,重新设置合适的AutoVacuuming参数之后,性能得到改善。经验教训:
- 及时vacuuming非常重要
- 不要关闭autovacuuming
- 对于大表(如文中的20亿量级),调低autovacuum_vacuum_scale_factor
无独有偶,饿了么 PostgreSQL 优化之旅也提到了关于AutoVacuuming的一些配置。