突然发现va平台搞出来的副产物还蛮多的…
摘抄笔记
阿里云全站加速
好好好好好好好好快啊这个
配置了有一会儿,照着这篇文章弄的使用阿里云CDN全站加速gitpages - 简书
快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快
哔哩哔哩直播统计项目
b站弹幕是用的ws与服务器连接来接收/发送消息的
这个弹幕和礼物的推送我感觉并不是很可靠,很有可能会有网络波动或连接断开的情况,所以我选择多个线程同时监听弹幕服务器的推送(当然多个线程可以选择跑在不同的进程跑在不同的机器上).
然后的问题是, 把消息往mq里塞, 还要消息不重复传. 这里我mq是用的kafka(毕竟kafka性能和多语言客户端支持比rocketMQ好), 三个Producer往mq里写消息之前, 先试图往Redis里SetNX一个键值对, 这个键就根据消息内容生成的, 值为空字符串就好, 如果写入成功, 就由该线程将消息写入mq, 如果没有写入成功, 则表示有其他线程来往mq里写消息, 自己直接返回即可. 这里往redis里写的时候 过期时间我也不晓得应该设多少合适…多了占内存少了可能起不到作用…我现在是设的5s
kafka-enable-remote
一次ThreadLocal踩坑
1 | private static final MultipartEntityBuilder BUILDER = MultipartEntityBuilder.create().addPart(BIZ, BIZ_VALUE).addPart(CATEGORY, CATEGORY_VALUE); |
这样是不行的,作为initial的对象不能是static.
改成下面这样就好了:
Redis-集群
InnoDB-事务
Redis-事务
Redis-哨兵
概览
Sentinel(哨兵)是Redis高可用性解决方案:
由一个或多个哨兵实例组成的哨兵系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器
Redis-复制
InnoDB-索引与算法
InnoDB关键特性
Redis-AOF持久化
Redis-RDB持久化
概述
RDB持久化既可以手动执行,也可以根据服务器配置选项进行定期执行,该功能可以将某个时间点上的数据库状态保存到一个RDB文件中;RDB持久化功能所生成的RDB文件是一个经过压缩的二进制文件,通过该文件可以还原生成RDB文件生成时的数据库状态