[TOC] ## 总体架构 ### 集中式缓存 Redis * 缓存是计算机的难题之一,分布式缓存亦是如此。 * 影响系统的效率、性能和数据一致性的因素 * * 缓存时长(复杂多维度的计算) * * 缓存失效处理(主动更新) * * 缓存键(Hash和方便人工干预) * * 缓存内容及数据结构的选择 * * 缓存雪崩的处理 * * 缓存穿透的处理等 * * Lua计算能力 * * Limit与 Session时间窗口 * * 分布式锁 ### 消息队列 RabbitMQ * 大量数据的堆积能力,再可靠地进行异步输出 * EDA 事件驱动架构的核心,也是CQRS同步数据的关键。 * 比Kafka 的优势, 消息有高可靠性要求,以及对复杂功能(如消息确认)的要求 ### 集中式日志ELK Elasticsearch,Logstash 和 Kibana 简称 ELK * 支持海量数据及与编程语言无关 ### 任务调度Job 任务调度Job如同数据库作业或 Windows计划任务,是分布式系统中异步和批处理 的关键 ### 应用监控 Metrics “没有度量就没有提升”,度量是改进优化的基础,是做好一个系统的前置条件 #### Metrics(java 库) 则用于业务应用级别的监控。 ![UTOOLS1580536378073.png](http://yanxuan.nosdn.127.net/3f3ffcf4e5c75235f917276978fce577.png) #### Zabbix 一般用于系统级别的监控有可监控服务, 可用于监视各种网络服务、服务器和网络机器等状态 Zabbix 也可以经由 SNMP、TCP、ICMP、利用 IPMI、SSH、telnet 对目标进行监视 zabbix监控范畴 * 硬件监控 :Zabbix IPMI Interface * 系统监控 :Zabbix Agent Interface * Java 监控:ZabbixJMX Interface * 网络设备监抟:Zabbix SNMP Interface * 应用服务监控:Zabbix Agent UserParameter * MySQL 数据库监控:percona-monitoring-pldlgins* URL监控:Zabbix Web监控 [参考网址](https://www.cnblogs.com/clsn/p/7885990.html) ![UTOOLS1580535867936.png](http://yanxuan.nosdn.127.net/5f12191437c5eb10b2c93c8c94d88ba6.png) ### 微服务框架MSA ### 搜索服务Solr