高并发
有趣的难受
你对这个世界有多大的认知,就决定你能挣多少钱。
展开
-
数据分片
从性能方面来说,由于关系型数据库大多采用 B+ 树类型的索引,在数据量超过阈值的情况下,索引深度的增加也将使得磁盘访问的 IO 次数增加,进而导致查询性能的下降;同时,高并发访问请求也使得集中式数据库成为系统的最大瓶颈。从可用性的方面来讲,服务化的无状态型,能够达到较小成本的随意扩容,这必然导致系统的最终压力都落在数据库之上。而单一的数据节点,或者简单的主从架构,已经越来越难以承担。数据库的可用性,已成为整个系统的关键。...原创 2020-09-04 15:42:07 · 188 阅读 · 0 评论 -
秒杀系统
Java并发包提供三个常用的并发队列实现,分别是ArrayBlockingQueue、ConcurrentLinkedQueue和 LinkedBlockingQueue 。在请求预处理阶段,由于我们的系统入队需求要远大于出队需求,一般不会出现队空的情况,所以我们可以选择ConcurrentLinkedQueue来作为我们的请求队列实现。1、并发队列的选择Java的并发包提供了三个常用的并发队...原创 2019-02-25 10:01:37 · 297 阅读 · 0 评论 -
高并发
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限...原创 2019-04-20 17:24:55 · 148 阅读 · 0 评论 -
屏蔽黑产(黄牛党)
一、建立业务风控策略1 进行黑名单处理2 前端 js 判断认为操作或者机器3 sdk 采集用户设备信息4 多种策略过滤等5 用户画像行为分析6 业务流程一步一步操作,禁止执行最后接口提交7 设置业务流程,强制添加时间间隔(防止刷单机器快速提交)8 业务处理每个接口必须和前端页面页面交互,并有token...原创 2019-04-20 16:25:22 · 888 阅读 · 0 评论