高并发系统设计
文章平均质量分 95
秒杀、抢购、报名等高并发系统设计!
区块链(Web3)开发工程师
全栈工程师、区块链开发工程师、智能合约开发工程、Web3.0工程师
精通Wallet、Token、NFT、Exchange、DEFI、DAPP(web3开发)、智能合约、Gamefi、元宇宙开发。
大家有任何需要,欢迎私信或评论联系我!
展开
-
什么是分布式锁?实现分布式锁的三种方式
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。那具体什么是分布式锁,分布式锁应用在哪些业务场景、如何来实现分布式锁呢?一 为什么要使用分布式锁我们在开发应用的时候,如果需要对某一个共享变量进行多线程同步访问的时候,可以使用我们学到的锁进行处理,并且可以完美的运行,毫无Bug!注意这是单机应用,后来业务发展,需要做集群,一个应用需要部署到几台机器上然后做负载均衡,大致如下图:上图可以看到,变量A存在三个服务器内存中(这个变量A主要体现是在一原创 2021-08-02 15:23:38 · 285 阅读 · 0 评论 -
分布式高并发系统如何保证对外接口的幂等性?
前言接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。不知道你有没有遇到过这些场景:有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回错误的结果(这种情况不可能直接返回失败吧?),..原创 2021-08-02 15:01:42 · 234 阅读 · 0 评论 -
【Dubbo】Spring 中 Dubbo配置实现负载均衡、集群环境详细资料
目录1. Dubbo实现负载均衡四种负载均衡策略配置负载均衡级别的方法:2. Dubbo 集群部署1. Dubbo实现负载均衡在用dubbo作为项目架构的时候,给consumer消费者用nginx提供了负载均衡策略和集群的实现,但是想了下,consumer再多,但是提供者还是一个,最后还不都是落到了这一个provider上面?举个列子: 一个饭店有1个后厨...原创 2020-04-20 14:49:19 · 563 阅读 · 0 评论 -
【架构】keepalived:简介、nginx+keepalived集群、nginx+keepalived双主架构
目录一、keepalived高可用简介二、nginx+keepalived集群1、原理及环境2、安装配置3、测试三、nginx+keepalived双主架构1、原理及环境2、配置文件3、测试4、管理与维护四、虚拟ip(VIP)申请(VIP(虚拟IP)设置-Ubuntu)五、阿里云ecs是否支持搭建nginx+keepalived集群一、keepa...原创 2019-12-09 14:44:40 · 352 阅读 · 0 评论 -
【架构】HAProxy负载均衡单点故障解决方案:HAProxy+keepAlived
目录前言介绍环境架构安装HAProxy日志安装KeepAlived高可用测试并发测试前言对于访问量较大的网站来说,随着流量的增加单台服务器已经无法处理所有的请求,这时候需要多台服务器对大量的请求进行分流处理,即负载均衡。而如果实现负载均衡,必须在网站的入口部署服务器(不只是一台)对这些请求进行分发,这台服务器即反向代理。由于反向代理服务器是网站的入...原创 2019-05-18 17:14:52 · 2173 阅读 · 0 评论 -
【交易所 | 数字货币 | 架构】山哥的撮合系统火力加强升级版
原创 2019-05-09 18:27:51 · 885 阅读 · 0 评论 -
【架构】如何设计一个高并发系统?
如何设计一个高并发系统?如果你确实有真才实学,在互联网公司里,干过高并发系统,那你拿Offer,基本如探囊取物一样简单。但你要真干过高并发系统,面试官绝对不会问这个问题,否则他就不太明智了。因为真正干过高并发的人一定知道,脱离了业务的系统架构,都是纸上谈兵。真正在复杂业务场景、而且还高并发的时候,这个系统架构一定很难搞。要理解高并发,就得从高并发的根源出发——为什么会有高并发?...原创 2019-01-12 15:08:16 · 625 阅读 · 0 评论 -
【架构】nginx反向代理配置去除前缀(很不错的文章)
使用nginx做反向代理的时候,可以简单的直接把请求原封不动的转发给下一个服务。设置proxy_pass请求只会替换域名,如果要根据不同的url后缀来访问不同的服务,则需要通过如下方法:方法一:加"/"server { listen 8000; server_name abc.com; access_log "pipe:...原创 2019-01-12 15:17:08 · 17768 阅读 · 0 评论 -
【架构】基于redis分布式锁实现“秒杀”
最近在项目中遇到了类似“秒杀”的业务场景,在本篇博客中,我将用一个非常简单的demo,阐述实现所谓“秒杀”的基本思路。1. 业务场景所谓秒杀,从业务角度看,是短时间内多个用户“争抢”资源,这里的资源在大部分秒杀场景里是商品;将业务抽象,技术角度看,秒杀就是多个线程对资源进行操作,所以实现秒杀,就必须控制线程对资源的争抢,既要保证高效并发,也要保证操作的正确。2. 一些可能的实现刚...原创 2019-01-12 16:27:53 · 287 阅读 · 0 评论 -
【架构】用Redis轻松实现秒杀系统(高并发系统的设计)
1. 导论曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。2. 秒杀系统的架构设计秒杀系统,是典型的短时大量突发访问类问题。对这类问题,有三种优化性能的思路:1. 写入内存而不是写入硬盘2. 异步处理而不是同步处理3. 分布式处理用上这三招,不论秒杀时负载多大,都能轻松应...原创 2019-01-12 15:40:42 · 1811 阅读 · 3 评论 -
Spring Cloud 5分钟搭建教程(附上一个分布式日志系统项目作为参考)
https://github.com/leoChaoGlut/log-sys上面是我基于Spring Cloud ,Spring Boot 和 Docker 搭建的一个分布式日志系统.目前已在我司使用. 想要学习Spring Cloud, Spring Boot以及Spring 全家桶的童鞋,可以参考学习,如果觉得好,star 一下吧~ <<<< 20170...原创 2019-01-12 15:24:12 · 169 阅读 · 0 评论