使用阿里云发布分布式网站,开发时候应该注意什么?

news/2024/4/30 14:58:10/文章来源:https://blog.csdn.net/weixin_34358365/article/details/88619957

虽然之前写过关于负载均衡的文章,但是似乎大家都对负载均衡这个标题很陌生。今天就换个角度,从分布式网站发布角度说一下

首先,网站发布一定离不开服务器,就是阿里云的云服务器ECS。最近发现,老用户也有机会购买特价服务器,参考阿里云天猫旗舰店。分布式网站架构,在开发环节需要处理号几个地方,才能更轻松的扩展:

1,数据库单独运行

这个最简单,相信只要用到了数据库的网站,大部分都是已经可以轻松实现网站和数据库分离的模式。之所以强调这点,就是因为,网站真的到了访问量大了,需要由单机发布改为分布式发布时候。首先就是要把数据库单独出来,使用单独一台ECS或者使用专门的RDS运行。

关于使用ECS自行搭建数据库,要说的无非就是,数据库文件一定要放在SSD硬盘上。因为云硬盘本质都是虚拟硬盘,读写指标iops会损失的很严重。当然业务量大了之后,我更建议选购RDS,RDS阿里云专门的数据库服务产品,mysql,sqlserver等多款分支,说实话,用惯了ECS自建可能会感觉这个产品挺贵的。但是实际上RDS已经针对硬盘读写,高可用,轻松拓展读写分离等提供了巨大的便利。因此大部分分布式网站都是选用了RDS等产品。

2,session存储

大部分网站都是有登录需求或者其他session存储需求的。其实真正服务某一个用户的服务器只有一个,然而分布式网站是在负载均衡的规则下转发到后台服务器,如果负载均衡没有开启回话保持功能,那么很有可能用户登录后,其他访问很有可能到达不同的后端服务器处理,而实现不同服务器同样能支持服务的办法就是,session得共享起来。这样就做到了让用户不需要反复登录。

session共享有多重方法,一种是什么都不用做,session存储在收到请求的那台ECS本地,这种情况就需要负载均衡开启“会话保持”功能。这么做可以实现大部分分布式发布需求,但是如果有使用session统计在线量的时候就会发现只统计到某台ECS登录的用户量。

还有一种session共享的办法是使用单独的服务存储session,例如专门拿出来一台ECS做session服务。这里也有人跟倾向于单独用一个redis服务共享存储session,也是非常好的办法。

3,用户上传的文件

很多网站存在用户上传的情况,但是分布式发布后,显然用户上传的时候传入了服务器A,等以后下载的时候使用的是服务器B,这时候如果没做共享,显然用户下载的文件会报错404,因为服务器B路径下显然没有用户传到A服务器里的文件。

解决办法很简单,就是讲所有的上传文件,传入到服务器之后,都转存到“共享文件服务器”,这个共享文件服务器,可以考虑自己搭建,但我建议的是使用阿里云提供的“对象存储OSS”服务。这样用户所有的下载,都走的时候OSS的访问地址,就不会报错404了。而且OSS是个独立的服务,下载文件使用的是OSS的流量,不占用发布网站的ECS的带宽。这就可以做到1M服务器带宽撑起峰值几十人甚至上百人的并发的原因。如果文件较多,另外建议将OSS搭配CDN使用

4,网站的日志文件

很多网站开发时候都是留有日志功能的,这些日志,就不再适合继续使用网站目录下某个路径存储了。原因跟上一条一样:文件存储在单台服务器里,要拿到全部日志文件需要每台服务器去获取一遍,显然不合适!

解决办法跟上一条很相似:使用共享文件服务器存储日志。这里需要注意避免日志文件重名,常见的年月日明明,在这里就会冲突,因为多台服务器都会产生相同文件名称的日志。但是我在这里,更建议大家把需要收集的日志文件,直接放入数据库RDS中。这样获取日志就不用每台服务器去汇总了。直接从数据库查出来就好。

5,发布网站文件一致

发布文件一致,就是为了保证更好的扩展。将来服务器压力太大,只需要直接从现有服务器环境拷贝一份即可。甚至搭配阿里云的“弹性伸缩ESS服务”。可以根据设置好的伸缩规则,自动按照某个服务器模板增加或者减少WEB服务器数量,实现弹性扩容。

综上所述,一个功能较全的分布式网站发布在阿里云,公共需要这么几个服务:ECS多台,SLB一台,RDS一台,Redis或有,ESS或有。

通过ECS+SLB+RDS+Redis+ESS的搭配,就可以轻松应对更多的访问量了。

附录:阿里云相关产品的帮助文档:

《云服务器ECS帮助文档》

《负载均衡SLB帮助文档》

《对象存储OSS帮助文档》

《弹性伸缩ESS帮助文档》

《CDN帮助文档》

原文地址: https://www.opengps.cn/Blog/V... 文章的更新编辑依此链接为准。欢迎关注源站原创文章!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_787291.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【读书笔记】2017.01.06 星期五 《大型网站架构技术》

本文地址 分享提纲: 1. 概述 2. 知识点 1.概述 1)【书名及链接】 《大型网站技术架构 核心原理与案例分析》 2)【主要内容】 由李智慧著作的《大型网站技术架构(核心原理与案例分析)》通过梳理大型网站技术发展历程,剖析大型网站技…

网站刷IP?活不过三秒

