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

news/2024/5/2 18:22:28/文章来源:https://blog.csdn.net/weixin_33787529/article/details/88619959

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

首先,网站发布一定离不开服务器,就是阿里云的云服务器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_732129.aspx

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

相关文章

网市场云建站 v4.8 增加私有模版库,开放 Mysql 配置、在线客服源码

百度智能云 云生态狂欢季 热门云产品1折起>>> 网市场云建站系统,结合各种产品,将一个网站的服务器成本降低到0.1元!打破传统建站的高成本,让价格不再是阻碍的门槛,让每个人都能有自己的网站! 延…

《WEB开发-阿里云建站》第1章 建站前的准备

1.1 阿里云ECS服务器建站概述 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可以干很多事情,建站只是一小部分功能,关于更加具体的内容请参看阿里云官网。 https://www.aliyun.com/ 图1阿里云EC…

《WEB开发- Web服务器环境搭建》使用花生壳+II7搭建网站服务

1简介 IIS7及以上版本提供的请求-处理架构包括以下内容:  Windows Process Activation Service(WAS)可以让站点支持更多协议,不仅仅是HTTP和HTTPS;  可以通过增加或移除模块来自定义Web服务器引擎;  集成IIS和ASP.NET请求-…

《WEB开发-阿里云建站》第1章 建站前的准备(安装Linux服务器管理工具-宝塔)

这篇博客主要是安装Linux服务器管理工具-宝塔,关于阿里云的购买,域名注册备案,以及WDCP的安装请看我的这篇博客。 点击进入 1.4安装Linux服务器管理工具-宝塔 笔者的阿里云使用的Ubuntu16.04。 环境要求:  操作系统&#xf…

今天和大家分享几个可以接私活的网站(偏软件)(转载21ic)

关于程序员接私活,社会各界说法不一。按照作者的观点来说如果你确实急用钱,价格又合适,那就去做。如果不怎么缺钱,那就接私活之前要好好考虑。私活的钱不好挣是一个方面,更重要的是如果你把做私活的时间花在提升自己上…

ashx文件 验证是否登录_如何在百度站长平台验证网站?

如何在百度站长平台验证网站,验证网站都会遇到哪些坑,通过这篇文章让大家详细的了解一下如何验证网站,希望能帮助到更多小伙伴。那么多人都在使用百度站长平台,可是依然有大部分人不知道如何正确使用百度站长平台工具,…

我的家乡网站模板_韩国留学之 学业计划书amp;自我介绍怎么写?(附模板)

大家好,今天小雯来讲讲韩国留学之申请材料那点事儿~最近,有很多同学来找小雯咨询学习计划书的范文,好像对留学资料无从下手,其实,看似很难的学习计划书和自我介绍,一点都不难。如果学校提供模板就按学校模板…

一个好玩的网站http://patorjk.com/

这是一个特别万能的工具 输入网址: http://patorjk.com/ 将会出现这个: 这里可以做的东西简直太多了! Apps: Visualizations: Games and Misc: 功能众多, 1.我们可以做springboot 的banner自定义, 感觉…

restful接口开发实例_广州开发区网站

广州开发区网站学生荣获第46届世界技能大赛武汉选拔赛一等奖2项、二等奖3项大数据技术与应用主干课程:计算机网络技术、数据库技术应用MySQLs Python程序设计、Linux操作系统、Java程序设计工程数学、数据预处理、数据分析及应用、数据可视化、Hadoopx数据采集与网络…

npm 如何卸载swiper_如何快速搭建个人网站?

作者 l 白色蜗牛来源 l 蜗牛互联网(ID: woniu_internet)转载请联系授权(微信ID: 919201148)近期精彩文章:福利!iPhone 256G免费送前言建网站本身是一个很大的工程,涉及前端页面的搭建,网站数据的存储,还要购置服务器资…

如何用oracle分析网站,使用外部表分析eygle.com的网站访问日志

使用外部表分析eygle.com的网站访问日志经过使用Oracle的外部表对Oracle的警告日志文件、跟踪文件进行获取和分析之后,我发现外部表实在是非常易用,甚至到了随心所欲的境地(当然外部表尚不能修改外部文件)。使用外部表可以很容易的实现网站的访问日志分析…

modelandview跳转页面404_超快排:在百度搜索引擎网站404页面怎么做?

我们平时在百度搜索引擎网站的时候遇到过打开之后是错误页面,这些页面有提示可以返回之前页面和首页。为什么网站会有这样的页面呢?这是因为网站设置了404页面。我们在做百度搜索引擎SEO排名优化的时候,往往只注意网站结构专注与如何排名提高…

asp.net网站作为websocket服务端的应用该如何写

最近被websocket的一个问题困扰了很久,有一个需求是在web网站中搭建websocket服务。客户端通过网页与服务器建立连接,然后服务器根据ip给客户端网页发送信息。 其实,这个需求并不难,只是刚开始对websocket的内容不太了解。上网搜索…

java web 社区_我的第一个javaweb----模仿社区网站(二)

项目分层在写后台之前我给分了四层,每一层负责不同的功能,如图. 前端页面层:也就是浏览器展示给人看的,直接与人交互的界面. servlet层:受理前端页面发来的数据,由它接受前端发来的请求(request)做出不同的…

老榕智能建站软件_教你把网站建设得更好上线了智能建站系统

对于不懂技术、没有太多资金的个人和中小企业来说,要想生成自己的网站,就需要用到智能建站系统。智能建站比较简单,小白也能很快上手,不过这并不意味着你就可以随随便便搭建了。实际上,若想顺利建设出一个有用的网站&a…

vba获取正在运行网站的源码_VBA教程连载——第三节:如何运行宏

宏的运行方式有以下几种:第一种,自我录制运行打开开发工具-自己去录制一个宏,然后给它命名,录制完成后运行。至于具体怎么录制,我们下节课再细谈。注意:内置宏的表格,一般是没法直接保存的&…

html seo 优化,SEO优化中常见的四种html标签作用

对于SEOer来说,在HTML代码中,使用一些标签,更利于搜索引擎蜘蛛的读取,适当布局一些优化标签,可能会有意想不到的结果。下面就列举几个标签的妙用。1.标题标签。在网页html代码中 h1 标签是定义最大的标题。在整个页面中…

Nginx学习四:静态网站部署

文章目录第一步:通过Xftp将ace-master到linux服务器/opt/static目录下,为了演示方便,将名字改为ace第二步:修改nginx.conf配置文件在server中第三步:重启nginx服务器第四步:成功访问测试:通过ht…

php网站怎么做集群,如何构建一个网站集群 - 简庆旺个人博客|PHP教程|PHP学习|Python学习|Python教程|Seo学习|Seo教程...

网站业务大了,可能就需要一个集群,来保障业务的稳定性,我根据自己的学习工作经验,做了下总结。一:DNS负载均衡dns轮询,自动把流量分散到不同的服务器,避免单个服务器挂了。比如用的dnspod&#…

提高网站转化率——页面停留时间与网站停留时间

一、页面停留时间与网站停留时间是如何计算出来的? 假设用户访问了网站的主页(Home)。分析工具将这个访问者标记为一个Visit,接着这个访问者又浏览了另外两个页面(Page2和Page3),然后他离开了你…