本文源码:GitHub·点这里 || GitEE·点这里
<code>更新进度(共6节):</code>
01:项目技术选型简介,架构图解说明
02:业务架构设计,系统分层管理
03:数据库选型,业务数据设计规划
04:中间件集成,公共服务管理
中间件是基础软件的一类, 属于复用性极高的软件。处于操作系统软件与应用程序的之间。是一种独立的系统软件,也可以是公共的服务程序,分布式架构系统借助中间件,可以在不同的技术之间共享资源,或者不同的服务直接传递信息。中间件位操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件,例如:
消息队列中间件,在两个服务之间进行异步的消息传递;
数据缓存中间件,缓存整合系统的热点数据,提高程序的响应速度;
Nginx中间件,提供负载均衡,服务代理,等功能;
公共服务,顾名思义就是系统内通用的服务,例如用户身份验证,消息发送,监控预警,网关服务等。

该案例的中间件和公共服务,都是基于<code>Feign</code>接口统一的方式提供服务。
<code>RocketMq</code>简介
<code>RocketMq</code> 是一款分布式、队列模型的消息中间件,有两个核心角色:消息生产者和消息消费者。作为高并发系统的核心组件之一,能够帮助业务系统解构提高系统稳定性。
应用流程
消息生产者
消息消费者
提供<code>Feign</code>接口
<code>Redis</code>简介
<code>Redis</code> 是一个基于内存的高性能<code>key-value</code>数据库。对高并发系统提供各种场景的支撑:热点数据缓存,计数器,流量削峰等。
封装操作方法
提供<code>Feign</code>服务
<code>ES</code>搜索简介
<code>ElasticSearch</code>是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于<code>RESTful</code>的 web接口。是当前流行的企业级搜索引擎。
<code>Quartz</code> 简介
<code>Quartz</code>是由<code>Java</code>编写的开源任务调度的框架,通过触发器设置作业定时运行规则,控制任务的执行时间。其中<code>quartz</code>集群通过故障切换和负载平衡的功能,能给调度器带来高可用性和伸缩性。
<code>Token</code>服务简介
通过一个公共的<code>Token</code>管理服务,对访问系统的用户身份做管理:身份令牌创建,校验,刷新等。
<code>Msg</code>服务简介
在一个复杂的系统中,消息通知是一个必备模块,一般封装方式主要从下面两个方式入手,消息类型:用户消息,系统消息等,消息接收方式:邮件,短信,应用端等。
封装邮件发送