php – 自动保存服务器架构
我想在服务器上保存一个冗长的表单输入.但我不认为对每个自动保存操作进行db调用是最好的方法.
什么构成解决这个问题的好方法? 另一个问题是我有3个app服务器.所以内存缓存不起作用. 我正在考虑将数据保存在redis中并在每次调用时更新它,最后更新数据库.但由于我有3台服务器,我如何确保呼叫在队列中? 任何人都可以帮助建筑吗?
这是扩展体系结构时面临的一个非常经典的问题,但是后来我们开始扩展,因为基本上您的初始应用程序需要多次调用数据库级别才能优先进行优化.
由于你没有给你的iops提供任何细节,我将在下面描述解决它的方法,按照递增的顺序,所有方法都是级联性的,这是最后一种方法实际上建立在以前的所有解决方案上: 直接数据库方法{db调用每个自动保存操作}:
基本上在任何数据更新的地方我们直接将它传播到数据库级别.此架构中的主要块是数据库 >对于像Mysql这样最常用的关系数据库: >插入查询比更新查询花费的时间更少,对于大学项目,您可以继续使用相同的主键更新行,并且它可以很好地工作. 当这一步失败时,下一步是数据库本身,优化的下一步是,你正在处理的数据类型,你可以为非事务数据选择一个无架构的数据库,如mongo,dynamodb等 >对于其他优化,请使用二级索引更快地查询数据. 涉及应用层方法{应用层缓存}:
>当简单数据库无法按要求提供服务和扩展时,最简单的方法是将一些负载转移到您的API服务器上.因为相同的水平缩放更容易和更便宜. 重新发明轮子:自定义级别应用程序层缓存db缓存db优化
>这是我们使用redis / Dynamodb / mongo设计我们自己的东西来充当主数据库的缓存的地方. (请注意,如果首先使用非事务性数据库,请使用附录方法 – 这非常适合通过添加非事务性数据库的包装来扩展事务性数据库) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |