前言
其实这篇文章说介绍的和分库分表没有很大的关系,主要是业务流程的完整性。
实际情况
在开发过程中许多重要的操作都会记录日志的。如:谁什么时候下单了、下单成功还是失败等等。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/
往往这些比较重要的信息都会记录到数据库中,而且记录日志的数据库硬件会比正式线上的差很多,因为这种日志数据库目的比较单纯只是为了记录用户行为信息。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/
如果将这些日志信息也变成是事务在程序中的话会严重影响到生产上的性能。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/
解决方案
从业务的角度上看,像这种日志信息并不是那么的重要,被延时插入也是可以接收的。因此我们这边就使用消息队列的方式来记录这些日志。一来可以将日志完整的记录到日志库中,二来能很好的减小对线上的性能。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/
这边具体如何实现就不多少了,在之前的文章中都有提到如何使用kafka,这边就给大家一个思路,扩展一下思维。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/
总的来说消息队列是很有用的。大家可以更具自己的实际情况来选择是否是用消息队列。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/
文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/
昵称:HH
QQ:275258836
ttlsa群交流沟通(QQ群②:6690706 QQ群③:168085569 QQ群④:415230207(新) 微信公众号:ttlsacom)文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/
感觉本文内容不错,读后有收获?文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/
逛逛衣服店,鼓励作者写出更好文章。文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/ 文章源自运维生存时间-https://www.ttlsa.com/mysql/mysql-distributed-database-and-table-other-use-kafka-log/

评论