前言

关于为什么要有分布式锁这个东西,欢迎阅读我的zk分布式锁的实现,介绍了单机高并发、分布式高并发的解决方案:

用ZooKeeper实现分布式锁

这里再切入本例将使用的场景模拟:商品秒杀,或者说高并发下,对于商品库存扣减操作。我用一个SpringBoot小项目模拟一下该操作。

本例用到的技术栈:

  • SpringBoot
  • Redis
  • etcd

在正式肝代码之前,先来对etcd分布式锁实现的机制和原理做一个了解。

基础

JAVA基础

linux系统怎么重新启动Java服务 linux重启java服务命令_面试

JAVA集合

linux系统怎么重新启动Java服务 linux重启java服务命令_设计模式_02

JAVA多线程并发

linux系统怎么重新启动Java服务 linux重启java服务命令_面试_03

网络

linux系统怎么重新启动Java服务 linux重启java服务命令_linux系统怎么重新启动Java服务_04

数据结构与算法

linux系统怎么重新启动Java服务 linux重启java服务命令_设计模式_05

框架

Spring

linux系统怎么重新启动Java服务 linux重启java服务命令_linux系统怎么重新启动Java服务_06

SpringMVC

linux系统怎么重新启动Java服务 linux重启java服务命令_设计模式_07

MyBatis

linux系统怎么重新启动Java服务 linux重启java服务命令_后端_08

设计模式

linux系统怎么重新启动Java服务 linux重启java服务命令_面试_09

分布式

负载均衡

linux系统怎么重新启动Java服务 linux重启java服务命令_linux系统怎么重新启动Java服务_10

Zookeeper

linux系统怎么重新启动Java服务 linux重启java服务命令_设计模式_11

Redis

linux系统怎么重新启动Java服务 linux重启java服务命令_面试_12

MQ/kafka

linux系统怎么重新启动Java服务 linux重启java服务命令_设计模式_13

微服务

Netty与RPC

linux系统怎么重新启动Java服务 linux重启java服务命令_后端_14

Spring Boot

linux系统怎么重新启动Java服务 linux重启java服务命令_linux系统怎么重新启动Java服务_15

Spring Cloud

linux系统怎么重新启动Java服务 linux重启java服务命令_java_16

Dubbo

linux系统怎么重新启动Java服务 linux重启java服务命令_后端_17

调优

MySQL

linux系统怎么重新启动Java服务 linux重启java服务命令_后端_18

JVM

linux系统怎么重新启动Java服务 linux重启java服务命令_后端_19

Tomcat

linux系统怎么重新启动Java服务 linux重启java服务命令_设计模式_20

言尽于此,完结

无论是一个初级的 coder,高级的程序员,还是顶级的系统架构师,应该都有深刻的领会到设计模式的重要性。

  • 第一,设计模式能让专业人之间交流方便,如下:

程序员A:这里我用了XXX设计模式

程序员B:那我大致了解你程序的设计思路了

  • 第二,易维护

项目经理:今天客户有这样一个需求…

程序员:明白了,这里我使用了XXX设计模式,所以改起来很快

  • 第三,设计模式是编程经验的总结

程序员A:B,你怎么想到要这样去构建你的代码

程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题

  • 第四,学习设计模式并不是必须的

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

linux系统怎么重新启动Java服务 linux重启java服务命令_设计模式_21

从设计思想解读开源框架,一步一步到Spring、Spring5、SpringMVC、MyBatis等源码解读,我都已收集整理全套,篇幅有限,这块只是详细的解说了23种设计模式