java面试题整理《微服务篇》五

本文介绍如何基于SpringCloud构建能支持百万级访问的秒杀系统,涵盖从前端到后端的技术方案,如Nginx负载均衡、网关安全过滤、业务层分布式集群、Hystrix服务隔离、Ribbon负载均衡、前端页面静态化、Redis分布式锁、MQ削峰填谷及数据库读写分离等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.337.search-card.all.click&vd_source=f8320e19b5b89ca40847ceb3ae450db4https://www.bilibili.com/video/BV1qL411u7eE?spm_id_from=333.337.search-card.all.click&vd_source=f8320e19b5b89ca40847ceb3ae450db4

秒杀系统如何设计?
基于SpringCloud构建秒杀抢购活动,如何才能支持百万级级别以上访问 ?

设计原则:前台请求尽量少,后台数据尽量少,调用链路尽量短,尽量不要有单点

秒杀系统解决方案:

nginx:校验恶意请求,转发请求,负载均衡;
网关:安全过滤(拦截恶意请求)、幂等、高并发、限流、用户频率设计
业务层:分布式集群,多台机器处理,提高并发能力
Hystrix:对秒杀接口实现服务隔离防止雪崩效应
Ribbon:负载均衡,优化资源使用,防止资源的过载
前端:页面资源静态化,按钮控制,使用答题校验码可以防止秒杀器的干扰,让更多用户有机会抢到
redis:实现分布式锁对用户频率限制,集群搭建保证高可用,持久化数据;缓存热点数据(库存);
MQ:异步形式,实现对商品的库存修改,削峰限流,MQ堆积订单,保护订单处理层的负载,
数据库:读写分离,拆分事务提高并发度,使用乐观锁机制(版本号)+库存>0判断防止库存超卖问题
Spring Cloud 是什么?
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
Spring Cloud将各家公司开发的比较成熟的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
优点:低耦合,配置简单,面向服务,前后端分离,团队独立,技术独立,独立部署
缺点:部署困难,数据管理困难(数据库分离)、系统集成测试比较麻烦 、性能的监控比较麻烦
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值