高性能分布式发号器(ID生成器)

分表分库的分布式应用通常需要用到 ID 生成器生成流水号(支付流水号,订单号等),又称为发号器,以标识数据的全局唯一,ID 全局不可重复。

需要特别注意的是发号器服务的高可用性高性能。当业务严重依赖发号器服务时,发号器服务有可能成为整个系统的短板。

所以发号器服务需要高可用集群部署来保障高可用性,需要高性能以满足高并发的场景。

阅读更多

RPC 远程过程调用详解与应用

RPC(Remote Procedure Call),即远程过程调用。

RPC 的核心目的是实现进程间通信,在分布式环境中广泛应用。

RPC 框架面向开发者屏蔽了网络底层逻辑,使远程调用可以像本地调用一样方便。

阅读更多

高并发之接口限流与实现

开发互联网系统及架构在满足测算出的并发请求时,还要预防并发可能突破设计峰值的情况,必要时可以优先处理高优先级数据或特殊特征的数据,也要确保系统可用不崩溃。

开发高并发系统时有三把利器用来保护系统:缓存降级限流。本文介结限流相关概念和实现方式。

阅读更多

分布式并发重复提交问题

Web 系统的表单重复提交问题必然会出现,如注册、秒杀下单、支付等场景都可能出现重复提交。必须对重复提交进行处理,否则会出现脏数据,若建了唯一索引则会抛 JDBC 异常。单体应用的表单重复提交问题可参考 拦截器 与Spring AOP 实现防止表单重复提交

分布式集群部署的 Web 做防止表单重复提交的处理上,其根本也是基于 TOKEN 的方式来实现,因是集群布署,所以此 TOKEN 不能存放在 SESSION 中(未使用共享 SESSION 方案) ,而是存放在外部存储系统中,如 Reids,这里其实引入了类似分布式锁的概念。

阅读更多