一直很好奇这些大站是怎么做到数据在各节点实时一致的,有没有什么项目可以做到这一种,想让一些闲置服务器利用起来
如果用多节点后端的话那么cdn回源的时候怎么选择最快的后端节点,看了下CDN回源算法要么是随机权重要么轮询,那这样岂不是可能会变得更慢
这是我想要的效果
这只是展示一下效果,并不是我要做到这么牛逼的效果
热议
推荐楼 crossyou 昨天18:34
前端ng做负载均衡,数据库也是集群数据库,后端都是负载均衡的,虽然入口是一个,但后端的服务器数量就很多了
2楼 tsdog 昨天17:56
cf 的是anycast,建议你百度了解一下先
3楼 FCB 昨天18:03
cf 的是anycast,建议你百度了解一下先
那我建议你重学一下语文的阅读理解
4楼 thaizxj 昨天18:04
这不是cdn吗
负载均衡很简单啊
nginx配upstream 就行了
5楼 FCB 昨天18:06
这不是cdn吗
没缓存的动态网页
6楼 FCB 昨天18:09
这不是cdn吗
负载均衡很简单啊
nginx配upstream 就行了
问题是怎么做到后端数据实时一致
7楼 thaizxj 昨天18:10
问题是怎么做到后端数据实时一致
服务器前端都指向同一个数据库嘛
8楼 FCB 昨天18:17
服务器前端都指向同一个数据库嘛
全部指向一个数据库的话那岂不是访问速度更慢了,而且又不是都在数据库里
9楼 thaizxj 昨天18:18
全部指向一个数据库的话那岂不是访问速度更慢了,而且又不是都在数据库里 ...
所以你后端也要做负载均衡
你想跟你发的图那样,做nginx负载均衡就好了
10楼 FCB 昨天18:21
所以你后端也要做负载均衡
你想跟你发的图那样,做nginx负载均衡就好了
...
对呀,所以我就想问后端怎么做负载均衡嘛
12楼 pikukong 昨天18:35
哇塞,头一次见主贴可以分页
13楼 tsdog 昨天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)。
14楼 nk123 昨天18:59
这种东西复杂高端,付钱解决即可
15楼 FCB 昨天19:52
这种东西复杂高端,付钱解决即可
确实复杂且费钱
16楼 FCB 昨天19:54
刚好 cf 博客有个描述他们骨干网的文章: https://blog.cloudflare.com/zh-cn/backbone2024-zh-cn
你使用了 ...
看了下,好复杂,还费钱
主要是后端的主从配置
17楼 tsdog 昨天20:28
看了下,好复杂,还费钱
主要是后端的主从配置
如果你想实现非分布式的负载均衡那不难,如果是分布式的
难就难在需要cdn 节点去判断你源站的位置,挑选最近的源站去回源。
你想利用空余的机器来充当源站,那你就得先解决多主数据库,或者实现读写分离(主流程序都不支持)。
多主数据库倒是有开源的方案,能兼容 mysql,不过你也得解决数据库之间的延时问题(延时大了容易锁表导致性能极大降低)。这里大厂倒是有解决方案,阿里云的polard(已经是大厂里面最便宜的), 它可以轻易为你搭建一个多地域多主多从的 mysql 数据库,并且开箱即用。产品链接:https://www.alibabacloud.com/zh/product/polardb-for-mysql
18楼 FCB 昨天20:55
如果你想实现非分布式的负载均衡那不难,如果是分布式的
难就难在需要cdn 节点去判断你源站的位置,挑选 ...
感谢回复!我也想到了用云数据库,但是这个方案的价格让我断了念想...
所以说真费钱
申明:本文内容由网友收集分享,仅供学习参考使用。如文中内容侵犯到您的利益,请在文章下方留言,本站会第一时间进行处理。