网站的可扩性展架构

news/2024/5/15 13:20:25/文章来源:https://blog.csdn.net/weixin_34297704/article/details/92404349

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

扩展性(Extensibility) - 指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。表现在系统基础设施稳定不需要经常变更,应用之间较少依赖和耦合,对需求变更可以敏捷响应。它是系统架构设计层面的开闭原则(对扩展开放、对修改关闭),架构设计考虑未来功能扩展,当系统增加新功能时,不需要对现有系统的结构和代码进行修改。

伸缩性(Scalability) - 指系统能够通过增加减少自身资源规模的方式增减自己计算处理事务的能力。如果这种增减是成比例的,就被称作线性伸缩性。在网站架构中 ,通常指利用集群的方式增加服务器数量、提高系统的整体事务吞吐能力。

1. 构建可扩展的网站架构

低耦合的系统更容易扩展、复用。

设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提高模块的复用性。

分层和分割不仅可以进行架构伸缩,也是模块化设计的重要手段,利用分层和分割的方式将软件分割为若干个低耦合的独立的组件模块,这些组件模块以消息传递及依赖调用的方式聚合成一个完整的系统。

在大型网站中,这些模块通过分布式部署的方式,独立的模块部署在独立的服务器上,从物理上分离模块间的耦合关系,进一步降低耦合性提高复用性。

2. 利用分布式消息队列降低系统耦合性

2.1. 事件驱动架构

事件驱动架构通过在低耦合的模块间传输事件消息,以保持模块的松散耦合,并借助事件消息的通信完成模块间合作。典型的事件驱动架构就是操作系统中常见的生产者消费者模式。在大型网站中,最常见的实现手段就是分布式消息队列。

2.2. 分布式消息队列

消息生产者应用程序通过远程访问接口将消息推送给消息队列服务器,消息队列服务器将消息写入本地内存队列后立即返回成功响应给消息生产者。消息队列服务器根据消息订阅列表查找订阅该消息的消息消费者应用程序,将消息队列中的消息按照先进先出(FIFO)的原则将消息通过远程通信接口发送给消息消费者程序。

%E5%88%86%E5%B8%83%E5%BC%8F%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97%E6%9E%B6%E6%9E%84%E5%8E%9F%E7%90%86.png

在伸缩性方面,由于消息队列服务器上的数据可以看作是即时处理的,因此类似于无状态的服务器,伸缩性设计比较简单。将新服务器加入分布式消息队列集群中,通知生产者服务器更改消息队列服务器列表即可。

在可用性方面,为了避免消费者进程处理缓慢,分布式消息队列服务器内存空间不足造成的问题,如果内存队列已满,会将消息写入磁盘,消息推送模块在将内存队列消息处理完成以后,将磁盘内容加载到内存队列继续处理。

3. 利用分布式服务打造可复用的业务平台

分布式服务则通过接口分解系统耦合性,不同子系统通过相同的接口描述进行服务调用。

大型网站分布式服务的需求与特点:

  • 负载均衡
  • 失效转移
  • 高效的远程通信
  • 整合异构系统
  • 对应用最少侵入
  • 版本管理
  • 实时监控

4. 可扩展的数据结构

传统的关系型数据库为了保证关系运算的正确性,在设计数据库表结构的时候,就需要指定表的 schema ——字段名称,数据类型等,并要遵循特定的设计范式。这些规范带来一个问题:难以面对需求变更带来的挑战,所以有人通过预先设计一些冗余字段来应对。

许多 NoSql 数据库使用 ColumnFamily 设计来设计可扩展的数据结构。

转载于:https://my.oschina.net/u/3728792/blog/3044354

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

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

相关文章

最简洁有效的Web服务监控架构图(网站长们最实用的监控方法)

最简洁有效的Web服务监控架构图(网站长们最实用的监控方法)将监控复杂问题,简单化。背景:源于我想知道几个网站一天24小时,运行的状态,是否都是可以访问状态。同时能知道服务器有无宕机,不能访问…

以WordPress为例 教你如何把传统网站搬到云上

作者:周光辉 在云计算出现以前,大部分传统互联网的开发者的做法是自己购买服务器,寻找托管机房,自己安装数据库,服务器和数据库的维护任务也由自己承担。这些 做法给用户带来了巨大的硬件成本以及人力成本。并且当数据…

利用Google爬虫DDoS任意网站

