阿里二面:现针对一个请求量10000次/s的秒杀系统,说说你的优化思路

阿里二面:现针对一个请求量10000次/s的秒杀系统,说说你的优化思路

高并发下如何设计秒杀系统?这是一个高频面试题。这个问题看似简单,实则考查的是高并发场景下,从前端到后端多方面的知识。秒杀一般出现在商城的促销活动中,以极低的价格(比如:0.1元),让大量用户参与活动,但只有极少数用户能够购买成功。此外任何应用,只要涉及高并发、大流量,都免不了在浏览器层、站点层、服务层、数据层方面下功夫。因此,秒杀系统的调优策略,放在很多分布式系统中都适用。请求超过了系统负载怎么办?如何保证分布式事务中的消息不丢失?什么情况下使用缓存……尤其是想要跳槽、

阅读:923评论:2022-05-15

业务数据治理体系化思考与实践

业务数据治理体系化思考与实践

总第508篇2022年 第025篇美团住宿数据治理团队从事数据治理工作多年,从最初的被动、单点治理,发展到后来的主动、专项治理,再发展到现在的体系化、自动化治理。一路走来,他们不断进行积累和沉淀,也在持续思考与实践。目前该团队取得了一些阶段性的成果,并得到美团多个业务线的认可和肯定。过程的经验与教训,希望能和大家分享,也希望能给从事数据治理工作的同学带来一些新思路。一、序言二、背景介绍三、治理体系化思考3.1 什么是数据治理体系化?3.2 数据治理体系化如何解决目前治理

阅读:4750评论:2022-05-12

虾皮二面:MySQL 支持哪些存储引擎?MyISAM 和 InnoDB 的区别是什么?

虾皮二面:MySQL 支持哪些存储引擎?MyISAM 和 InnoDB 的区别是什么?

你好,我是 Guide。分享一道群友面试虾皮遇到的 MySQL 面试真题。原面试题如下:MySQL 支持哪些存储引擎?如何查看?默认使用哪个?存储引擎基于数据库还是表?MyISAM 和 InnoDB 的区别是什么?如何选择?昨天抽了一晚上对这些问题进行了解答,希望对准备面试以及 MySQL 复习知识点的小伙伴有帮助。马上秋招就来了,最近一直在抽时间更新面试真题(原创不易,有帮助的话,点赞分享就是对 Guide 最大的鼓励):招银网络一面:Spring,Spring MV

阅读:865评论:2022-05-11

一个让MyBatis使用提高100倍效率的开源框架引擎

一个让MyBatis使用提高100倍效率的开源框架引擎

今天给大家介绍一个框架引擎,可能会让你在使用MyBatis时的效率提高个、十、百,对,提高100倍这么多!Bean SearcherBean Searcher是一个专注高级查询的只读ORM,天生支持联表,免 DTO/VO 转换,只要使用得当,一行代码实现复杂列表检索将会成为可能,不再是梦想~截止目前为止,Bean Searcher主要支持的特点有:支持 实体多表映射支持 动态字段运算符支持 分组聚合 查询支持 Select | Where | From 子查询支持 实体

阅读:973评论:2022-05-10

微服务拆分原则之 AKF

微服务拆分原则之 AKF

当我们搭建集群的时候,首先要想明白需要解决哪些问题,搞清楚这个之前,想想单节点、单实例、单机有哪些问题?单点故障容量有限可支持的连接有限(性能不足)......为了解决这些问题,我们需要对服务器进行集群,一变多,具体怎们扩充服务器呢?这儿引入一个概念,微服务设计原则之一——AKF原则微服务拆分原则之AKF首先来看单节点的单点故障这个问题,既然单节点容易挂,那么就可以进行复制,一变多,这儿设计到三个概念,主从、主主、主备,也是三种方式,简单来说,主主相当于多台服务器同时对

阅读:1220评论:2022-04-07

ApiPost:最强大的API接口管理神器

ApiPost:最强大的API接口管理神器

作为一名Java后端开发工程师,对Swagger、Postman、RAP这些工具再熟悉不过了,它们为我们的接口开发工作带来了很多的便捷,不过因为这些都是独立的框架,之间并不存在互通性,因此在多个框架间协调的时候,不可避免的会带来一些重复性的工作,浪费大量的时间。精准简洁的API文档可以推

阅读:628评论:2021-12-24

我开发了世界上最流行的软件,并把100%的公司股份送给了老婆!

我开发了世界上最流行的软件,并把100%的公司股份送给了老婆!

JAVA

世界上使用最广泛的软件是哪个?Windows ? Android?  Office ?都不对!答案是 SQLite !你可能没听说过它,但是它就在你身边的:每一台智能手机中(Android 和iOS)每一台Mac电脑中每一台Windows 10 电脑中每一个主要的浏览器中(Chrome, Firefox, Safari)大部分的机顶盒当中每个PHP和Python安装目录中很多流行的桌面应用(微信、QQ、 DropBox、 Skype、 iMessage、WhatsApp、 Adobe

阅读:919评论:2021-09-01

面试官问: 如何保证 MQ消息是有序的?

面试官问: 如何保证 MQ消息是有序的?

JAVA

为了系统间解耦,我们通常会引入MQ框架,大家各司其职共同完成上下游的业务流程。大致过程:生产端,创建一条消息,通过网络发送到MQ ServerMQ将 消息存储在topic 的一个分区里消费端,从分区中拉取消息,消费处理但现实往往不一样!MQ 架构设计要满足高并发、高性能、高可用等指标单分区,达不到我们的吞吐量要求,我们考虑采用多分区架构设计,正所谓 ”三个臭皮匠赛过一个诸葛亮“,多分区可以有效分摊全局压力,提升整体系统性能。两台 MQ机器,组成一个集群,原先一个分区存储6条消息,现在分摊到两个分

阅读:14280评论:2021-09-01

金融级数据库容灾技术

金融级数据库容灾技术

JAVA

数据库作为信息系统的核心,承担着数据存储和业务逻辑计算等工作,各金融机构信息化部门均应用大量容灾备份手段,用于保障数据库的业务连续性。近年来,随着数据库应用场景日益丰富和数据库的云化趋势显著,金融机构数据库的容灾备份手段和模式也不断迭代更新。本文聚焦金融领域的数据库在灾备方面的技术内容。介绍了容灾与备份的定义、分类,分析了金融机构灾备现状、需求与灾备市场情况,梳理了主流数据库容灾备份技术架构、实现方式与部署方案。原文链接:金融级数据库容灾技术一、容灾备份概述容灾备份简称“灾备”,是指利用科学的技

阅读:3583评论:2021-08-12

【面试题T009-滴滴社招】

【面试题T009-滴滴社招】

滴滴Java社招,面试题分享(难度:中等,价值:高)自我介绍微服务如何实现服务发现与注册,如果某个服务挂掉,如何通知consumermysql脏读、幻读,mysql的联合索引结构熔断限流怎么做的,hystrix内部实现springcloud与springboot有什么区别?springboot如何实现零配置的?spring如何自定义注解?java threadlocal内部实现?如何避免内存泄露redis如何实现的string,这样实现的好处?reids key的过期淘

阅读:489评论:2021-02-13