scalability - 访问公共资源的水平扩展应用程序
问题描述
我将尝试使我的用例尽可能简单。
假设我有一个数据库表 ProductStock(product, stock) 和两个 API 端点:
- /get-stock/:product -> 返回产品的库存
- /reduce-stock/:product/:quantity ->按数量减少产品的库存
我想水平扩展我的 API,但我不知道哪种方法是处理实例之间竞争条件的最佳方法,因此产品的库存永远不会是负数。
我对在应用程序服务器上而不是在数据库服务器上实现的解决方案最感兴趣。
如果只有一个实例,我可以对热代码使用锁定语句。
非常感谢
解决方案
推荐阅读
- amazon-web-services - Amazon S3 URL 重定向到根 /
- java - 机器人一遍又一遍地打印相同的字符串
- mysql - 无法连接到 Amazon RDS 上的 MySQL 服务器
- javascript - 难以在画布上绘制多个多边形。请看一看
- android-studio - 如何将 json 数据传递给颤振小部件
- matplotlib - 无法更改为不同的 GUI 工具包:笔记本 - Jupyter 中的警告
- keras - 为什么我的损失函数或准确性没有提高?
- python - 对多对多关系 Django 的正向和反向查询
- sql - PostgreSQL - 完成一个系列
- ios - 如何使用映射和过滤器从一维数组生成二维数组?