趁我还是个孩子, 从孩子的角度对家长的期盼写下来, 要是有孩子了翻来看看

不要制造对立

阅读全文 »

我对游戏的看法

我认为游戏应该是能给人带来快乐的. 玩游戏是很花费时间的, 花费了时间想要得到的是快乐, 而不是生气
因此很多竞技游戏我是不喜欢去玩的

阅读全文 »

杂谈

想涉及哲学这块已经很久了, 却一直没有付出实践

阅读全文 »

好好好好好好好好快啊这个
配置了有一会儿,照着这篇文章弄的使用阿里云CDN全站加速gitpages - 简书

快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快快

阅读全文 »

b站弹幕是用的ws与服务器连接来接收/发送消息的
这个弹幕和礼物的推送我感觉并不是很可靠,很有可能会有网络波动或连接断开的情况,所以我选择多个线程同时监听弹幕服务器的推送(当然多个线程可以选择跑在不同的进程跑在不同的机器上).

然后的问题是, 把消息往mq里塞, 还要消息不重复传. 这里我mq是用的kafka(毕竟kafka性能和多语言客户端支持比rocketMQ好), 三个Producer往mq里写消息之前, 先试图往Redis里SetNX一个键值对, 这个键就根据消息内容生成的, 值为空字符串就好, 如果写入成功, 就由该线程将消息写入mq, 如果没有写入成功, 则表示有其他线程来往mq里写消息, 自己直接返回即可. 这里往redis里写的时候 过期时间我也不晓得应该设多少合适…多了占内存少了可能起不到作用…我现在是设的5s

阅读全文 »

1
2
3
private static final MultipartEntityBuilder BUILDER = MultipartEntityBuilder.create().addPart(BIZ, BIZ_VALUE).addPart(CATEGORY, CATEGORY_VALUE);

private static final ThreadLocal<MultipartEntityBuilder> BUILDER_THREAD_LOCAL = ThreadLocal.withInitial(() -> BUILDER);

这样是不行的,作为initial的对象不能是static.
改成下面这样就好了:

阅读全文 »