我正在建立一个社交网络,由于名人将支持它,我期待合法的流量。
因此,我试图尽可能地扩展它。
我的方法如下,所有这些都在他们自己的虚拟机上运行:
- 操作系统:CentOS6
在社区发展的情况下,我最初的方法是增强虚拟机CPU / RAM。一旦这种方法不再足够,我计划实施集群。
我已经设置了memcache服务器并且知道socialengine如何利用它(在缓存部分,设置memcache服务器的IP地址);如果需要memcache集群,我假设可以使用虚拟IP地址
但是,我不知道如何设置socialengine来使用外部数据库服务器。有人能指出我的文档或描述如何更改这些参数,无论它们是在GUI中还是必须在服务器本身的配置文件中更改?
非常感谢任何其他可扩展性提示。我希望我的理解和方法是合法的。
答案 0 :(得分:1)
数据库配置
在Installation期间,您指定数据库服务器(请参阅步骤3:设置MySQL数据库)。使用localhost告诉它连接到同一服务器上的MySQL数据库。如果要使用其他服务器,请指定托管数据库的服务器的IP地址或主机名。
您需要确保端口3306已打开,并且您的应用程序服务器可以与该端口上的数据库服务器通信。
SocialEngine是一个PHP应用程序,它将数据库连接信息存储在配置文件中。此文件位于此处:
application/settings/database.php
即使在安装后,您也可以编辑该文件并更改数据库连接字符串。
扩展注意事项
对于扩展,我建议您查看Amazon Web Services平台。还有其他云平台,但这是我最熟悉的平台,所以我会给你一些关于在AWS上展望的建议。
负载平衡:AWS Elastic Load Balancing(ELB)允许您在多个服务器之间拆分Web流量。
Auto Scaling :通过此功能,您可以根据监控事件(例如CPU使用率峰值,网络流量峰值)启动新服务器并将其添加到池中。并且您可以在不需要时关闭额外的服务器。
远程数据库服务:这是一个托管数据库服务,可轻松实现群集。
CloudFront :AWS的CDN
这是关于AWS扩展的非常有用的网络广告:
AWS Webcast - Scaling on AWS for the First 10 Million Users
要进行监控,请查看New Relic。
如果您需要进一步澄清/建议,请与我们联系。