什么是MQ?
## 1.消息队列
1.1 MQ的相关概念
1.1.1 什么是MQ
> MQ(message queue),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已,还是一种跨进程的通信机制,用于上下游传递信息,在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务,使用了MQ之后,消息发送上游只需要依赖MQ,不用依赖其他服务。
1.1.2 为什么用MQ
1.流量消峰
> 举个例子,如果订单系统最多能处理一万次订单,这个处理能力应付正常时段的下单绰绰有余,正常时段我们下单一秒后就能返回结果。但是在高峰期,如果有两万次下单操作系统是处理不了的,只能限制订单超过一万后不允许用户下单,使用消息队列做缓冲,我们可以取消这个限制,把一秒内下的订单分散成一段时间来处理,这时有些用户可能在下单十几秒才能收到下单的操作,但是比不能下单的体验要好。
2.应用解耦
> 以电商应用为例,应用中有订单系统、库存系统、物流系统、支付系统。用户创建订单后,如果耦合调用库存系统、物流系统、支付系统、任何一个系统出了故障、都会造成下单操作异常。当转成基于消息队列的方式后,系统间调用的问题会减少很多,比如物流系统因为发生故障,需要几分钟来修复。在这几分钟的时间里,物流系统要处理的内存被缓存在小心队列中,用户的下单可以正常完成。当物流系统恢复后,继续处理订单信息即可,中单用户感受不到物流系统的故障,提升系统的可用性。
## 什么是 Markdown
Markdown (MD) 是现在普遍使用的一种文档书写语言格式,只需用一些非常简单易记的符号,如(# * / > [] ()\ ),就可以轻松写出一篇具有良好的排版和可读性的文章。
## 语法示例
### 1.基本语法
一些常规的语法格式。
#### 1.1 标题
标题用#+空格表示,不同数量的#可以表示不同的标题
\# Heading 1
\## Heading 2
\### Heading 3
\#### Heading 4
\##### Heading 5
\###### Heading 6
#### 1.2 粗体和斜体粗体
在需要操作的文字前后各加三个“*”
**这个是粗体**斜体:在需要斜体的文字前后各加一个“*”
*这个是斜体*用粗体加斜体:在需要操作的文字前后各加三个“*”
***这个是粗体加斜体***
#### 1.3 删除线删除线语法
在需要删除的文字前后各使用两个符合“~~”~~要删除的文字~~
#### 1.4 引用
符号“>”后面书写文字。示例:
> 这个是引用
#### 1.5 目录
可通过:@\[toc\](目录) 生成目录。
#### 1.6 空行
如需空行,则可\ +回车换行。
### 2.LaTeX公式
LaTeX数学公式有两种:行中公式和独立公式(行间公式)。行中公式放在文中与其它文字混编,独立公式单独成行。
#### 2.1 行内公式
`=mc^2$`
=mc^2$
#### 2.2 独立公式
`$=mc^2$$`
$=mc^2$$
#### 2.3 复杂公式
```language
$$\begin{array}{c}
abla imes ec{\mathbf{B}} -\, rac1c\, rac{\partialec{\mathbf{E}}}{\partial t} &
= rac{4\pi}{c}ec{\mathbf{j}}
abla \cdot ec{\mathbf{E}} & = 4 \pi
ho \
abla imes ec{\mathbf{E}}\, +\, rac1c\, rac{\partialec{\mathbf{B}}}{\partial t} & = ec{\mathbf{0}} \
abla \cdot ec{\mathbf{B}} & = 0
nd{array}$$
```
$$\begin{array}{c}
abla imes ec{\mathbf{B}} -\, rac1c\, rac{\partialec{\mathbf{E}}}{\partial t} &
= rac{4\pi}{c}ec{\mathbf{j}}
abla \cdot ec{\mathbf{E}} & = 4 \pi
ho \
abla imes ec{\mathbf{E}}\, +\, rac1c\, rac{\partialec{\mathbf{B}}}{\partial t} & = ec{\mathbf{0}} \
abla \cdot ec{\mathbf{B}} & = 0
nd{array}$$
更多语法参考:[Markdown 编辑器添加 Latex数学公式教程](https://blog.51cto.com/51ctoblog/2847177)
### 3.代码高亮
#### 3.1 普通
```
*emphasize* **strong**
_emphasize_ __strong__
@a = 1
```
#### 3.2 语法高亮支持
如果在 ``` 后面跟随语言名称,可以有语法高亮的效果,如:
##### 3.2.1 html/xml 代码高亮示例
```html
<meta charset="utf-8"/>
<meta content="IE=edge" http-equiv="X-UA-Compatible"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
Document
<body>