Java 高并发秒杀-系统优化(重要)
章节目录
- 秒杀系统请求流程图
- 系统性能瓶颈分析与优化思路
- 彩蛋福利
1.秒杀系统请求流程图
如上图所示:
红色部分表示系统可能发生高并发的点
1.用户并发请求秒杀商品详情页信息 2.用户并发获取系统时间 3.用户并发请求地址暴露接口 4.执行秒杀操作
详情页与动态请求的关系
2.系统瓶颈分析与优化
2.1 CDN的理解
CDN(内容分发网络),加速用户获取数据的系统 部署在离用户最近的网络节点上 命中CDN不需要访问后端服务器,减轻后端服务器的压力,对用户快速响应。 互联网公司自己搭建或者租用
2.2 获取系统时间
2.3 秒杀地址接口分析
2.4秒杀操作优化分析
还有一个问题是,一行数据竞争:热点商品,大量更新请求竞争更新同一行数据。
2.5 其他方案分析
2.6 为什么不用 mysql 解决
是什么让mysql低效
瓶颈分析
gc一般持续40-50ms
优化方向-减少行级锁持有时间
延迟分析
延迟分析很关键
系统并发越高,垃圾回收会越频繁。
异地机房
如何判断Update更新库存成功
1.update没有报错 2.客户端确认update影响行数
把SQL全部放置在mysql上执行会更快。减少java 客户端GC以及通信之间的网络干扰。
彩蛋福利
职位:腾讯OMG 广告后台高级开发工程师;
Base:深圳;
场景:海量数据,To B,To C,场景极具挑战性。
基础要求:
熟悉常用数据结构与算法;
熟悉常用网络协议,熟悉网络编程;
熟悉操作系统,有线上排查问题经验;
熟悉MySQL,oracle;
熟悉JAVA,GoLang,c++其中一种语言均可;
可内推,欢迎各位优秀开发道友私信[微笑]
期待关注我的开发小哥哥,小姐姐们私信我,机会很好,平台对标抖音,广告生态平台,类似Facebook 广告平台,希望你们用简历砸我~
联系方式 微信 13609184526

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Yaml入门笔记
什么是yamlYAML是"YAML Ain't a Markup Language"(YAML不是一种置标语言)的递归缩写,早先YAML的意思其实是:"Yet Another Markup Language"(另外一种置标语言),但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名,YAML的官方定义很简单,即一种人性化的数据格式定义语言,其主要功能用途类似于XML或JSON,YAML使用空白字符和分行来分隔数据,且巧妙避开各种封闭符号,如:引号、括号等,以避免这些符号在复杂层次结构中变得难以辨认。YAML的语法与高阶语言类似,可以很简单地表述序列(java中的list)、杂凑表(java中的map)、标量(java中的基本类型等)数据结构,它重点强调可阅读性。 本文内容 image.png YAML的设计目的 容易人类阅读 适合表示程序语言的数据结构 可用于不同程序间交换数据 支持泛型工具 支持串行处理? 丰富的表达能力和可扩展性 易于使用 xml和yaml的代码块: xml代码块: <site> <name>github</na...
- 下一篇
JPA + EclipseLink + SAP云平台 = 运行在云端的数据库应用
JPA(Java Persistence API)的实现Provider有Hibernate,OpenJPA和EclipseLink等等。 本文介绍如何通过JPA + Eclipse连接SAP云平台上的HANA数据库实例。 1. 登陆SAP云平台Cockpit,创建一个新的HANA DB实例: 设置数据库ID和System user的密码。 创建成功后,HANA DB实例状态为CREATING: 稍等片刻后,状态变为STARTED,可用。 2. 接下来就可以开发Java应用通过JPA操作这个云端的数据库实例了。 SAP云平台neo环境的SDK下自带了一个JPA的hello world应用,位于文件夹samples下面,名称为persistence-with-jpa: 直接import到Eclipse里,targeted Runtimes选择为Java Web Tomcat 8: 再将该应用从Eclipse部署到SAP云平台上: 部署成功后,在SAP云平台Cockpit里得到该应用的访问url: 3. 将部署完成的Java应用与第一步创建的HANA DB实例进行绑定: 绑定成功,这样该J...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker安装Oracle12C,快速搭建Oracle学习环境