大型电商项目使用的技术是「web项目开发技术」

互联网 2023-02-02 18:20:50

今天给大家普及一下大型电商项目使用的技术是「web项目开发技术」相关知识,最近很多在问大型电商项目使用的技术是「web项目开发技术」,希望能帮助到您。

苏宁易购迎战11.11关于系统拆分

【前提】技术上分析主流程、分离主干系统和枝叶系统、根据业务内聚性独立出主干系统,做到分别部署。业务上分析电商主要功能与重运营特点。

【执行】根据业务功能拆分出几大核心系统,包括:会员、商品、库存、价格、购物车、交易、订单和内容管理等,并组建对应的研发中心来维护;根据交易环节的系统压力,独立出抢购和秒杀系统,拆分出购物券、云钻等营销类的系统,并组建营销中心。

关于基础平台

主攻解决问题

基础架构方面包括自建CDN、云计算和云存储;

通用系统方面包括短信、邮件、验证等系统;

系统集成包方面括系统之间的通讯、统一验证和内部管理系统的统一权限;

中间件方面包括Session共享、分布式调用链、Redis分片存储、数据库的分库分表中间件、统一配置管理和流控;

平台方面:运维监控平台,持续集成平台,大数据分析平台;以及针对安全的风控系统等。

【Tips】

内部通讯方式系统分别选取MYESB和RSF,其中 MYESB是一个安全的集中消息转发服务系统,提供同步和异步两种服务接口。RSF类似阿里的Dubbo,提供远程调用的机制,支持HTTP和TCP通讯服务。

持续交付平台主要包括代码基础框架自动生成、代码质量分析、代码的自动化部署和代码权限管理。

监控平台包括对硬件资源、操作系统、中间件以及业务系统的监控。实时日志系统偏向分析的LogMonitor系统以及针对移动端的监控系统,基于ELK技术, 可以实时监测请求状态、系统错误和进行多维度查询分析;LogMonitor可以统计分析接口最大、平均处理时间和历史接口的性能对比。

关于研发流程

除通过代码走查、sonar平台、各种测试等手段,中心也采用代码飞检来确保代码质量。 代码飞检即定期快速评审系统核心代码。与面向项目组内代码走查不同的是参加代码飞检人员级别相对较高,均为各个系统负责人、架构师以及总监。当各个系统裸露在大家面前的时候,系统的美与丑很容易被区分出来。通过这种方式,发现优秀代码以及幕后高手。意想不到的效果是优秀的人才很快浮出水面,而并非靠挖掘。

流程发布检查单为系统的最后一关,需经过产品负责人、开发负责人、QA、测试负责人、DBA、运维人员、以及线上验证人员对各个环节进行确认,以确保系统上线过程少出问题,即便出现问题也能及时下架。

关于系统保障

【提高系统负载能力】

step 1 : 根据历史数据对双11的流量进行预估,细化到每个系统的PV、UV、峰值TPS,要求每个系统要努力达到这些指标;

step 2 :对目前系统压力、容量和相关指标进行统计,按预期流量判断系统的服务是否满足要求;

step 3 : 对系统进行自上而下的体检,针对体检发现问题制定相关方案。具体体现在对系统架构梳理、关键代码优化以及中间件调优。

【Tips】

架构梳理主要对重点业务的处理流程和处理的链路进行审核。一个系统经常依赖多个系统,一个业务需要多次调用第三方服务,导致流程链相当长。在非必要依赖的前提下,可通过依赖调用改成第三方主动推送数据来消除依赖。

【应急预案】

黑名单:主要是拒绝恶意的系统访问,如:IP黑名单、用户黑名单。

限流:在流量超过系统负载警戒线时,主动丢弃相关的请求,以保全系统,即为限流。限流可通过防火墙流控功能、中间件的流控功能和流控组件来实现。目前采用的流控组件还支持IP、用户、URL三个纬度来控制访问频度,以防止过度请求。

降级:降级可使系统临时承担更大的流量压力,具体策略包括:屏蔽非关键业务的入口、关闭影响性能非关键业务功能、页面静态化、开启验证码策略延缓系统压力、延长缓存的时间牺牲实时性、放弃后端的补偿机制以减少调用链时间等。在多大压力的情况下开启什么的降级策略,需要具体问题具体分析。

后台私信回复(学习)

里面会分享一些资,深架构师录制的视频录像:有SpringBoot,源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源。