消息幂等(去重)通用解决方案,RocketMQ 转载

消息幂等(去重)通用解决方案,RocketMQ

消息中间件是分布式系统常用的组件,无论是异步化、解耦、削峰等都有广泛的应用价值。我们通常会认为,消息中间件是一个可靠的组件——这里所谓的可靠是指,只要我把消息成功投递到了消息中间件,消息就不会丢失,即消息肯定会至少保证消息能被消费者成功消费一次,这是消息中间件最基本的特性之一,也就是我们常说的“AT LEAST ONCE”,即消息至少会被“成功消费一遍”。
后端技术
Kafka基础原理详解 转载

Kafka基础原理详解

Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,具有高性能、持久化、多副本备份、横向扩展能力
后端技术
分布式事务中常见的三种解决方案 转载

分布式事务中常见的三种解决方案

在电商领域等互联网场景下,传统的事务在数据库性能和处理能力上都暴露出了瓶颈。柔性事务有两个特性:基本可用和柔性状态。所谓基本可用是指分布式系统出现故障的时候允许损失一部分的可用性。柔性状态是指允许系统存在中间状态,这个中间状态不会影响系统整体的可用性,比如数据库读写分离的主从同步延迟等。柔性事务的一致性指的是最终一致性。
后端技术
分布式系统唯一ID生成方案汇总 转载

分布式系统唯一ID生成方案汇总

系统唯一ID是我们在设计一个系统的时候常常会遇见的问题,也常常为这个问题而纠结。生成ID的方法有很多,适应不同的场景、需求以及性能要求。所以有些比较复杂的系统会有多个ID生成的策略。下面就介绍一些常见的ID生成策略。
后端技术
布隆过滤器简介 转载

布隆过滤器简介

布隆过滤器(英语:Bloom Filter)是 1970 年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。主要用于判断一个元素是否在一个集合中。通常我们会遇到很多要判断一个元素是否在某个集合中的业务场景,这个时候往往我们都是采用 Hashmap,Set 或者其他集合将数据保存起来,然后进行对比判断,但是如果元素很多的情况,我们如果采用这种方式就会非常浪费空间。这个时候我们就需要 BloomFilter 来帮助我们了。
后端技术
数据库索引原理及优化 转载

数据库索引原理及优化

本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等。为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论。
后端技术
用Python3和Pygame实现简单的开心消消乐游戏 原创

用Python3和Pygame实现简单的开心消消乐游戏

本项目利用Python3和Pygame开发的一款桌面端消消乐游戏,本项目使用分文件的构建方式,自主设计和编写了消除、交换、判断是否为可消除图等算法,并自行担任UI设计,实现了开心消消乐的选择关卡、金币、步数、消除、随机分配消除块等基本功能。 安装Python和Pygame环境之后,运行main.py即可。由于采用了分文件的方式,算法主要在manager.py里。
其他文章
Loading...