- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个工具,它可以连接到节点并使用 PHP 获取其连接数据。
我使用的架构是一个 Worker,它在构造函数中 fork 自己的次数与需要处理的节点一样多,连接到节点并检索它们的连接数据(大约 5 个具有相对较短字符串的字段和大整数)。
我面临的问题是,当一个不同的子 worker 完成他的工作时,数据库连接会断开。 一种方法是每次 child 想要访问数据库时建立一个新的 mysql 连接。这是一个好的做法吗?
为了授予数据库访问权限,我实现了一个类似单例的数据库类,但实际上该类并没有按预期使用一个连接,而是为每个子进程使用一个 mysql 连接。 (我读到了“ShareNothing”这种现象或类似的内容)
这很重要 - 我听说 mysql 连接限制默认情况下应该在 100 左右。虽然我目前维护着大约 60 个节点,但节点数量在接下来的几个月内可能会增加。我目前工作的公司在使用各种组件时受到非常严格的限制,因此 gearman 不是一个选择。
我正处于缺乏想法的阶段。我应该如何设计数据库访问来为不断增加的节点提供可扩展性?
编辑:应用程序通过 PHP CLI 运行。工作人员启动其 run 函数,其中包含由 while 循环包围的一系列操作。序列的构建如下(伪代码 INC):
while(allowedToRun())
if(isConnectionStillOpen())
fetchDataFromNodes()
enterIdleRoutine
else
exit
因此应用程序旨在无限期地运行
最佳答案
连接断开要么是因为您删除了它们,要么是每次加载新的 php 页面时都启动了一个新连接(这是 php 编程方式的默认行为,如果您需要某些东西)更复杂,您应该考虑转向 java 或其他中间件编程语言)。
顺便说一句,来自 php 手册
The link to the server will be closed as soon as the execution of the script ends, unless it's closed earlier by explicitly calling mysql_close().
http://php.net/manual/en/function.mysql-connect.php
<小时/>这与打开的连接数无关,但你应该了解事务,以控制并发访问:
http://dev.mysql.com/doc/refman/5.0/en/commit.html
同时对表锁进行读取也是一个好主意
关于php - PHP 并行计算的数据库架构最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17485440/
是否可以简化在裸机上运行的这条链: 具有随时间变化的副本数的 StatefulSet 服务 使用 proxy-next-upstream: "error http_502 timeout invali
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我需要为应用程序制定架构。它专为销售产品而设计。 系统每天将接受大约 30-40k 的新产品。它将导致在表 product 中创建新记录。 系统应保留价格历史记录。用户应该能够看到产品 A 的价格在去
我需要一些帮助来理解 PHP 的内部工作原理。 还记得,在过去,我们曾经写过 TSR(Terminate and stay resident)例程(pre-windows 时代)吗?一旦该程序被执行,
1.Nginx 基础架构 nginx 启动后以 daemon 形式在后台运行,后台进程包含一个 master 进程和多个 worker 进程。如下图所示: master与
.NET Core:架构、特性和优势详解 在软件开发领域,保持领先地位至关重要。随着技术以指数级的速度发展,开发人员不断寻求高效、可扩展且多功能的解决方案来应对现代挑战。.NET Core 就是这样
本文深入探讨了Kubernetes(K8s)的关键方面,包括其架构、容器编排、网络与存储管理、安全与合规、高可用性、灾难恢复以及监控与日志系统。 关注【TechLeadCloud】,
我知道 CNN 的工作原理,包括每一层的用途(Dropout、Pooling 等)。但是,在为新数据集设计 CNN 时,我不知道要使用多少个 Conv-Relu-Pool 层,在最终获得输出之前我应该
在基于 REST 的架构中,资源和方法之间有什么区别。有吗? 最佳答案 资源是您的应用程序定义的东西;它们与物体非常相似。方法是 HTTP 动词之一,例如 GET、POST、PUT、DELETE。它们
我想用 oneOf仅在 xyType 的值上不同的模式属性(property)。我想要其中两个:一个是 xyType设置为 "1"第二个在哪里xyType是 任何其他值 .这可以使用 json 模式完
寻求 PHP 架构师的建议! 我对 PHP 不是很熟悉,但已经接管了一个用该语言编写的大型分析包的维护工作。该架构旨在将报告的数据读取到大型键/值数组中,这些数组通过各种解析模块传递,以提取每个模块已
这些存在吗? 多年来,我一直是大型强类型面向对象语言(Java 和 C#)的奴隶,并且是 Martin Fowler 及其同类的信徒。 Javascript,由于它的松散类型和函数性质,似乎不适合我习
我已经阅读了 Manning 的 Big Data Lambda Architecture ( http://www.manning.com/marz/BD_meap_ch01.pdf ),但仍然无法
在过去的几年里,我做了相当多的 iOS 开发,所以我非常熟悉 iOS 架构和应用程序设计(一切都是一个 ViewController,您可以将其推送、弹出或粘贴到选项卡栏中)。我最近开始探索正确的 M
我有以下应用程序,我在其中循环一些数据并显示它。 {{thing.title}} {{thing.description}}
昨天我和我的伙伴讨论了我正在开发的这个电子购物网站的架构。请注意,我为此使用 ASP.NET。他非常惊讶地发现我没有将添加到购物车的项目保留在 ArrayList 或其他通用列表中,而是使用 LINQ
我正在使用在 tridion 蓝图层次结构中处于较低位置的出版物。从蓝图中较高级别的出版物继承的一些内容和模式不适合我的出版物,并且永远不会被我的出版物使用。 我将跟进添加这些项目的内部团队,并尝试说
我目前已经在 Cassandra 中设计了一个架构,但我想知道是否有更好的方法来做事情。基本上,问题在于大多数(如果不是全部)读取都是动态的。我构建了一个分段系统作为应用程序服务,读取动态自定义查询(
我正在按照 documentation 中给出的 icingaweb UI v 2.0 布局执行在服务器上设置 icinga 的步骤。 。我成功进入设置页面,该页面要求您输入 token ,然后按照步
我必须保存来自不同社交媒体的用户的不同个人资料。例如用户可能有 1 个 Facebook 和 2 个 Twitter 个人资料。如果我保存每个配置文件它作为新文档插入不同的集合中,例如 faceboo
我是一名优秀的程序员,十分优秀!