ocs计费项目重要点
来源:互联网 发布:网上代理销售软件 编辑:程序博客网 时间:2024/06/16 11:08
ocs计费项目重要点,使用分布式dubbo架构
宗旨是保证用户权益,可以适当损失公司部分利益。
一、安全性、可靠性
1、过载保护,当队列数量达到一定阈值,将数据保存到mongodb中,等到服务器压力降下来后去数据库捞。
2、使用redis分布式锁保证数据的安全性。
3、redis分布式锁不能保证长处理流程,比如调到其他服务器,其他服务器重复批价、或同时批价流量,此时要做重复判断,并使用redis事物实现幂等,不允许重复
4、redis哨兵模式,保证主服务器挂掉后备用服务器顶上
5、异常处理逻辑考虑全面,分布式调用失败,查询接口默认使用上次数据,修改数据异常做回滚处理
6、一些非正常未处理数据走cafka保存到磁盘。
7、使用计数器保证用户数据处理完毕。
8、task任务清理redis过期数据,使用redis积分制,将过期数据转移到临时区域,保证异常情况下将未处理数据处理掉。
9、返回错误码,使用信用额度10、其他组定义了断路由,使用hytrix(有误)11、数据库备份,集群。12、保证线程数量,当有线程挂掉了要重启新的线程。
二、高吞吐量
1、使用自定义负载均衡,将同一用户路由到同一服务器,入同一个队列,同一个线程处理。减少分布式锁的使用,提高cpu的利用率。
2、使用流量池,累计一定的流量或达到时间阈值再去批价,保证大部分流量数据很快处理掉。最好做到快慢分离。
3、能用缓存的尽量使用缓存,不变的数据永远保持在缓存中,周期改变的数据使用ecache本地缓存。
4、redis按业务分区,保证访问redis高效性
5、使用不同的数据保存不同数据,详单读从库,写主库
三、可移植性、可扩展性
1、根据业务、通用专业原则定义接口、模块、服务,比如从GCBU版本升级到流量预授权版本,将批价从cm服务转移到engine服务
2、使用java设计模式,如责任链模式、状态模式等,可扩展性好。
- ocs计费项目重要点
- 学期项目之HTML5重要理解点小结
- 【电信计费系统项目实战】介绍篇
- OpenStack计费项目Cloudkitty系列详解
- 静态 几个重要点
- UITableView重要点整理
- UITableView重要点整理
- storm重要点理解
- vuejs的重要点
- 提取计费点的字体颜色,使得别人可以修改
- OCS-NG
- OCS部署
- 我参与的《云计费》项目前台Flex架构
- 【电信计费系统项目实战】基础篇---登录界面实现
- 【电信计费系统项目实战】基础篇---登录界面实现
- 【电信计费系统项目实战】基础篇---解析XML文件
- 【电信计费系统项目实战】基础篇---解析XML文件
- OpenStack计费项目CloudKitty的强化及运用
- java 反射技术:加载类,解析类的组成部分
- Pandas基础复习-Series
- 自定义View控件点击随机生成4位数
- 冒泡排序
- Android自定义View(一、初体验自定义TextView)
- ocs计费项目重要点
- Java的单元测试(Junit)
- C#梳理【反射Reflection】
- 阿里云何万青:搭建首个全球云上超算中心_做超算能力的普惠者
- synchronized关键字知多少
- 【android】几个和密码相关的问题分析(开机密码输入无效、FDE后改变密码无效、FDE后解密失败)
- HDU 1025 Constructing Roads In JGShining's Kingdom (简单dp, 最长上升子序列LIS)
- Ubuntu 16 MariaDB 开启远程访问
- NSGA-II 学习笔记