4 mhHao

尚未进行身份认证

Talk less, do more.

等级
TA的排名 5w+

Docker 从入门到掉坑系列

Docker 从入门到掉坑Docker从入门到掉坑(二):基于Docker构建SpringBoot微服务Docker从入门到掉坑(三):容器太多,操作好麻烦Docker从入门到掉坑(四):上手k8s避坑指南Docker从入门到掉坑(五):继续挖一挖 k8s...

2020-02-17 13:28:56

秒杀系统架构分析与实战

#0 系列目录#秒杀系统架构秒杀系统架构分析与实战#1 秒杀业务分析#正常电子商务流程(1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货秒杀业务的特性(1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高;#2 秒杀技术挑战# 假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发...

2020-02-15 16:12:49

大型网站架构系列:分布式消息队列

#0 系列目录#大型分布式网站架构大型分布式网站架构技术总结大型网站架构系列:电商网站架构案例大型网站架构系列:负载均衡详解大型网站架构系列:分布式消息队列#1 消息队列概述# 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题。实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有Activ...

2020-02-15 16:11:22

美团技术团队--从ReentrantLock的实现看AQS的原理及应用

前言Java中的大部分同步类(Lock、Semaphore、ReentrantLock等)都是基于AbstractQueuedSynchronizer(简称为AQS)实现的。AQS是一种提供了原子式管理同步状态、阻塞和唤醒线程功能以及队列模型的简单框架。本文会从应用层逐渐深入到原理层,并通过ReentrantLock的基本特性和ReentrantLock与AQS的关联,来深入解读AQS相关独占锁...

2020-02-14 15:16:20

对一致性Hash算法,Java代码实现的深入研究

