gpt4 book ai didi

mysql - 由许多服务器访问的单个服务器上的数据库。开发人员如何解决这个问题?

转载 作者:行者123 更新时间:2023-11-30 23:32:59 25 4
gpt4 key购买 nike

我在全局范围内几乎没有 VPS 和云服务器,我正在设置一个所有服务器都可以访问的数据库。

设置我的数据库时,我会购买另一台 VPS 或云服务器并将其托管在最繁忙的服务器附近。

所有服务器都具有并提供相同的内容。因此,如果我的数据库服务器位于旧金山,而我尝试从我的罗马尼亚服务器访问它,则会出现性能问题。

开发人员如何处理这种情况?在所有服务器中实现相当数量的性能的最佳方法是什么?在数据库就绪服务器上托管数据库是否更好? (Amazon RDS、Azure SQL)还是托管我自己的数据库服务器?

无论如何,定价是一个问题,所以越便宜越好。

更新:

基本上我有 8 台服务器,即将构建 1 台数据库服务器。每个用户的数据库内容最大约为 30KB,但用户最多可达 500,000。因此,连接不是针对大量数据的,也不是每次用户访问该站点时都会连接到数据库。只是我不确定进出服务器的速度有多慢。我的问题主要是,人们通常做什么。我有一个 CDN,但它不是我要找的。我使用 Akamai 的 CDN,但对于数据库,收费是我所有服务器 6 个月的费用。

最佳答案

您是否正在尝试构建自己的 CDN 以更好地服务于两个国家的主要客户群?

假设您有两台 HTTP 服务器,一台在旧金山,一台在布加勒斯特。如果您让两个服务器都访问同一个数据库服务器,您的 HTTP 服务器和数据库服务器之间仍然会存在延迟问题。

一种方法是拥有两个 HTTP 服务器和两个数据库服务器。一台是主服务器,一台是从服务器。从服务器是只读的,写入查询将定向到主服务器。

另一种方法是使用 memcached 或其他缓存方法在 HTTP 服务器上缓存内容。无论哪种方式,您都希望尽量减少对更远的服务器进行远程数据库查询。

根据您的负载,最简单的方法可能只是托管在第三个位置,这对您所服务的两个位置都有很好的延迟。比如你要服务亚洲和北美,那么东京或者香港都是不错的选择。不幸的是,我不知道北美和欧洲之间哪些地点适合。它将为您省钱和省心。

对于静态内容,Amazon CloudFront 是一个很好的解决方案。

关于mysql - 由许多服务器访问的单个服务器上的数据库。开发人员如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com