技术分析 我们在开发时会遇到需要使用即时通讯的场景,当然,实现方式很多, Socket 、 MQTT 、 Netty ….等等。 具体用哪种就在于业务的需求了,去选择合理的方式实现。 今天小简要聊的场景便是分布式环境下, WebSocket 的消息共享问题。 分布式环境下,业务方面往往最需要解决的是数据同步共享这类问题。…
今天我们从 7 个不同的维度,讲讲秒杀系统的架构设计,主要知识点如下: Nginx + 前后端分离 + CDN 缓存 + 网关(限流+熔断) 集群的路由层 + Redis(缓存热点数据、分布式锁) MQ 集群 业务处理层 数据库层(读写分离、热点隔离) 1. 秒杀业务的特点 瞬间大量的刷新页面的操作 瞬间大量的抢宝的操作 可能有秒杀器的恶性竞争 2.…
本文将从,Kafka、RabbitMQ、ZeroMQ、RocketMQ、ActiveMQ 17 个方面综合对比作为消息队列使用时的差异。 1. 资料文档 Kafka:中,有 kafka 作者自己写的书,网上资料也有一些。 rabbitmq:多,有一些不错的书,网上资料多。 zeromq:少,没有专门写 zeromq…
在软件开发过程中,需求管理是一个非常重要的环节,需要通过有效的需求管理来满足用户和业务的需求,同时保证开发过程的效率和质量。 问题背景: 在过去的项目开发过程中,需求管理存在以下问题: 需求变更频繁,缺乏有效的变更管理机制。 需求分析不充分,导致需求不明确和矛盾。 需求管理流程不规范,缺乏有效的需求管理工具和方法。 问题现状:…
一、Nginx unexpected end of file 问题 通过 letsencrypt 申请证书后,默认服务器安装了 Nginx 1.8 发现,在默认的 /etc/nginx/sites-enabled/default 内容配置 SSL 的 site.com.key 后。重启 Nginx 出现一下错误: nginx: [emerg]…
1. 前言 我们先思考下面几个业务场景的解决方案: 支付系统每天凌晨1点跑批,进行一天清算,每月1号进行上个月清算 电商整点抢购,商品价格8点整开始优惠 12306购票系统,超过30分钟没有成功支付订单的,进行回收处理 商品成功发货后,需要向客户发送短信提醒 类似的业务场景非常多,我们怎么解决?…
来源:https://code2life.top/2020/09/05/0058-12-factor/ “Twelve-Factor App”的概念出现很久了,一般叫”12要素”,用来 衡量一个后端服务是否适合搬到云上 。以前不太明白其中的含义,经过一些实战之后,再回头看这些理论,发现这些“要素”个个一针见血,讲的正是实践中最容易踩的、最常见的坑。…