对一致性Hash算法,Java代码实现的深入研究一致性Hash算法关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法、一致性Hash算法的算法原理做了详细的解读。算法的具体原理这里再次贴上:先构造一个长度为232的整数环(这个环被称为一致性Hash环),根据节点名称的Hash值(其分布为[...

2020-02-06 18:33:54

C++后台开发校招面试常见问题

C++后台开发校招面试常见问题

2020-02-06 18:01:01

关于零拷贝的一点认识

关于零拷贝的一点认识前言从字面意思理解就是数据不需要来回的拷贝,大大提升了系统的性能;这个词我们也经常在java nio,netty,kafka,RocketMQ等框架中听到,经常作为其提升性能的一大亮点;下面从I/O的几个概念开始,进而在分析零拷贝。I/O概念1.缓冲区缓冲区是所有I/O的基础,I/O讲的无非就是把数据移进或移出缓冲区;进程执行I/O操作,就是向操作系统发出请求,让它要...

2020-02-02 18:16:03

当面试官要你介绍一下MQ时,该怎么回答?

一、为什么要使用MQ消息中间件?一个用消息队列的人,不知道为啥用,有点尴尬。没有复习这点,很容易被问蒙,然后就开始胡扯了。回答:这个问题,咱只答三个最主要的应用场景,不可否认还有其他的,但是只答三个主要的,即以下六个字:解耦、异步、削峰1、解耦传统模式:当面试官要你介绍一下MQ时,该怎么回答?传统模式的缺点:系统间耦合性太强,如上图所示,系统A在代码中直接调用系统B和系统C的代码,...

2020-02-01 12:59:52

剑指offer-13.机器人的运动范围

题目描述地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?public class Solution ...

2020-01-30 19:25:32

剑指offer-12. 矩阵中的路径

判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向上下左右移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。public class Solution { private int[][] next = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}}; private int ro...

2020-01-30 18:46:49

RESTful API 设计参考文献列表,可帮助你更加彻底的了解REST风格的接口设计。

RESTful API 设计参考文献列表,可帮助你更加彻底的了解REST风格的接口设计。restfulrest-apirestrestful-apirestapi33 commits2 branches0 packages0 releases4 contributorsMIT@aisuhuaaisuhua Update README.mdLatest commit86...

2020-01-30 12:59:28

【Java进阶面试系列之五】消息中间件集群崩溃,如何保证百万生产数据不丢失?【石杉的架构笔记】

【Java进阶面试系列之五】消息中间件集群崩溃,如何保证百万生产数据不丢失?【石杉的架构笔记】欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!“上一篇讲消息中间件的文章《扎心!线上服务宕机时,如何保证数据100%不丢失?》,初步给大家介绍了一个在生产环境中可能遇到的问题,就是你的消费者服务可能会宕机,一旦宕机,你就需要考虑是否会导致没...

2020-01-29 14:32:44

【Java进阶面试系列之四】扎心!线上服务宕机时,如何保证数据100%不丢失?【石杉的架构笔记】

【Java进阶面试系列之四】扎心!线上服务宕机时,如何保证数据100%不丢失?【石杉的架构笔记】欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!一、写在前面上篇文章「Java进阶面试系列之三」消息中间件在你们项目里是如何落地的?,我们用一个简单易懂的电商场景给大家引入说明了一个消息中间件的使用场景。同时,我们还基于RabbitMQ...

2020-01-29 14:29:50

【Java进阶面试系列之三】哥们,消息中间件在你们项目里是如何落地的?【石杉的架构笔记】

【Java进阶面试系列之三】哥们,消息中间件在你们项目里是如何落地的?【石杉的架构笔记】欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!一、前情回顾之前给大家聊了一下,面试时如果遇到消息中间件这个话题,面试官上来可能问的两个问题:你们的系统架构中为什么要引入消息中间件?系统架构中引入消息中间件有什么缺点?关于这两个问题的回答,...

2020-01-29 14:29:04

【Java进阶面试系列之二】:哥们,那你说说系统架构引入消息中间件有什么缺点?

【Java进阶面试系列之二】:哥们,那你说说系统架构引入消息中间件有什么缺点?欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!一、前情回顾上篇文章「Java进阶面试系列之一」你们系统架构中为何要引入消息中间件?,给大家讲了讲消息中间件引入系统架构的作用,主要是解决哪些问题的。其比较常见的实践场景是:复杂系统的解耦复杂链路的异步...

2020-01-29 14:28:30

Java进阶面试系列之一:哥们,你们的系统架构中为什么要引入消息中间件?

Java进阶面试系列之一:哥们,你们的系统架构中为什么要引入消息中间件?欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!“ 这篇文章开始,我们把消息中间件这块高频的面试问题来给大家说一下,也会涵盖一些MQ中间件常见的技术问题。假如说面试官看你简历里写了MQ中间件的使用经验,很可能会有如下的问题:你们公司生产环境用的是什么消息中间件?为...

2020-01-29 14:27:57

如何保证消息中间件全链路数据100%不丢失(1)【石杉的架构笔记】

**互联网面试必杀:如何保证消息中间件全链路数据100%不丢失(1)【石杉的架构笔记】欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!1、背景引入这篇文章,我们来聊聊在线上生产环境使用消息中间件技术的时候,从前到后的全链路到底如何保证数据不能丢失。这个问题,在互联网公司面试的时候高频出现,而且也是非常现实的生产环境问题。如果你的...

2020-01-29 14:26:25

七张图彻底讲清楚ZooKeeper分布式锁的实现原理【石杉的架构笔记】

七张图彻底讲清楚ZooKeeper分布式锁的实现原理【石杉的架构笔记】欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!一、写在前面之前写过一篇文章(《拜托,面试请不要再问我Redis分布式锁的实现原理》),给大家说了一下Redisson这个开源框架是如何实现Redis分布式锁原理的,这篇文章再给大家聊一下ZooKeeper实现分布式...

2020-01-29 14:24:43

Java工程师如何在1个月内做好面试准备?【石杉的架构笔记】

【金三银四跳槽季】Java工程师如何在1个月内做好面试准备?【石杉的架构笔记】欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!精品学习资料获取通道,参见文末目录一、写在前面二、技术广度的快速准备三、技术深度的快速准备四、基础功底的快速准备五、下篇预告一、写在前面春节长假转眼已过,即将迎来的是一年一度的金三银四跳槽季。...

2020-01-29 14:22:41

请谈谈写入消息中间件的数据,如何保证不丢失?【石杉的架构笔记】

面试官:请谈谈写入消息中间件的数据,如何保证不丢失?【石杉的架构笔记】欢迎关注个人公众号:石杉的架构笔记(ID:shishan100)周一至周五早8点半!精品技术文章准时送上!精品学习资料获取通道,参见文末目录1、背景引入2、Kafka分布式存储架构3、Kafka高可用架构4、画图复现Kafka的写入数据丢失问题5、Kafka的ISR机制是什么?6、Kafka写入的数据如何保证...

2020-01-29 14:20:59

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条Blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周上午根据用户上周周三的博文发布情况由系统自动颁发。