Category: Distributed Architecture
[汇总]分布式ID经验
美团(Leaf)分布式ID生成器 ULID – 一种比UUID更好的方案 为什么MySQL不推荐使用uuid或者雪花id作为主键? 时间占用量总体可以打出的效率排名为:auto_key>random_key>uuid 那么使用自增的id就完全没有坏处了吗?并不是,自增id也会存在以下几点问题: ①别人一旦爬取你的数据库,就可以根据数据库的自增id获取到你的业务增长信息,很容易分析出你的经营情况 ②对于高并发的负载,innodb在按主键进行插入的时候会造成明显的锁争用,主键的上界会成为争抢的热点,因为所有的插入都发生在这里,并发插入会导致间隙锁竞争 ③Auto_Increment锁机制会造成自增锁的抢夺,有一定的性能损失 我在项目里用雪花算法搞了唯一ID生成,结果上线就引发了故障 我们猜测是不是服务器上的时钟不同步后,又自动进行同步了,前后时间不一致。
[转]HttpClient 连接池设置引发的一次雪崩
1. 一. 事件背景 我最近运维了一个网上的实时接口服务,最近经常出现Address already in use (Bind failed)的问题。很明显是一个端口绑定冲突的问题,于是大概排查了一下当前系统的网络连接情况和端口使用情况,发现是有大量time_wait的连接一直占用着端口没释放,导致端口被占满(最高的时候6w+个),因此HttpClient建立连接的时候会出现申请端口冲突的情况。
[汇总]关于JWT扩展思考
如果accessToken放Client端,refreshToken存储在服务器,那么会违背微服务的无状态构架初衷。 accessToken和refreshToken统一放在Client端,可以遵循微服务无状态构架。 两种情况都可以通过accessToken来延长refreshToken,做到长时间保持登录状态的需求。
The message is xxx bytes when serialized which is larger than the maximum request size you have configured with the max.request.size configuration.
org.apache.kafka.common.errors.RecordTooLargeException: The message is xxxx bytes when serialized which is larger than the maximum request size you have configured with the max.request.size configuration. How to fix this when you are using confluent Kafka docker....
[转]如何基于Canal 和 Kafka,实现 MySQL 的 Binlog 近实时同步?
如何基于Canal 和 Kafka,实现 MySQL 的 Binlog 近实时同步? 近段时间,业务系统架构基本完备,数据层面的建设比较薄弱,因为笔者目前工作重心在于搭建一个小型的数据平台。优先级比较高的一个任务就是需要近实时同步业务系统的数据(包括保存、更新或者软删除)到一个另一个数据源,持久化之前需要清洗数据并且构建一个相对合理的便于后续业务数据统计、标签系统构建等扩展功能的数据模型。基于当前团队的资源和能力,优先调研了Alibaba开源中间件Canal的使用。 微服务之数据同步Porter
[总结]其它MQ
Spring Boot + Disruptor = 王炸!! https://lakstechlounge.online/2019/03/29/my-view-of-solace-vs-kafka/ https://solace.com/blog/solace-topics-vs-kafka-topics/ Feature Kafka Solace Broker Simple broker that takes a log file approach to storage and replay. Offers high performance for simple pub/sub, struggles to...