记一次线上商城系统高并发的优化
对于线上系统调优,它本身是个技术活,不仅需要很强的技术实战能力,很强的问题定位,问题识别,问题排查能力,还需要很丰富的调优能力。 本篇文章从实战角度,从问题识别,问题定位,问题分析,提出解决方案,实施解决方案,监控调优后的解决方案和调优后的观察等角度来与大家一起交流分享本次线上高并发调优整个闭环过程。
【12期】谈谈项目中单点登录的实现原理?
单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环境中可以采用不同的单点登录实现方案来满足需求。 我将以我所遇到的应用环境以及在其中所经历的各个阶段与大家分享,若有不足,希望各位不吝赐教。
最硬核毕业证:带着自己设计的芯片毕业,国科大16级本科生交付「一生一芯」首期成果
近日,五位来自中国科学院大学的 2016 级本科生,带着自己设计的处理器芯片「果壳」正式毕业,这一成果引发媒体热议,被网友称为「最硬核毕业证」。 作为「一生一芯」计划的负责人,中科院计算所研究员包云岗也在社交平台上阐述了本次探索与实践背后的故事。
只需4步,自己搞个 Spring Boot Starter !
只要你用Springboot,一定会用到各种spring-boot-starter。其实写一个spring-boot-starter,仅需4步。下面我们就写一个starter,它将实现,在日志中打印方法执行时间。 第一步 创建maven项目 在使用spring-boot-starter,会发现,有的项目名称是 XX-spring-boot-starter,有的是
【10期】Redis 面试常见问答
解释 1:缓存查询一个没有的 key,同时数据库也没有,如果黑客大量的使用这种方式,那么就会导致 DB 宕机。 解决方案:我们可以使用一个默认值来防止,例如,当访问一个不存在的 key,然后再去访问数据库,还是没有,那么就在缓存里放一个占位符,下次来的时候,检查这个占位符,如果发生时占位符,就不去数据库查询了,防止 DB 宕机。
如何一句话证明你在阿里工作过
每个互联网大厂都有属于自己的文化,一说瑞雪,你就知道这是腾讯的,一说价值观,你就知道这是阿里的。 今天,我们来复盘一下阿里人最常说的口头禅,只要一听到他们说这些话,你就知道这是个不折不扣的阿里人——
我C,原码/反码/补码,我特喵也忘个精光...
本文通过回顾计算机基础,彻底搞懂计算机里的原码, 反码和补码。 并且进行深入探究,为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法。 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助。
想自己搭建服务器,永久运行网站?一个U盘大小的树莓派就够了!
Raspberry Pi(中文名为树莓派,简写为 RPi,(或者 RasPi / RPI) 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于 Linux。随着 Windows 10 IoT 的发布,我们也将可以用上运行 Windows 的树莓派。 自问世以来,受众多计算机发烧友和创客的追捧,曾经一“派”难求。别看其外表“娇小”,内“心”却很强大,视频、
有两个这样的进程:僵尸进程&孤儿进程,蓝瘦香菇
那时刚写文章时候,当时记录的学习笔记,现在看来,之前记录的有一个错误的地方,当时也没察觉到。 写错了就要改嘛,程序员也不能怕错~ 不知道大家看自己几年前的做事情,有的时候有没有一种感觉,这是我做的吗??? 好吧,有点嫌弃当时的自己~ 直接进入正题吧,父子进程之间到底有啥关系?
一手好 SQL 是如何炼成的?
导出日志后分析,主要原因竟然是没有命中索引和没有分页处理。其实这是非常低级的错误,我不禁后背一凉,团队成员的技术水平亟待提高啊。改造这些SQL的过程中,总结了一些经验分享给大家,如果有错误欢迎批评指正。 抛开数据量和并发数,谈性能都是耍流氓。MySQL没有限制单表最大记录数,它取决于操作系统对文件大小的限制。
【08期】说说Object类下面有几种方法呢?
Object有几种方法呢? Java语言是一种单继承结构语言,Java中所有的类都有一个共同的祖先。这个祖先就是Object类。 如果一个类没有用extends明确指出继承于某个类,那么它默认继承Object类。 Object的方法我们在平时基本都会用到,但如果没有准备被忽然这么一问,还是有点懵圈
从零开始搭建创业公司后台技术栈
有点眼晕,以下只是我们会用到的一些语言的合集,而且只是语言层面的一部分,就整个后台技术栈来说,这只是一个开始,从语言开始,还有很多很多的内容。今天要说的后台是大后台的概念,放在服务器上的东西都属于后台的东西,比如使用的框架,语言,数据库,服务,操作系统等等。 整个后台技术栈我的理解包括 4 个层面的内容:
字节跳动一面:i++是线程安全的吗?
volatile关键字保证了在多线程环境下,被修饰的变量在别修改后会马上同步到主存,这样该线程对这个变量的修改就是对所有其他线程可见的,其他线程能够马上读到这个修改后值.# Thread的本地内存 每个Thread都拥有自己的线程存储空间;Thread何时同步本地存储空间的数据到主存是不确定的
高中生写LOL外挂1年狂赚500万,落网前刚买下120万保时捷...
2020年3月,泰州姜堰警方接到一起特殊的报警:一名游戏玩家向民警反映,自己在玩英雄联盟对战时输了,发现对方走位非常奇怪,总能完美躲避己方攻击,怀疑对方使用了游戏外挂软件。 对于报警人提供的线索,民警迅速展开调查,先确定了游戏对方的真实身份。 经询问,对方承认确实用了一款名为“咸鸭蛋”的游戏外挂,并交代是自己在QQ群里从网友“包赢哥”处买的,而且很多群友都买了。
如何一眼识别蚂蚁集团身价千万的阿里人
6年前,阿里巴巴集团上市,估值1600亿美元,成为史上最大IPO,诞生了一位中国首富,还有成千上万个千万富豪 6年后,支付宝母公司蚂蚁集团官宣,启动A+H股上市计划,估值2000亿美元。你们猜,又将诞生多少千万富豪? 从阿里巴巴集团2020财报中看到,全球近12万员工,虽然蚂蚁集团的员工人数没有公布,但可以猜测一下——
Spring Boot+JWT+Shiro+MyBatisPlus 实现 RESTful 快速开发后端脚手架
题外话: 前几天,有不少人问我,有没有基于 SpringBoot 的脚手架项目。今天我就推荐一个基本的框架脚手架,特别是学会使用 jwt + shiro 的权限组合!其实有了 SpringBoot 后,项目搭建的难度一降再降,可还是有人想偷懒,就怕你几年后会后悔!
【07期】Redis中是如何实现分布式锁的?
分布式锁常见的三种实现方式: 数据库乐观锁; 基于Redis的分布式锁; 基于ZooKeeper的分布式锁。 本地面试考点是,你对Redis使用熟悉吗?Redis中是如何实现分布式锁的。
有点牛逼,滴滴开源的分布式id生成系统
Tinyid是用Java开发的一款分布式id生成系统,基于数据库号段算法实现,关于这个算法可以参考美团leaf或者tinyid原理介绍。 Tinyid扩展了leaf-segment算法,支持了多db(master),同时提供了java-client(sdk)使id生成本地化,获得了更好的性能与可用性。
【06期】单例模式有几种写法?
“你知道茴香豆的‘茴’字有几种写法吗?” 纠结单例模式有几种写法有用吗?有点用,面试中经常选择其中一种或几种写法作为话头,考查设计模式和coding style的同时,还很容易扩展到其他问题。 这里讲解几种笔者常用的写法,但切忌生搬硬套,去记“茴香豆的写法”。编程最大的乐趣在于“know everything, control everything”。
【05期】消息队列中,如何保证消息的顺序性?
我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -> mysql)。常见的一点在于说比如大数据 team,就需要同步一个 mysql 库过来,对公司的业务系统的数据做各种复杂的操作。