系统设计
chengbinbbs
这个作者很懒,什么都没留下…
展开
-
大数据优化技巧
前期该系统是作为一个备用系统开发的,也就没有那么多讲究,重构了两次,现在支持对账数据量多少的瓶颈完全在 Redis 了,目前将近千万级别订单量的对账,使用服务器内存高峰在 2G 左右。现在二期对账系统的开发(一期对账系统和二期对账系统是分开的,不是重构)也在进行中了(针对亿级别订单量的对账),在后面会出如何完成日千万级别以上的订单对账(二)。对账的基本 5 大步骤,按照正常的对账来走,基本离不开下面这 5 个步骤\1. 数据加载(数据的缓存是不可少的,需要重新对账的情况很常见)\2. 数据对比(分转载 2020-12-30 18:25:56 · 1397 阅读 · 0 评论 -
java抽奖(二)
需求抽象一下:(1)前 100 个人有资格,假设抽出 N=5 个奖品;(2)报名就出奖,不用等 100 人到齐;(3)每个人概率一样,礼物平均发放;(4)有一个特例;花 1 分钟说下解决方案。_画外音:_文末会有一个更有意思的问题。特例怎么处理?用一个特殊的逻辑分支处理。报名就可以抽,不用等人齐,意味着什么?奖品可能发不完。例如:只有 1 个人参与,奖品一定发不完。又例如:抛硬币,每抛一次,正反的概率都是 50%(中奖概率相同),但这并不代表,抛 10 次一定有 5 个正面(如果只有转载 2020-12-29 21:05:22 · 526 阅读 · 0 评论 -
短链接服务系统开发
最近上了一个比较大的系统,基于消息推送的需要,花了点时间做了一个短链服务,实现思路其实很简单,这里简单介绍下实现细节,以及一些优化过程。目录:功能简单描述功能很简单,实现将长网址缩短的功能,如:为什么要转短链?因为要控制每条短信的字数,对于公司来说,短信里面的字可都是钱呀。为什么不用 t.cn,url.cn 等短链服务呢,它们生成的链接不是更短吗?是的,它们确实能实现更短的链接,可是要收钱的,而且这里面充满了商业数据呀。短链服务总的来说,就做两件事:将长链接变为短链接,当然是越短越好用户转载 2020-05-20 18:02:32 · 424 阅读 · 0 评论 -
用户画像:数据指标与表结构设计
本篇博客介绍一下画像中需要开发的数据指标与开发过程中表结构的设计。首先介绍画像开发的数据指标,画像开发过程中通用类的指标体系包括用户属性类、用户行为标签类、用户活跃时间段类、用户消费能力类、用户偏好类等数据指标体系用户属性指标用户属性指标根据业务数据来源,尽可能全面地描述用户基础属性,这些基础属性值是短期内不会有改变的。如年龄、性别、手机号归属地、身份证归属地等用户登录活跃指标看用户近...转载 2018-10-18 22:27:12 · 901 阅读 · 0 评论 -
用户画像原理、技术选型及架构实现
这篇文章在宏观上很好地描述了用户画像的主要内容。(文章内的图片来源于不同帖子,侵删)一、 什么是用户画像        用户画像是指根据用户的属性、偏好、生活习惯、行为等信息,抽转载 2018-10-18 22:29:33 · 14480 阅读 · 1 评论 -
高并发缓存处理之——缓存穿透的几种形式及解决方案
缓存失效的几种形式1 缓存穿透缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就挂掉了,要是有人利用不存在的key频繁攻击我们的应用,这就是漏洞。key不存在时,大量的数据进来查询DB解决方案:有很多种方法可以有效地解决缓存穿透问...转载 2019-03-11 10:53:35 · 399 阅读 · 0 评论 -
缓存与数据库的一致性
什么是缓存?缓存就是数据交换的缓冲区,针对服务对象的不同(本质就是不同的硬件)都可以构建缓存。目的是,把读写速度慢的介质的数据保存在读写速度快的介质中,从而提高读写速度,减少时间消耗。 例如:CPU 高速缓存 :高速缓存的读写速度远高于内存。CPU 读数据时,如果在高速缓存中找到所需数据,就不需要读内存CPU 写数据时,先写到高速缓存,再回写到内存。磁盘缓存:磁盘缓存其实就...转载 2019-04-03 20:05:53 · 2077 阅读 · 1 评论