千万短信发送量的架构设计_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 千万短信发送量的架构设计

千万短信发送量的架构设计

 2016/7/7 5:31:21  杨恒连  程序员俱乐部  我要评论(0)
  • 摘要:客户端将计费信息(扣的条数、费用…..)提交到计费子系统,计费子系统收到请求,将数据缓存到本地Cache(可以是内存、或者其他Cache,本地缓存数据结构是Key-Quue,key为用户标识,Queue用于存放用户计费信息),并且通知任务分配服务为其分配一个线程处理扣费信息(只分配一次,以后这个线程就出来这个用户),一条处理扣费线程可处理多个用户,但一个用户不能分配到多个处理扣费线程中。通知完后立即返回响应。(由于只有分配一次,所以只有第一次稍后会慢个零点几毫米
  • 标签:设计 架构

客户端将计费信息(扣的条数、费用…..提交到计费子系统,计费子系统收到请求,将数据缓存到本地Cache(可以是内存、或者其他Cache,本地缓存数据结构是Key-Quue, key为用户标识,Queue用于存放用户计费信息),并且通知任务分配服务为其分配一个线程处理扣费信息(只分配一次,以后这个线程就出来这个用户),一条处理扣费线程可处理多个用户,但一个用户不能分配到多个处理扣费线程中。通知完后立即返回响应。(由于只有分配一次,所以只有第一次稍后会慢个零点几毫米,后面几乎响应耗时为0)。

  处理扣费服务启动后,将根据自己持有处理用户Key,去从本地缓存中获取到该用户Key引用的队列实例,直接从实例中读取该用户的计费信息进行扣费即可,为了处理速度快,可以从队列中批量读取,合计后一次性从数据库中扣除。扣除完成后,更新本地余额缓存。

 

接口设计:1.提供一个计费接口

              2.提供一个获取余额接口

协议类型:通信协议建议采用Socket

客户校验余额:直接获取内存中的余额,避免对库开销太大。

分布式集群:对本地缓存和任务分配服务设计成共享,即可分布式和集群。

Queue:建议所使用实现无等待 (wait-free)”算法算法的队列。

处理扣费服务:对处理的用户数量可配,在用户扣费信息量非常非常大时,可设置成一个线程一个用户,用户量少时可以一个线程处理多个用户,以节省资源。(也可以写一个简单的算法去只能判断一下当前的用户计费信息量)

下面看下架构的草图

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" alt="" />

发表评论
用户名: 匿名