摘要: 前言 首先,要明确一点,高并发场景下系统的瓶颈出现在哪里,其实主要就是数据库,那么就要想办法为数据库做层层防护,减轻数据库的压力。 一、简单图示 我用一个比较简单直观的图来表达大概的处理思路 二、生产环境中秒杀抢购的解决方案 1、前端 1)、动静分离。 将静态资源放到第三方云服务中进行CDN加速,减 阅读全文
posted @ 2023-01-06 15:34 caibaotimes 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 如果未来要迈向高级工程师,压测就是必备的技能之一,只有测试阶段进行了反复的压测及优化,最终投入生产环境才会更安全可靠,这样的团队才会更被客户单位所认可。 JMeter用法 安装其实挺简单,为了方便演示,我直接Windows上安装了,后面生产环境用法会讲Linux下安装,官网相关地址如下。 1)、官网 阅读全文
posted @ 2023-01-06 15:07 caibaotimes 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 两个概念 RabbitMQ避免消息丢失的方法主要是利用消息确认机制和手动签收机制,所以有必要把这两个概念搞清楚。 1、消息确认机制 主要是生产者使用的机制,用来确认消息是否被成功消费。 配置如下: spring: rabbitmq: address: 192.168.x.x:xxxx virtual 阅读全文
posted @ 2023-01-06 14:01 caibaotimes 阅读(384) 评论(0) 推荐(0) 编辑
摘要: 网站经常有这样的需求:统计日活用户数,有哪些实现方式呢? 使用 1、用redis的set集合。 用户登录以后,把用户id添加到redis的set中,set会自动进行去重,类似于这样: 127.0.0.1:6379> sadd users_2019_06_17 user1 (integer) 1 12 阅读全文
posted @ 2023-01-06 13:59 caibaotimes 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 微信支付等支付功能开发过程中的必要流程了: 支付:创建业务订单 > 创建支付订单 > 唤起支付收银台 > 输入密码或指纹支付 > 进入支付回调处理 > 更改支付状态及业务状态 退款:创建退款订单 > 发起退款 > 进入退款回调处理 > 更改支付状态及业务状态 客户系统的支付环节有一个前提是从号源池中 阅读全文
posted @ 2023-01-06 11:25 caibaotimes 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 默认情况下,exchange、queue、message 等数据都是存储在内存中的,这意味着如果 RabbitMQ 重启、关闭、宕机时所有的信息都将丢失。 RabbitMQ 提供了持久化来解决这个问题,持久化后,如果 RabbitMQ 发送 重启、关闭、宕机,下次起到时 RabbitMQ 会从硬盘中 阅读全文
posted @ 2023-01-06 10:42 caibaotimes 阅读(152) 评论(0) 推荐(0) 编辑