传统软件开发架构向基于云平台转型之路软件开发

发布时间 :2022-04-29 09:48

传统软件开发架构向基于云平台转型之路--分类:软件开发本文目标本文阐述从传统软件开发架构向基于云平台开发架构发展之路,给传统开发想云原生开发提供参考

网站维护软件开发

架构概述软件开发架构大概分为三个阶段,早期、成长期和稳定器

第一个阶段为早期单体架构,一般服务端+数据库的方式进行开发,采用三层MVC架构进行开发

网站维护

主要特点:企业处于早期,业务比较简单,产品功能比较单一,业务会随时根据运营数据进行调整,对开发人员来说,主要讲不同的功能模块进行划分,能够应对业务随时调整的不确定性

第二阶段成长期,公司公司业务快速成长,DAU可能达到十万,这是时候既要保证业务的稳定运行,又要进行产品的快速迭代

主要特点:前段加速优化,通过CDN等技术让前端的静态资源快速响应客户的操作;水平扩展,让后台服务分布式,需要使用负载均衡实现,但要对负载均衡的分流设计;数据库的优化,主要结构化和非结构数据的设计,以及通过缓存提供数据响应

第三阶段完全分布式架构

这个主要特点:前端和数据都会很大的压力,对业务响应的效率要求就非常高;弹性扩容,系统因需求和用户的增长,会出现波峰与波谷,需要通过弹性扩容更好利用资源;功能服务化,需要将之前功能服务化,比如:微服务设计;早期架构根据早期业务量,我们主要从以下几个方面:技术框架选型、数据存储、缓存选型、静态资源存储

目前来看,前段框架是SMVC,也直接采用前后端分离技术,采用SB+V来开发

数据存储一般采用MSQL,缓存采用R,静态资源通过N实现本地托管

需要说明就是缓存的设计,基本访问路径是:访问缓存-是否命中-命中直接返回-没有命中-数据库查询-缓存更新

高可用可以通过部署多个节点,当一个节点受到异常的时候,还通过其他节点进行相应,基本可以达到个或个.成长期架构这个阶段对用户需求响应上,比如:全文检索、重大活动支持等

架构设计主要分为以下几块,前端系统扩展、无状态服务设计、在线水平扩展、后端系统扩展、系统通信和消息中间件

前端资源因为不变主要通过存储分发,主要通过独立域名或CDN技术实现优化;无状态设计

水平扩展需要条件有:资源快速交付、无状态服务设计、业务性能监控和统一服务入口,实现技术主要是负载均衡,可以采用四层和七层协议分别对不同场景的访问进行转发

后端系统扩展主要实现缓存服务器和数据库的扩展,缓存服务扩展主要有T+S和RCT+S架构RC采用去中心化设计,每个节点都是平行,通过哈希槽来实现划分,新节点时候,使用-工具将其他几点的迁移部分到新节点上面,迁移过程不影响使用

对于数据扩展,前期会通过分库分表来实现,建议分布式库来实现数据库的水平扩展分布式数据库系统通信主要根据场景选择通信协议,有协议、协议和协议

具体差别不在详述

消息中间件主要解决应用耦合、异步投递消息、流量削峰,采用RMQ.这一步可以实现DO进一步提高效率,采用的技术方案J+K

稳定期架构稳定期架构主要对系统功能进行拆分,实现服务分而治之、各司其职、协同工作,共同完成业务逻辑

主要几件事:业务拆分、统一配置、分布式任务

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销公司;服务项目有网站维护、软件开发等



- END -