亿级流量架构实战之秒杀设计
前面已经写了很多亿级流量的文章,中间讲了各种处理思路,这儿将这些思路与业务综合起来,情形一就是秒杀,提到秒杀,很多人都会觉得这是一件技术要求很高的事情,因为这涉及到超大访问量(可能瞬间千万倍的用户访问商品)、维护数据一致性(不能超卖),前者对性能有极高的要求,而后者又正好拉低了性能,本文谈谈秒杀的设
我司“双11”限流方案,进来抄作业!
日常生活中,有哪些需要限流的地方?像我旁边有一个国家景区,平时可能根本没什么人前往,但是一到十一或者春节就人满为患,这时候景区管理人员就会实行一系列的政策来限制进入人流量,为什么要限流呢?假如景区能容纳一万人,现在进去了三万人,势必摩肩接踵,整不好还会有事故发生,这样的结果就是所有人的体验都不好。如
可实操!如何优雅地记录操作日志?
操作日志几乎存在于每个系统中,而这些系统都有记录操作日志的一套API。操作日志和系统日志不一样,操作日志必须要做到简单易懂。所以如何让操作日志不跟业务逻辑耦合,如何让操作日志的内容易于理解,如何让操作日志的接入更加简单?上面这些都是本文要回答的问题。我们主要围绕着如何“优雅”地记录操作日志展开描述,
一文让你通俗理解奇异值分解
导读:今天,小编和大家分享一道关于推荐系统相关的面试题,如何通俗理解奇异值分解?让我们一起来看看如何解析这道题吧。特征值和奇异值在大部分人的印象中,往往是停留在纯粹的数学计算中。而且线性代数或者矩阵论里面,也很少讲任何跟特征值与奇异值有关的应用背景。奇异值分解是一个有着很明显的物理意义的一种方法,它
什么是HTTP请求合并?为什么要合并?
思考路径:为什么要实现batchcall?->减少网络中的传输损耗->如何减少的?->通过合并HTTP请求->合并HTTP请求是如何减少网络损耗的?本文将解决这个问题。一起看看单个请求携载大量信息和多个请求携
select......for update会锁表还是锁行?
select查询语句是不会加锁的,但是select.......forupdate除了有查询的作用外,还会加锁呢,而且它是悲观锁。那么它加的是行锁还是表锁,这就要看是不是用了索引/主键。没用索
常用正则表达式速查手册,建议收藏!
一、校验数字的表达式数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9
为什么阿里强制 boolean 类型变量不能使用 is 开头?
背景平时工作中大家经常使用到boolean以及Boolean类型的数据,前者是基本数据类型,后者是包装类,为什么不推荐使用isXXX来命名呢?到底是用基本类型的数据好呢还是用包装类好呢?例子
如何优雅的捕获所有异步 error?
成熟的产品都有较高的稳定性要求,仅前端就要做大量监控、错误上报,后端更是如此,一个未考虑的异常可能导致数据错误、服务雪崩、内存溢出等等问题,轻则每天焦头烂额的处理异常,重则引发线上故障。假设代码逻辑没有错误,
为什么我总写 Bug ?
总结常见的Bug,帮大家避坑写代码的过程中,难免会出现各种各样的Bug。但实际上,很多Bug产生的原因是类似的。于是我总结了一些自己学编程时写Bug的诱因,希望大家引以为戒,在以后写代码的时候能更多注意。常见Bug诱因汇总中文编码下面是两行最最最简单的Java代码,上面的代码能运行,下面的代码会报错
GET 和 POST请求的本质区别是什么?原来我一直理解错了
GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二。最直观的区别就是GET把参数包含在URL中,POST通过requestbody传递参数。你可能自己写过无数个GET和POST请求,或者已经看过很多权威网站总结出的他们的区别,你非常清楚知道什么时候该用什么
为什么 wait() 方法需要写在while里、而不是if?
为什么是while而不是if?大多数人都知道常见的使用synchronized代码:synchronized(obj){while(check
如何用最快的方式发送 10 万个 http 请求?
假如有一个文件,里面有10万个url,需要对每个url发送http请求,并打印请求结果的状态码,如何编写代码尽可能快的完成这些任务呢?Python并发编程有很多方法,多线程的标准库threading,concurrency,协程asyncio,当然还有grequests这种异步库,每一个都可以实现上
聊聊Unsafe的一些使用技巧
记得初学Java那会,刚学完语法基础,就接触到了反射这个Java提供的特性,尽管在现在看来,这是非常基础的知识点,但那时候无疑是兴奋的,瞬间觉得自己脱离了“Java初学者”的队伍。随着工作经验的积累,我也逐渐学习到了很多类似的让我为之而兴奋的知识点,Unsafe的使用技巧无疑便是其中一个。sun.m
如何让技术大佬失去理智?
“看别人撕逼觉得自己智商高充满欢乐,自己撕时又乐此不疲浑然不知”。在互联网界有两种生物,他们经常邀约吃饭,开会扯淡,他们是产品大佬和技术大佬。他们相信“撕逼才是人类进步的阶梯”,以撕逼为乐。曾经我也天真的相信技术大佬和产品大佬之间可能有纯洁的战友情。但是当多次被技术大佬怼的无地自容之后,我知道了阶级
实现数组去重的 9 种高阶方法
加入高级Node交流群一般的方法此处也不列举了,还是有很多的,如双层循环判断是否相等,或新建数组比较再push等等,需要注意的是,使用splice方法移除元素时,有可能会导致数组塌陷问题,需要处理一下。本文中介绍了多种数组去重的方
你真的会写for循环吗?来看看这些常见的for循环优化方式
来源:blog.csdn.net/csdn_aiyang/article/details/75162134前言我们都经常使用一些循环耗时计算的操作,特别是for循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当将大大提高效率,下面总结几条for循环的常见优化方式。首先,我们初
面试官问: 如何保证 MQ消息是有序的?
为了系统间解耦,我们通常会引入MQ框架,大家各司其职共同完成上下游的业务流程。大致过程:生产端,创建一条消息,通过网络发送到MQServerMQ将消息存储在topic的一个分区里消费端,从分区中拉取消息,消费处理但现实往往不一样!MQ架构设计要满足高并发、高性能、高可用等指标单分
记一次单机系统的性能优化:最后竟是 TCP 的锅
前言这篇文章的主题是记录一次Python程序的性能优化,在优化的过程中遇到的问题,以及如何去解决的。为大家提供一个优化的思路,首先要声明的一点是,我的方式不是唯一的,大家在性能优化之路上遇到的问题都绝对不止一个解决方案。如何优化首先
20 个实例带你玩转 Stream,写的太好了!
先贴上几个案例,水平高超的同学可以挑战一下:从员工集合中筛选出salary大于8000的员工,并放置到新的集合里。统计员工的最高薪资、平均薪资、薪资之和。将员工按薪资从高到低排序,同样薪资者年龄小者在