全球主机交流论坛

标题: 想问一下自己的网站怎么做到跟大厂一样多节点负载均衡 [打印本页]

作者: FCB    时间: 2024-8-26 17:46
标题: 想问一下自己的网站怎么做到跟大厂一样多节点负载均衡
一直很好奇这些大站是怎么做到数据在各节点实时一致的,有没有什么项目可以做到这一种,想让一些闲置服务器利用起来

如果用多节点后端的话那么cdn回源的时候怎么选择最快的后端节点,看了下CDN回源算法要么是随机权重要么轮询,那这样岂不是可能会变得更慢

这是我想要的效果
这只是展示一下效果,并不是我要做到这么牛逼的效果




突然发现cloudflare的博客好像不是多节点的

作者: tsdog    时间: 2024-8-26 17:56
cf 的是anycast,建议你百度了解一下先
作者: FCB    时间: 2024-8-26 18:03
tsdog 发表于 2024-8-26 17:56
cf 的是anycast,建议你百度了解一下先

那我建议你重学一下语文的阅读理解
作者: thaizxj    时间: 2024-8-26 18:04
本帖最后由 thaizxj 于 2024-8-26 18:05 编辑

这不是cdn吗
负载均衡很简单啊
nginx配upstream 就行了
作者: FCB    时间: 2024-8-26 18:06
thaizxj 发表于 2024-8-26 18:04
这不是cdn吗

没缓存的动态网页
作者: FCB    时间: 2024-8-26 18:09
thaizxj 发表于 2024-8-26 18:04
这不是cdn吗
负载均衡很简单啊
nginx配upstream 就行了

问题是怎么做到后端数据实时一致
作者: thaizxj    时间: 2024-8-26 18:10
FCB 发表于 2024-8-26 18:09
问题是怎么做到后端数据实时一致


服务器前端都指向同一个数据库嘛
作者: FCB    时间: 2024-8-26 18:17
thaizxj 发表于 2024-8-26 18:10
服务器前端都指向同一个数据库嘛

全部指向一个数据库的话那岂不是访问速度更慢了,而且又不是都在数据库里
作者: thaizxj    时间: 2024-8-26 18:18
FCB 发表于 2024-8-26 18:17
全部指向一个数据库的话那岂不是访问速度更慢了,而且又不是都在数据库里 ...


所以你后端也要做负载均衡   
你想跟你发的图那样,做nginx负载均衡就好了

作者: FCB    时间: 2024-8-26 18:21
thaizxj 发表于 2024-8-26 18:18
所以你后端也要做负载均衡   
你想跟你发的图那样,做nginx负载均衡就好了
...

对呀,所以我就想问后端怎么做负载均衡嘛
作者: crossyou    时间: 2024-8-26 18:34
前端ng做负载均衡,数据库也是集群数据库,后端都是负载均衡的,虽然入口是一个,但后端的服务器数量就很多了
作者: pikukong    时间: 2024-8-26 18:35
哇塞,头一次见主贴可以分页
作者: tsdog    时间: 2024-8-26 18:54
刚好 cf 博客有个描述他们骨干网的文章: https://blog.cloudflare.com/zh-cn/backbone2024-zh-cn

你使用了 cf 就相当于给自己网站套了个负载均衡器了,cf会从各个节点汇总请求通过离你源站最近的L2节点发送回源请求。
cf 有专门的负载均衡程序,能够实现你想要的功能(根据地理位置回源)。不过免费的也有,就是添加相同的 dns 记录指向不同的源站,只不过不能实现智能路由。https://developers.cloudflare.com/dns/manage-dns-records/how-to/round-robin-dns/


还有你想实现的是多主结构,这个不仅仅要cdn 程序能够支持智能路由,数据库需要多主,进阶的在 cdn 节点处就使用 fastcgi 处理应用(当然也可以不用,再套一层nginx便是,不过goedge这个程序支持在 cdn 节点处直接启用fastcgi)。
作者: nk123    时间: 2024-8-26 18:59
这种东西复杂高端,付钱解决即可
作者: FCB    时间: 2024-8-26 19:52
nk123 发表于 2024-8-26 18:59
这种东西复杂高端,付钱解决即可

确实复杂且费钱
作者: FCB    时间: 2024-8-26 19:54
tsdog 发表于 2024-8-26 18:54
刚好 cf 博客有个描述他们骨干网的文章: https://blog.cloudflare.com/zh-cn/backbone2024-zh-cn

你使用了 ...


看了下,好复杂,还费钱
主要是后端的主从配置
作者: tsdog    时间: 2024-8-26 20:28
FCB 发表于 2024-8-26 19:54
看了下,好复杂,还费钱
主要是后端的主从配置


如果你想实现非分布式的负载均衡那不难,如果是分布式的
难就难在需要cdn 节点去判断你源站的位置,挑选最近的源站去回源。

你想利用空余的机器来充当源站,那你就得先解决多主数据库,或者实现读写分离(主流程序都不支持)。

多主数据库倒是有开源的方案,能兼容 mysql,不过你也得解决数据库之间的延时问题(延时大了容易锁表导致性能极大降低)。这里大厂倒是有解决方案,阿里云的polard(已经是大厂里面最便宜的), 它可以轻易为你搭建一个多地域多主多从的 mysql 数据库,并且开箱即用。产品链接:https://www.alibabacloud.com/zh/product/polardb-for-mysql
作者: FCB    时间: 2024-8-26 20:55
tsdog 发表于 2024-8-26 20:28
如果你想实现非分布式的负载均衡那不难,如果是分布式的
难就难在需要cdn 节点去判断你源站的位置,挑选 ...

感谢回复!我也想到了用云数据库,但是这个方案的价格让我断了念想...
所以说真费钱
作者: 长泰    时间: 2024-8-27 11:08
数据库主备读写分离;网站附件用子域名;缓存及各种变量用挂载的nfs nas保证同步。
案例:集群、节点,配合云存储服务搭建不惧怕宕机的网站服务:https://www.urlos.com/urlos-document/practices/3-node.html

作者: jqbaobao    时间: 2024-8-27 11:18
得加钱得加钱得加钱得加钱
作者: wangjian    时间: 2024-8-27 11:20
FCB 发表于 2024-8-26 18:06
没缓存的动态网页

动静分离,前端NGINX 负载均衡,后端数据库读写分离(Redis缓存)等。
作者: Vua5nkC    时间: 2024-8-27 12:15

作者: FCB    时间: 2024-8-27 15:02
Vua5nkC 发表于 2024-8-27 12:15

怎么还能加密码?
作者: Vua5nkC    时间: 2024-8-27 15:40
FCB 发表于 2024-8-27 15:02
怎么还能加密码?

我是专业的程序员。我觉得我回答得太好了,不能让mjj白**




欢迎光临 全球主机交流论坛 (https://loc.isir333.eu.org/) Powered by Discuz! X3.4