随着互联网的到来、发展到现在兴起,上网已经成为现在大众的习惯。在上网成为大众的同时,同时也会带给互联网一大批的网民,这无疑成为了网站这个工具的崛起。 网站崛起虽然给个人和企业公司带来便利、利益,但是同样也会带来一系列的…

ab命令压力测试网站性能

网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。 性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。今天我们专门来介绍ab。 ab…

jmeter测试网站,api,mysql性能

先安装jdk Windows版JMeter下载安装 https://www.apache.org/dist/jmeter/binaries 下载解压进入bin文件夹,双击打开jmeter.bat即可 Linux环境安装JMeter 1.下载 http://jmeter.apache.org/download_jmeter.cgi 2.apache-jmeter.zip上传到Linux服务器的指定目录…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

大型网站技术架构(五)网站高可用架构

2019独角兽企业重金招聘Python工程师标准>>> 网站的可用性(Avaliability)描述网站可有效访问的特性。 1、网站可用性的度量与考核 网站不可用时间(故障时间)故障修复时间点-故障发现(报告)时间点…

美化网站的实用 CSS3 技巧

美化网站的实用 CSS3 技巧 黑白图像 .desaturate {filter: grayscale(100%);-webkit-filter: grayscale(100%);-moz-filter: grayscale(100%);-ms-filter: grayscale(100%);-o-filter: grayscale(100%); }页面顶部阴影 ::before {content: "";position: fixed;top…

网站301跳转

为什么80%的码农都做不了架构师?>>> 很多地方发链接做限制了,所以专门做了个缩网址的网站 http://5x12.co.cc 速度还行 因为默认是列出根目录的所以访问根目录这个可不行啊,本站不是vps所以只能在.htaccess上做文章了 想让客户访…

LogParser的IIS网站分析技巧

LogParser介绍 LogParser是微软的一个免费的日志分析工具,它支持许多格式的文件类型。主要有如下几类: IIS 文件格式 IISW3C: IIS产生的W3C扩展格式 IIS: IIS专有格式. BIN: IIS的BIN格式. IISODBC: IIS可以把日志存储在数据库中。LogParser可以…

迪普网站防护系统产品线

迪普网站防护系统产品线 转载于:https://blog.51cto.com/itcn001/1064591

新闻资讯类网站的PC端前台模板分享

PC端新闻资讯模板背景效果图技术方案选型过程方案敲定结语背景 我同学公司需要开发一个pc端的新闻咨询网址,后端和app端都有了,具体一点就是已经有了后台监控和发布系统,并且实现了手机app端的新闻客户端页面,只差pc端资讯网站了…

【网易公开课】构建动态网站

第1集 第2集 第3集 正在播放...第4集 第5集 第6集 第7集 第8集 第9集 第10集 转载于:https://blog.51cto.com/hujieqi126/1088614

※如何给自己的网站添上分享到新浪微博的等分享功能?

分享到新浪微博代码示例: 只要选择以下代码嵌入自己的网页,即可将网站的信息分享到新浪微博。 使用说明: 复制并粘贴下面的JS代码,放到您的网页,可以在网页的任意位置放置。如果您的网站使用的模板,您也可以复制代…

iframe 无权限 不通网站_大型企业网站建设

大型企业网站建设,那么,关于大型企业网站建设还有哪些知识点呢? 网站易用性的定义。网站“易用性”是指在特定情境下,特定使用者使用网页的功能、效率以及他们对网站满意程度的衡量。一旦网站缺乏“易用性”设计或者是“易用性”设…

如何知道一个网站的后台地址_如何设计一个营销型网站

营销型网站并不是通用的设计,需要具体根据你所操作的行业具体分析来设计;行业网站功能需求的满足,网站需要有价值才会有营销咨询;营销在设计操作层面,就是真实案例介绍、服务行业、解决方案、更完善的网站用户体验、用…

JFinal_Blog通过360网站检测平台测试100分!

2019独角兽企业重金招聘Python工程师标准>>> JFinal_Blog通过360网站检测平台测试100分! 截图: 地址:http://webscan.360.cn/task/view/id/13893198965829 (猛戳查看) 转载于:https://my.oschina.net/craz…

python bottle支持https_用python web框架 bottle 开发网站(四)

在第三节我们熟悉并编写了用户登录逻辑,这一节我们要实现用户状态保持,就是判断用户当前的登录状态,我们用加密cookie的方式来实现,在bottle中用response.set_cookie()和requests.get_cookie()来写入和读取用户cookie,…

新网服务器网站后台怎么登陆,新网域名管理后台

在新网域名管理后台的系统中,您只需要拥有域名管理密码,即可以管理域名。域名证书的作用是证明域名所有权。如果您需要对网站进行备案时,需要提供给您的主机空间服务商。所有通过新网注册并交纳相应注册费用的用户均可通过新网域名自助管理平…

基于栅格的网站设计

如今,Grid-based(基于栅格的)网页设计已相当普遍,这意味着网页布局混乱的日子就要终结。尽管还无法用肉眼分辨,但我们的确是步入了有 序和结构化的时代。栅格布局整体趋于匀称,通常会使网页更加整洁美观。同…

html怎么做购物车页面,网站购物车界面(div+css实现)

叮咚网购物车.main{width:100%;height:590px;border:1px solid #000;text-decoration: none;}.top{width:100%;height:52px;border:1px solid #000;}.downMenu{width:100%;height:30px;font:normal normal 20px "宋体";color:#fff;background-color: #000000;}#searc…