提醒:以下内容仅供安全测试及教学参考,禁止任何非法用途 Google的FeedFetcher爬虫会将spreadsheet的image(“link”)中的任意链接缓存。 例如: 如果我们将image(“http://example.com/image.jpg”)输入到任意一个Google spreadsheet中&#x…

优秀的免费高清图片素材网站推荐

对于网页设计师和平面设计师来说,图片素材是十分重要的,特别是无版权限制的素材。 虽然目前国内有很多素材下载站,但是大部分都没有版权描述,这样会让用户不知道是否可以免费使用这些素材。 但是没关系,今天为大家整理…

网站会员整合ucenter 实现多站点同步登录方法

之前简单的写过一篇的用户注册整合ucenter的文章,因为写的很简洁,很多童鞋都看的不是很明白,也收到了很多童鞋的问题邮件。前几天因为公司的几个 网站需要做同步登录功能,因此就用到了ucenter作为中间桥梁。现在很多开源的cms系统…

网站迟迟不被收录,竟然是这个坑

背景 最近写了个网站,想提交被百度收录。但是两个月了百度迟迟没有收录,后来排查并优化了网站内容、标题、关键字等各种内容。但是失踪没有被收录,今天发现竟然是这个小问题导致网站迟迟不被收录。大家一起看下。 百度提示有禁用 由于该网…

UI技术常用网站汇总

图标库 阿里巴巴 矢量图标库 https://www.iconfont.cn/ 字体图标库 http://www.fontawesome.com.cn/faicons/ 渐变配色库 https://webgradients.com/ https://uigradients.com/#Magic 前端学习资料: 后盾人 https://www.houdunren.com/edu/front/system?sid1…

一个人,一个网站,5.75亿美元卖掉

导语:这才是创业,才是真正的脚踏实地,才是真正的生意。 一个人,24岁时写了一个网站,每天只工作2小时,他还嫌工作量太大。他每天从谷歌广告赚好几万美元,不用合伙人,从来也不融资&…

WordPress 安装自己的网站

提前准备一个数据库,空白的就可以, 数据库用户名,密码 下载WordPress, 只需要内层的主目录,不要包含到几层目录内放到目录访问 域名/ 或者ip/文件夹名称, 自动进入安装提示特别注意: 阿里云和本地windows安…

Google的全新在线地图API演示网站 - More than a map

为什么80%的码农都做不了架构师?>>> 日期:2012-10-28 来源:GBin1.com More Than A Map是Google最新上线的Google地图API使用的演示网站,提供了丰富的Google Maps API的使用。 包括一下几个方面的功能展示&#xff…

[1line]用wget镜像网站

2019独角兽企业重金招聘Python工程师标准>>> 最近收藏了一些老站点,是那些很久不更新,但是又有很多资源的站。 光是收藏感觉还不靠谱,谁知道哪天她们就突然消失了,所以决定镜像一下。 比如我要镜像www.oschina.net&a…

恶意软件如何通过网站感染用户

2019独角兽企业重金招聘Python工程师标准>>> Google 宣布,每天有 9,500 个感染了恶意软件的网站有可能会损害网站的访问者。了解恶意软件如何感染网站以及如何防止这样的感染有助于保证您的访问者的计算机不受恶意软件侵扰。 多年来,恶意软件…

基于网页自动化Selenium IDE的安装与部署 图书馆选座、网站防休眠、自动点击等

基于网页自动化Selenium IDE的安装与部署一. Selenium IDE的简介、安装与使用1. 什么是Selenium IDE?2. Selenium IDE的安装和使用3. 导出内容的分析二. 服务器端的相关部署1. python环境的部署2. 安装浏览器3. 安装selenium环境4. 安装selenium时可能遇到的问题三. 服务器端网…

收录最好的网站是哪个?

全网都在找:百度排名哪个网站做得最好,20年的优化技术告诉你怎么做排名_如今关键词优化已经成为了大部分站长提高网站排名的方法,能够让更多的用户通过关键词进入到网站,然后了解企业及企业的产品或服务,从而促进交易&…

百度快速收录服务(新网站长期不收录都可以优化)

2周多的测试,快速收录能达到85%以上做到百度收录,基本都是第二天收录。不收录全额退款,欢迎联系。 目前开通百度快速收录权限,只能通过百度小程序方式获取,目前获取要求是:站点关联智能小程序,成…

你的网站或许不需要前端构建

本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0) 本文作者: 苏洋 创建时间: 2019年05月27日 统计字数: 8760字 阅读时间: 18分钟阅读 本文链接: https://soulteary.com/2019/05/…

独立官网建设SEO优化指南,刚学搭建卖家商城网页也能获取免费流量

独立官网建设SEO优化指南,新手搭建卖家商城网页也能获取免费流量! 大家好,欢迎观看USB自建站平台跨境电商讲堂,今天这期视频主要内容就是来分享独立这样的CEO优化指南,可能很多卖家会觉得店铺或者网站已经做了Faceboo…

织梦程序的网站文章可以一键迁移到人人站吗?

织梦程序的网站文章可以一键迁移到人人站吗? 织梦转人人站 - 模板数据无缝对接(增强版) 一键将织梦内容转移到人人站,一键转移织梦模版到人人站。 安装使用和原转移插件一致,详情查看: 任意安装一套人人…

SEO优化论坛让我懂了没团队经验,看如何制作短视频赚钱一天20元

SEO优化论坛让我懂了没团队经验,看如何制作短视频赚钱一天20元 都知道短视频博主特赚钱。 可是咱们自己一没经验。 二没团队。 连做什么内容都没人告诉我。 也想过找人知道,但是肯定得花钱,花钱倒是不怕,关键是没效果怎么办&…

独立站建设 新网站几个页面上线比较好?

独立站建设 新网站几个页面上线比较好? 昨天直播的时候有朋友问网站上线的时候应该是多少个页面,可能效果比较好。 如果你的网站是10个网页刚上线了,你觉得谷歌会对你的 网站有多少信任值呢? 就是当我们一个网站上线之前&#xff…