解耦
含义
系统各个模块或组件之间的耦合度降低,使得它们能够独立地进行开发、测试、部署和维护。通过解耦,可以提高系统的可维护性、可扩展性和可重用性。
使用场景
- 将前端和后端分离,通过API接口就行通信,使得前端和后端可以独立开发、测试和部署。
- 使用消息队列解耦生产者和消费者,生产者将消息发送到消息队列,消费者从消息队列中获取消息进行处理,实现解耦和异步处理。
异步
含义
程序中某个操作开始后,不需要等待其完成就可以继续执行下面的操作。异步操作通常使用回调函数,事件触发或者消息传递来实现。
异步操作可以提高系统的响应速度和吞吐量。避免阻塞其他操作。
使用场景
- 在Web开发中,使用异步请求来获取数据,避免页面阻塞,提高用户体验。
- 使用异步IO操作来处理文件读写,可以提高程序的效率,充分利用CPU资源
削峰
含义
系统负载高峰期,通过一定的手段,将负载分在到不同的时间段或不同的资源上,以避免系统因为负载过高而导致的性能下降或崩溃。削峰可以通过增加系统资源、使用负载均衡技术、限流等方式来实现。
削峰可以提高系统的稳定性和可用性,避免因为负载过高而导致的系统崩溃。
使用场景
在实时数据处理系统中,使用消息队列和批处理的方式来平滑处理高峰期的数据,防止系统因为数据量过大而崩溃。