问题标签 [multiserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - wp-cron 用于多服务器 wordpress 安装
我正在多服务器堆栈(ELB 后面)上设置 wordpress 多站点网站。我有以下设置
- 3 个 Apache 实例
- 1台MySQL服务器
- 1 个内存缓存服务器
- 用于上传的 S3 存储桶
所有设置都运行良好。我的问题是“wp-cron 需要什么特别的东西”?
正常的 cron 通常只在 1 个服务器上运行。我应该禁用 wp-cron 并将其添加到其中 1 个实例上的 cron 作业吗?我不是在尝试优化 cron,如果 wp-cron 将继续在多个实例上工作,那么我很好。
插件升级和 wordpress 升级将被禁用并手动完成。
php - 在 2 个服务器节点(1 个前端,1 个后端)上运行 Magento CE 1.7
我目前有一个使用 varnish/turpentine 和 memecache 在专用服务器上运行的 magento 商店
我想让后端/管理员在自己的服务器上运行,并正在寻找一些关于我需要采取的步骤的指导。特别是关于 mysql 数据库。
我目前的理解是,我需要使用相同的文档根目录进行两次相同的安装。并且所有文件和资源必须保持同步。(rsync)
内存缓存将被共享。
两个安装是否引用相同的数据库(一个在本地,另一个在远程)?最好将数据库保存在前端机器还是后端机器上?
我还需要参加的会议有什么特别的考虑吗?
django - Django + RabbitMQ + Celery 都在不同的机器(服务器)上
我设法获得Django
并在单台机器RabbitMQ
上Celery
工作。我已按照此处的说明进行操作。现在我想让它们一起工作,但在它们位于不同服务器上的情况下。我不想Django
知道Celery
也不Celery
知道Django
。
所以,基本上我只想Django
将一些消息发送到RabbitMQ
队列(可能是 id、任务类型、可能是其他一些信息),然后我想RabbitMQ
将该消息(如果可能的话)发布到Celery
另一台服务器上。Celery/Django
不应该互相了解,基本上我想要很容易替换其中任何一个的架构。
现在我有Django
几个电话,比如
create_project.apply_async(args, countdown=10)
我想用直接对 RabbitMQ 的类似调用来替换它(正如我所说的Django
不应该依赖于Celery
)。然后,RabbitMQ
应该通知Celery
(如果可能)Celery
并将完成其工作(可能与Django
但通过REST
接口交互)。
此外,我需要Celery
在两台或多台服务器上拥有工作人员,并且我只想RabbitMQ
根据消息中的某些字段通知其中一个。如果这太复杂了,我可以检查每个任务(在不同的机器上),比如:这是你应该做的事情吗(比如检查消息中的 ip 地址字段),如果它不仅仅是停止执行任务。
我怎样才能做到这一点?如果可能的话,我更喜欢代码+配置示例,而不仅仅是理论解释。
编辑:
我认为对于我的用例芹菜是总开销。带有自定义客户端的简单 RabbitMQ 路由将完成这项工作。我已经尝试过简单的用例(一台服务器)并且效果很好。使通信多服务器准备好应该很容易。我不喜欢芹菜。它很“神奇”,隐藏了太多细节,而且不容易配置。但我会留下这个问题,因为我对别人的意见感兴趣。
performance - 具有 4 个服务器的大型索引的 Solr 性能
我们有 4 台服务器(2 台 48GB RAM、24 核、2.4GHz 的服务器和 2 台 64GB RAM、24 核、2.4GHz 的服务器)。我们使用 4 个分片(每台服务器上 1 个分片)。每个分片索引大小约为 500GB。
我们正在使用 edismax 解析器 && 环绕查询解析器来处理短语、邻近度和通配符搜索。
即使是简单的通配符/邻近搜索也需要 10-20 秒。
我们在具有 8 个分片(每个分片索引大小为 250GB)的单个服务器(24 核,64 GB RAM,2.4GHz)上具有相同的设置
与 4 台服务器设置相比,单台服务器设置的性能几乎是 2 倍(更好)。
我们设置了 4 台服务器 solr cloud 来提高性能,但性能下降了。有什么我们可能在这里遗漏的吗?
node.js - It is interesting to create a new node app to handle socket.io?
I want to add on an existing project some sockets with nodeJs and Socket.io. I already have 2 servers :
- An API RESTful web service, to storage and manage my datas.
- A Public web service to return HTML, assets (js, css, images, ...)
On the first try, I create my socket server on the Public one. But I think it will be better if I create an other one to handle only socket query.
What do you think ? It's a good idea or just an useless who will add more problem than solve (maybe duplicate intern lib, ..)
Also, i'm using token to communicate between Public and API, do I have to create another to communication between socket and API ? Or I can use the same one ?
------[EDIT]------
As nobody didn't understand me well I have create a schema with the infrastructure I was thinking about.
- It is a good way to proceed ?
- The Public Server and Socket server have to be the same ? Or can be separate ?
- Do I must create a socket connection between API and Socket server for each client connected ?
Thank you !
php - 多服务器数据库系统应该使用什么连接类型(mysql_connect、mysql_pconnect、PDO)?
简短的介绍:
我们有多个独立的数据库实例(rdbms),用于不同区域的 mysql 和 RESTAPI 服务器。每个 RESTAPI 服务器都需要连接其他数据库实例来获取数据。我们现在也无法继续使用 no-sql 数据库,所以 mysql 是我们唯一的选择。
如果我们想从其他实例中获取数据,哪种策略会更好?目前我们对每个请求使用 mysql_connect() 来连接和获取数据,因为我们现在有一个实例和一个 rdbms。
我们使用 mysql_pconnect 或 pdo 重写我们的代码并在开始处理请求之前为每个服务器创建一个连接然后从该特定服务器获取数据有什么好处吗?
细节:
我们已经开发了一个带有单个服务器实例和一个单独的 rdbms 实例的 RESTAPI 服务。现在我们正在扩展服务器,因为活跃用户的数量正在迅速增加。此外,所有用户都按地区分组,我们不允许将他的数据存储在他所在地区之外。所以我们不能使用集中式数据库系统。
我们知道哪些数据存储在哪个数据库中。问题是我们将如何连接到远程数据库并从那里获取数据。哪种策略更适合设计流量大的多实例服务器?
如果有四 (4) 个数据库实例,并且每次我们使用 mysql_connect() 函数连接远程数据库,那么将有 1x4 套接字(端口)分配。那么如果我们需要同时处理 >10000 个请求,则需要分配超过 40000 个端口或资源(不确定是否以这种方式工作)。
我是多服务器系统的新手,对重新发明轮子不感兴趣。任何建议将不胜感激。请帮我解决这个问题?谢谢。
nginx - 一个主站点的多台服务器
我有一个网站,但我正在使用单个服务器,但现在我想为我的网站使用更多服务器。
我想问一下,如果我更新可能的脚本,是否有任何方法可以在所有服务器上更新。
假设我有三台 Nginx 服务器,并且我正在使用云耀斑进行流量分配,所以如果我想更新可能的脚本,我将它上传到一台服务器上,它会自动更新到另外两台服务器上。
如果可以,那有可能吗?
hadoop - Hadoop datanode绑定错误的IP地址
我有一个三节点 hadoop 集群正在运行。出于某种原因,当数据节点从属设备启动时,它们会使用我的网络上甚至不存在的 IP 地址来识别。这是我的主机名和 IP 映射。
正如您在下面看到的,hadoop-master 节点正常启动,但在其他两个节点中,只有一个显示为 Live 数据节点,并且无论哪个显示始终具有 IP 192.168.51.1,如您在上面看到的我的网络上什至不存在。
我确实尝试为每个主机显式添加 dfs.datanode.address,但在这种情况下,它甚至无法显示为活动节点。这是我的 hdfs-site.xml 的样子(注意我已经尝试过设置 dfs.datanode.address 和不存在)。
为什么 hadoop 将每个数据节点与一个甚至不存在的 IP 相关联?或者更重要的是,我怎样才能让节点正常运行?
更新:所有节点上的文件 /etc/hosts 是相同的
以下是我的奴隶文件的内容。
数据节点日志:
https ://gist.github.com/dwatrous/7241bb804a9be8f9303f https://gist.github.com/dwatrous/bcd85cda23d6eca3a68b https://gist.github.com/dwatrous/922c4f773aded0137fa3
名称节点日志:
https ://gist.github.com/dwatrous/dafaa7695698f36a5d93
php - laravel 中的 Jwt-Auth 可以处理多服务器配置中的无效令牌吗?
我有一个 laravel REST API,它使用 tymondesigns/jwt-auth 进行身份验证,并希望将应用程序从单服务器扩展到多服务器配置,前面有一个负载均衡器。
该流程使用 RefreshToken 中间件,本质上是在每次请求后使令牌失效,并与响应一起返回一个新令牌。( https://github.com/tymondesigns/jwt-auth/wiki/Authentication )
jwt 如何在多服务器配置中管理无效令牌,其中令牌使用一个服务器无效,并且使用无效令牌的新请求在另一台服务器上命中?
node.js - 一次自动将代码更新到多台服务器
我有一个 nodejs Web 应用程序,我将此应用程序部署到 3 个服务器以服务来自用户的许多请求。问题是每次更新源代码时,我都必须远程访问每台服务器以从 Bitbucket 提取代码并重新启动服务器。有没有办法一次性更新所有服务器?,谢谢。当 Facebook 拥有数千台服务器时,他们会怎么做?