美文网首页
【并发】针对不同场景的并发设计

【并发】针对不同场景的并发设计

作者: 移动的130 | 来源:发表于2018-08-21 16:44 被阅读0次

以下内容仅自己理解,总结。<请教了几位大佬>
一. 针对无限请求,多资源设计
针对并发会有以下几种设计(不止限这几种设计):

1.有限并发无限请求:
用有上限的容器(不止是容器)去拒绝无限请求
2.有限并发无限请求:
设置有限数量令牌(可执行资格),让请求去争夺可执行资格
3.无限并发无限请求
所有请求全部接收,筛选满足条件请求去执行

以上的几种设计在一下这些场景中可以借鉴:

1.秒杀场景:
1>可以定义有限容器去接收请求,当容器达到上限时,拒绝其他请求;
2>可以在网关去设定同一时间有多少请求可以进入,限制请求数量;
2.短信平台:
1>所有发送短信请求,全部接收,进行逐条执行;(mq等)
3.金融有限金额抢标:
1>所有下单请求接收,逐条筛选,满足条件,可以下单成功,其他下单失败;

二.针对无限请求,单资源设计
1.数据库设计:
当有无限个请求去请求单一资源,资源数据存在数据库中,可以通过主键的方式去 update 触发行级锁,进行限制;
2.在缓存中设计锁
当有无限个请求去请求单一资源,在缓存中启动缓存事务,进行锁获取,当发现获取不到锁,则占用失败;

相关文章

  • 【并发】针对不同场景的并发设计

    以下内容仅自己理解,总结。<请教了几位大佬>一. 针对无限请求,多资源设计针对并发会有以下几种设计(不止限这几种设...

  • 并发容器的使用:识别不同场景下最优容器

    并发容器的使用:识别不同场景下最优容器 并发场景下的 Map 容器 假设我们现在要给一个电商系统设计一个简单的统计...

  • ReadWriteLock

    ReadWriteLock 适用于读多写少的场景,针对读多写少这种并发场景,Java SDK并发包提供了读写锁——...

  • 高并发高可用系统以及面试分析

    1.高并发,高可用系统的一些思考 高并发依赖于场景和逻辑 不一定每个场景都会产生高并发,不要为了高并发而盲目的设计...

  • ReadWriteLock:如何快速实现一个完备的缓存?

    针对读多写少这种并发场景,Java SDK 并发包提供了读写锁——ReadWriteLock,非常容 易使用,并且...

  • RedLock 实现分布式锁

    并发是程序开发中不可避免的问题,根据系统面向用户、功能场景的不同,并发的重视程度会有不同。从程序的角度来说,并发意...

  • Java高性能高并发秒杀系统设计与优化

    项目简介 本项目主要是模拟应对大并发场景下,如何完成商品的秒杀,以及针对秒杀场景下为应对大并发所做的优化。 项目地...

  • 对常见高并发一些业务场景的理解

    常见并发场景,本人可以认为分为,并发读,和并发写的主要场景,并发读,可以使用缓存,并发写使用的技术就比较多了。 案...

  • Go语言简介

    Go语言简介 Go语言设计的初衷 针对其他语言的痛点进行设计并加入并发编程为大数据,微服务,并发而生的通用编程语言...

  • 01-并发概述

    并发编程由来: 串行与并行 并发编程目的 并发编程的场景

网友评论

      本文标题:【并发】针对不同场景的并发设计

      本文链接:https://www.haomeiwen.com/subject/kvhjiftx.html