《左耳听风》 学习笔记 day10

107 阅读3分钟

大家好,我是砸锅。一个摸鱼八年的后端开发。熟悉 Go、Lua。今天和大家一起学习架构😊

异步处理是提高系统弹性和吞吐量的重要技术之一,其中事件驱动和事件溯源是关键技术。但是,在异步处理中可能会存在一些问题,比如消息丢失或未处理。为避免这些问题,需要使用异步通知,并在任务处理完成后向任务发起方回传状态。同时,发起方需要进行“对账”操作,对于超时未回传状态的任务,则需要支持幂等性处理以便重新处理。在处理任务时,由于异步处理无法知晓任务处理是否成功,因此需要考虑任务的整体业务事务问题以及回滚可能存在的问题。对于不适合异步处理的业务场景,需要进行仔细分析,一般情况下异步通讯并不需要强一致性。在异步处理系统的运维中,任务队列中的任务积压情况需要得到监控和处理,如果任务无法快速地进行扩容,需要进行前端流量限流等操作。异步处理的本质是将被动的任务处理变为主动处理,并进行任务调度和管理。总体来说,异步处理是一个强大的技术,需要涉及多种设计方案和技术,并需要进行综合考虑。 除了以上提到的异步技术和注意事项,还有一些可以扩展的方向:

异步API设计:在设计异步API时,需要关注执行完成后的回调机制,处理请求的地址和端口,用户身份验证等问题。

监控和日志记录:为了保证异步处理的稳定性,需要对系统进行监控和日志记录。通过对错误日志和性能日志的分析,可以提高系统的稳定性和可用性。

异步消息队列:异步消息队列是一种用于解耦和分布式处理的机制,并能够提高系统的吞吐量。需要注意的是,在使用时需要选择可靠的消息队列,并确保信息传输过程中的幂等性和排队机制的正确性。

分布式处理:在分布式处理中,异步技术也扮演着重要的角色。需要考虑分布式环境下的通信机制、任务分配和协调等问题。

云计算:随着云计算的不断发展,异步处理技术也被应用于云计算方向。需要考虑虚拟化环境的限制和安全性问题,并选择优化的云计算平台和相关技术。

综上所述,异步处理是一个多方面的技术,需要综合考虑和选择合适的方案和技术。在实际设计和应用中,需要密切关注性能、安全性和稳定性等问题,并加以解决。

此文章为4月Day1学习笔记,内容来源于极客时间《左耳听风》 这门课真的非常好,推荐大家看看