首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4587289/blog/5001108

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

字节二面:能说说Kafka处理请求的流程么?越详细越好

大家好,我是 yes。 这是我的第三篇Kafka源码分析文章。 今天来讲讲 Kafka Broker端处理请求的全流程,剖析下底层的网络通信是如何实现的、Reactor在kafka上的应用。 再说说社区为何在2.3版本将请求类型划分成两大类,又是如何实现两类请求处理的优先级。 叨叨 不过在进入今天主题之前我想先叨叨几句,就源码这个事儿,不同人有不同的看法。 有些人听到源码这两个词就被吓到了,这么多代码怎么看。奔进去就像无头苍蝇,一路断点跟下来,跳来跳去,算了拜拜了您嘞。 而有些人觉得源码有啥用,看了和没看一样,看了也用不上。 其实上面两种想法我都有过,哈哈哈。那为什么我会开始看Kafka源码呢? 其实就是我有个同事在自学go,然后想用go写个消息队列,在画架构图的时候就来问我,这消息队列好像有点东西啊,消息收发,元数据管理,消息如何持久一堆问题过来,我直呼顶不住。 这市面上Kafka、RocketMQ都是现成的方案,于是乎我就看起了源码。 所以促使我看源码的初始动力,竟然是为了在同事前面装逼!! 我是先看了RocketMQ,因为毕竟是Java写的,而Kafka Broker都是scal...

微服务架构设计之 正确打开方式

简介:近些年随着软件系统架构的发展,我们经历了从单体应用到分布式系统,并且逐步向云原生迈进,而其中微服务架构是最具有代表性,但在微服务设计时又存在各式各样的问题,希望此文能够帮助大家在微服务架构设计时提供思路和指导。 前言&背景 故事开始前先给大家讲一个段子,近些年随着软件系统架构的发展,我们经历了从单体应用到分布式系统,并且逐步向云原生迈进,而其中微服务架构是最具有代表性,但在微服务设计时又存在各式各样的问题,比如微服务拆分粒度过细,服务间调用深度过长,可能就要重新梳理业务考虑进行服务合并,这时就会有人问:“你们为什么把微服务拆了又合?”,你告诉他我们在“建中台”;然后随着业务的快速扩张,资源的利用上hold不住了,又要考虑对系统进行拆解,这时又会有人问:“你们为什么又把微服务合了又拆?”,你告诉他我们在“拆中台”;然后,当然还有然后,拆过之后发现有些服务拆的不合理,可能又要进行合并,此时有人问起:“What the hell are you doing ?”,你可以像一位老者一样回答他:“天下大势,分久必合,合久必分。周末七国分争,并入于秦。及秦灭之后,楚、汉分争,又并入于...

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle

Oracle

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

JDK

JDK

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。