在《深入理解Java类加载机制,再也不用死记硬背了》里我提到了对于一门语言的“会”的三个层次。本篇将以知识地图的形式展现学习消息中间件MQ各个层次要掌握的内容。 知识地图是一种知识导航系统,并显示不同的知识存储之间重要的动态联系。所以本篇重点不是介绍某个知识点,而是介绍掌握消息中间件,需要看哪些文章的导航。 消息中间件MQ会的三个层次与黄金圈法则相对应。 What层:helloworld级别 What层:hello world级别,知道它能做什么。在《RabbitMQ设计原理解析》里详细介绍过,这里再讲一遍。 MQ的主要作用有三个: 1、异步处理 示例一:在《架构师三大难-领域划分问题》的示
在《深入理解Java类加载机制,再也不用死记硬背了》里我提到了对于一门语言的“会”的三个层次。本篇将以知识地图的形式展现学习消息中间件MQ各个层次要掌握的内容。 知识地图是一种知识导航系统,并显示不同的知识存储之间重要的动态联系。所以本篇重点不是介绍某个知识点,而是介绍掌握消息中间件,需要看哪些文章的导航。 消息中间件MQ会的三个层次与黄金圈法则相对应。 What层:helloworld级别 What层:hello world级别,知道它能做什么。在《RabbitMQ设计原理解析》里详细介绍过,这里再讲一遍。 MQ的主要作用有三个: 1、异步处理 示例一:在《架构师三大难-领域划分问题》的示
项目场景实现一个商品秒杀的功能,能后台自定义秒杀时间段、商品库存等信息。一、设计思路这里简单分享下思路:1.限流秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增,由于只有少部分用户能够秒杀成功,所以要限制大部分流量,只允许少部分流量进入服务后端。这里使用基于Redis简单粗暴的限流方案:信号量(Semaphore)信号量就是可以被多个线程同时持有的一种同步对象,比如我设置一个值为5的计数信号量,那么现在有十个线程来获取他就只会有五个可以成功,剩下那五个则获取失败。所以说如果有个计数信号量定义的值是1,那么他其实就等同于mutex(互斥锁)2.具体流程这里首先需要明确如何缓存秒杀的商
项目场景实现一个商品秒杀的功能,能后台自定义秒杀时间段、商品库存等信息。一、设计思路这里简单分享下思路:1.限流秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增,由于只有少部分用户能够秒杀成功,所以要限制大部分流量,只允许少部分流量进入服务后端。这里使用基于Redis简单粗暴的限流方案:信号量(Semaphore)信号量就是可以被多个线程同时持有的一种同步对象,比如我设置一个值为5的计数信号量,那么现在有十个线程来获取他就只会有五个可以成功,剩下那五个则获取失败。所以说如果有个计数信号量定义的值是1,那么他其实就等同于mutex(互斥锁)2.具体流程这里首先需要明确如何缓存秒杀的商