中小企业阿里云服务架构漫谈(三)-发展期

2024-04-17 23:08

本文主要是介绍中小企业阿里云服务架构漫谈(三)-发展期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目发展期(100<并发<1000)

前文链接:

中小企业阿里云服务架构漫谈(一)

中小企业阿里云服务架构漫谈(二)

 

当业务正常上线后,随着线上业务的成长,初期的架构到达一定的瓶颈,应用产生越来越多的访问量、并发慢慢增加,服务器的CPU、磁盘存储空间压力都会随之增加,这个时候我们就会考虑做一些服务器扩容的工作。

对于网站的入口压力最大的问题就是并发量的负载均衡,通常的QPS的计算方式为二八定律,这个定律适用于一般的所有的业务场景,但实际业务中会有一定出入。例如在股票行业中,每天9.30左右前后15分钟是访问最高点,电商类行业在爆品活动抢购,或者广告高投入时为最高点,而12306在春运时放票特定时间时也是最高点。

当然,如果在业务能力达到春运火车票的体量时,本文也就不再适用了。

先上系统结构图,再进行说明吧!如下图所示:

 

架构图
标题

在负载部分,前文简单提到过ssl证书绑定阿里云SLB服务时会产生访问低效问题,本文建议使用Nginx进行负载和反向代理的处理,对于负载服务器的要求是满足并发要求,CPU和内存较为重要。初期可以将负载均衡部署在主应用服务器,减少服务器成本。https是现有网站的标准配置,在前期可以使用阿里云的免费证书,无费用增加项,如何配置证书现在网上资料较多,本文中不再叙述。

结构图中涉及到的一些组件我将一一进行说明:

日志服务,阿里云的日志服务是相当强大的,同步的方式也有很多,一般的日志存放会习惯性放于日志文件或者缓存当中。曾经在12年时做过一个项目,当初为了做一个广告数据分析系统,采用lua进行日志收集,并存放到redis当中,再按分钟级进行数据读取写入到db中,这样对硬件资源配置非常之高,而且效率其实并不高。在Elasticsearch应用更广之后,大家开始习惯将日志推送到其中,一是便于保存,二是便于查询。并可以搭配Kibana进行日志的查询搜索和二次分析,有兴趣的可进行研究一下。但是在云服务中更推荐使用阿里云的日志服务,成熟的控件,强大的分析机制,数据保存机制,其实都会比elk更加强大和稳定。并且在大数据分析上,日志存放到OSS中后,更是可以接入MaxComputer进行二次分析。

OSS作为日志存放,比传统的云磁盘储存在费用和访问速度上更快,相比于一般的图片服务器,我较为推荐。在后期配合CDN加速上也是神器之一。

MaxCompute是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使您可以经济并高效的分析处理海量数据。这块内容相当多,如果有兴趣可以去阿里云产品官网查询,后面如果有时间我可以考虑出一套此类的学习教程。

在业务应用最大的压力来源于数据库的读取,这也是服务压力的主因之一,拿PHP开发语言来说,查询mysql的瓶颈尤为严重,并发数一旦过高数据量过大时,查询效率就不能再得到保证。按二八原则,80%应用的业务的访问集中在20%的数据上。比如淘宝买家浏览的商品集中在少部分成交多、评价良好的商品上;百度搜索关键词集中在少部分热门词汇上。既然大部分的业务访问集中在一小部分的数据上,那么如果把这小部分数据缓存在内存中,是不是就可以减少数据库的访问压力了,提升整个网站的数据访问速度,改善数据库的读写性能了呢?答案肯定是的!

网站使用缓存可以分为两种:缓存在应用服务器上的本地缓存和缓存在分布式缓存服务器上的远程缓存。本地缓存的访问速度更快一些但是受应用服务器的内存限制,其缓存的数据量有限,而且会出现和应用程序挣用内存的现象,影响应用程序运行速度,甚至造成服务器死机。远程分布式缓存可以使用集群的方式,

阿里云Redis中其实已经包含了各种节点,主从集群等等。这一步的升级只用将原来云服务器中的redis进行迁移切换到阿里云Redis中,再根据实际储存大小进行选取配置就可以了,所以阿里云Redis适用于远程集群缓存。

如果涉及本地化数据缓存其实也可以在应用服务器搭建应用服务器中搭建本地化缓存,加快缓存读取速度,减小集群缓存压力。

Ps:阿里云多节点会在使用PHP-laravel-Queue中出现问题,请注意避免,原因应该是数据同步的问题。

常见的NoSql缓存有memcache,redis等。PHP的缓存也有Cpcode等等。其它缓存可以根据实际需求开启。

数据库这一部分只用根据应用场景升级配置就行了,可选多节点、集群、储存服务器CPU和硬件,这里就不再啰嗦。

也许有些人会问,为什么在初发展阶段将业务结构设计得如此复杂?

项目在初始阶段是最干净的阶段,很多公司在业务后期进行架构规划,包含数据维护,数据迁移,服务运维,后期如果进行大调整的话所要付出的代价将会非常之大。图中所演示的内容是只提供了一个思路,在实际应用中,只用做到应用与业务分离,组件与组件分离,功能上解耦就能大大降低后期重构或者扩展的成本。

这篇关于中小企业阿里云服务架构漫谈(三)-发展期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913113

相关文章

mybatis的整体架构

mybatis的整体架构分为三层: 1.基础支持层 该层包括:数据源模块、事务管理模块、缓存模块、Binding模块、反射模块、类型转换模块、日志模块、资源加载模块、解析器模块 2.核心处理层 该层包括:配置解析、参数映射、SQL解析、SQL执行、结果集映射、插件 3.接口层 该层包括:SqlSession 基础支持层 该层保护mybatis的基础模块,它们为核心处理层提供了良好的支撑。

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

基于SpringBoot的宠物服务系统+uniapp小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统+原生微信小程序+LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统+LW参考示例 3.基于SpringBoot+Vue的企业人事管理系统+LW参考示例 4.基于SSM的高校实验室管理系统+LW参考示例 5.基于SpringBoot的二手数码回收系统+原生微信小程序+LW参考示例 6.基于SSM的民宿预订管理系统+LW参考示例 7.基于

创业者该如何设计公司的股权架构

本文来自七八点联合IT橘子和车库咖啡的一系列关于设计公司股权结构的讲座。 主讲人何德文: 在公司发展的不同阶段,创业者都会面临公司股权架构设计问题: 1.合伙人合伙创业第一天,就会面临股权架构设计问题(合伙人股权设计); 2.公司早期要引入天使资金,会面临股权架构设计问题(天使融资); 3.公司有三五十号人,要激励中层管理与重要技术人员和公司长期走下去,会面临股权架构设计问题(员工股权激

【系统架构设计师】黑板架构详解

黑板架构(Blackboard Architecture)是一种软件架构模式,它模仿了多个专家系统协作解决问题的场景。在这种架构中,“黑板”作为一个中央知识库,存储了问题的当前状态以及所有的解决方案和部分解决方案。黑板架构特别适合于解决那些没有确定算法、需要多个知识源(或称为“专家”)共同作用才能解决的复杂问题。 一、黑板架构的组成 黑板架构主要由以下几个部分组成: 黑板(Blackboa