热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Kafka,什么是真正的解耦

今天心情不美丽,放下了手上研究的技术,想跟大家聊2句,关注我肯定不是听我发牢骚的,上点干

今天心情不美丽,放下了手上研究的技术,想跟大家聊2句,关注我肯定不是听我发牢骚的,上点干货。


曾几何时,电脑前,看着视频教程,看老师翻看着英文API,熟练的找着各种资源,羡慕,我何时能跟他一样翻阅各种英文文档,游走在技术之巅。这种感觉套用《电视剧司马懿》的话:“操刀之人”。



如今,我就恬不知耻的称自己是“操刀之人”,技术为我所用,用的也算恰到好处。


真正的解耦


假设一个交易系统,做电话费充值业务。系统分为以下2个步骤处理。

1、扣除用户的钱

2、电话费充值


当第1步处理完成后,往kafka里丢一个消息,用于通知第2步;第2步收到消息并进行话费充值,流程结束。


上面kafka,仅仅是充当了一个异步队列,它的消息是有针对性的发给第2个步骤的


真正的解耦是整个思维的转变,第1步骤,扣完用户的钱后,将订单所有状态发送到kafka,结束,不需要关心谁需要这笔订单。


需要的系统去订阅这个订单,电话费充值系统需要,去订阅,实时对账系统需要,去订阅,清分系统,大数据平台需要,去订阅......


这才是真正的解耦,只需要把自己的最终状态发送给kafka,发送者根本不关心谁是消费者; 需要的进行订阅即可,一笔交易被多个系统同时使用,话费充值平台收取消息进行话费充值,实时对账平台马上就可以进行资金核对,大数据平台也可以拿到做数据分析。


整个庞大的系统变得单纯,松耦合,高效。kafka则成为一个庞大的消息中心,而不仅仅是个异步队列。



推荐阅读
  • 流处理中的计数挑战与解决方案
    本文探讨了在流处理中进行计数的各种技术和挑战,并基于作者在2016年圣何塞举行的Hadoop World大会上的演讲进行了深入分析。文章不仅介绍了传统批处理和Lambda架构的局限性,还详细探讨了流处理架构的优势及其在现代大数据应用中的重要作用。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • Awk是一款功能强大的文本分析与处理工具,尤其在数据解析和报告生成方面表现突出。它通过读取由换行符分隔的记录,并按照指定的字段分隔符来划分和处理这些记录,从而实现复杂的数据操作。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • Jenkins API当前未直接提供获取任务构建队列长度的功能,因此需要通过解析HTML页面来间接实现这一需求。 ... [详细]
  • 本文探讨了有效学习专业技能的方法,包括编程语言、操作系统、软件组件及前沿技术的探索,旨在为初学者提供一套系统的自学指南。 ... [详细]
  • 电商高并发解决方案详解
    本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
  • 腾讯云移动推送TPNS(Tencent Push Notification Service)为APP开发者和运营人员提供了一站式、高效、稳定的推送解决方案,帮助提升用户活跃度和运营效率。 ... [详细]
  • 本文总结了近年来在实际项目中使用消息中间件的经验和常见问题,旨在为Java初学者和中级开发者提供实用的参考。文章详细介绍了消息中间件在分布式系统中的作用,以及如何通过消息中间件实现高可用性和可扩展性。 ... [详细]
  • 对象存储与块存储、文件存储等对比
    看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
  • SDWebImage第三方库学习
    1、基本使用方法异步下载并缓存-(void)sd_setImageWithURL:(nullableNSURL*)urlNS_REFINED_FOR_SWIFT;使用占位图片& ... [详细]
  • RocketMQ在秒杀时的应用
    目录一、RocketMQ是什么二、broker和nameserver2.1Broker2.2NameServer三、MQ在秒杀场景下的应用3.1利用MQ进行异步操作3. ... [详细]
  • 在当今的软件开发领域,分布式技术已成为程序员不可或缺的核心技能之一,尤其在面试中更是考察的重点。无论是小微企业还是大型企业,掌握分布式技术对于提升工作效率和解决实际问题都至关重要。本周的Java架构师实战训练营中,我们深入探讨了Kafka这一高效的分布式消息系统,它不仅支持发布订阅模式,还能在高并发场景下保持高性能和高可靠性。通过实际案例和代码演练,学员们对Kafka的应用有了更加深刻的理解。 ... [详细]
  • 本文详细介绍了数据分析和机器学习的基本流程,包括数据获取、特征工程、模型训练等关键步骤。通过实际案例解析,帮助读者理解如何从原始数据中提取有价值的信息,并构建有效的预测模型。 ... [详细]
author-avatar
菁菁da小姐认_194
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有