每一名优秀开发者都想成为架构师。架构,又名软件架构,是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。

加载中
置顶
发表了博客
2021/11/30 20:13

RoP重磅发布0.2.0版本: 架构全新升级,消息准确性达100%

## 作者简介: 冉小龙-腾讯云中间件团队研发工程师 Apache Pulsar committer RoP 作者及 Maintainer Apache BookKeeper contributor Apache Pulsar Go client 作者 Apache Pulsar Go Functions作者 StreamNative/pulsarctl 作者 ## 摘要 日前,腾讯云中间件团队联合StreamNative社区正式发布了RoP 0.2.0版本,该版本在架构上全新升级,用户在使用中可以完全避免消息丢失、消息重复消费、只能消费一部分 Partition 的数据等问题。... 展开更多

收藏 0
0
置顶
架构师
发表了博客
2021/11/28 14:24

源码解读:读多写少的Nacos是如何实现高性能设计的?

Nacos是目前比较流行的一款集服务发现和配置管理的中间件,同时支持CP和AP两种模式。Nacos是久经考验的稳定、高性能的服务发现、配置管理的服务。我们在使用一个开源工具时,除了它的外在特性外,往往都想了解它的内在。否则万一出了什么问题,岂是不一脸懵,如果我们对它的代码都非常熟悉,就算出了问题,也是一点不慌。所以,解读开源代码是一项非常重要的技能! 那么如何解读开源代码呢? 先说下本人的做法:望其名,识其义,... 展开更多

收藏 2
1
置顶
发表了博客
2021/11/23 15:30

关于 RocketMQ ClientID 相同引发的消息堆积的问题

首先,造成这个问题的 BUG RocketMQ 官方已经在 **3月16号** 的[这个提交](https://github.com/apache/rocketmq/commit/44736c3760b9caa0aad21b8df7a3e53bebfd07b8)中修复了,这里只是探讨一下在修复之前造成问题的具体细节,更多的上下文可以参考我之前写的 [《RocketMQ Consumer 启动时都干了些啥?》](https://mp.weixin.qq.com/s/O1uCGg48UqFhk_SI5JwDzg) ,这篇文章讲解了 RocketMQ 的 Consumer 启动之后都做了哪些操作,对... 展开更多

收藏 0
1
置顶
发表了博客
2021/11/10 11:23

深入理解RabbitMQ与AMQP协议

## 导语 本文从AMQP协议(Advanced Message Queuing Protocol,高级消息队列协议)、消息功能、消费模型、金融级用法及其他功能点对比等概念介绍对RabbitMQ做了科普, 希望对各位深入理解RabbitMQ有帮助。 ## AMQP协议概念 AMQP协议自身定义了很多概念,下面先对这些概念进行剖析,会更侧重从每个概念实体的作用域、职责范围、从属关系等维度进行介绍。 ![](https://qcloudimg.tencent-cloud.cn/raw/55b9eb794d08907a424a64216... 展开更多

收藏 2
0
置顶
高级程序员
发表了博客
2021/09/27 17:01

Kafka性能篇:为何Kafka这么"快"?

『码哥』的 Redis 系列文章有一篇讲透了 Redis 的性能优化 ——[《Redis 核心篇:唯快不破的秘密》](https://mp.weixin.qq.com/s/8HN1PqqU57Kdz9ERwDY2cw)。深入地从 IO、线程、数据结构、编码等方面剖析了 Redis “快”的内部秘密。65 哥深受启发,在学习 Kafka 的过程中,发现 Kafka 也是一个性能十分优秀的中间件,遂要求『码哥』讲一讲 Kafka 性能优化方面的知识,所以『码哥』决定将这篇性能方面的博文作为 Kafka 系列的开... 展开更多

收藏 7
1
置顶
发表了博客
2021/09/23 08:18

分布式服务下,消息中间件改造

# 一、背景简介 在系统开发初期,很容易出现这样一种情况:不同业务线上开发人员,因为技术栈和版本时间的影响,在选型的时候会优先使用自己熟悉的,例如MQ中间件常用的:Kafka、Rocket、Rabbit等,这样很容易忽略各个项目之间的组件差异问题; 在系统开发中后期,业务相对稳定之后,通常都会对资源占用较高的模块逐步重构,公共服务进行整合管理,从而使系统更具有整体性,在这个过程中,解决不同项目的中间件差异通常首当其冲... 展开更多

收藏 6
0
置顶
发表了博客
2021/09/08 11:43

分布式消息流平台:不要只想着Kafka,还有Pulsar

摘要:Pulsar作为一个云原生的分布式消息流平台,越来越频繁地出现在人们的视野中,大有替代Kafka江湖地位的趋势。 本文分享自华为云社区《MRS Pulsar:下一代分布式消息流平台全新发布!》,作者: Lothar。 Pulsar的前世今生 Apache Pulsar是一个发布-订阅消息系统,使用计算与存储分离的云原生架构。Pulsar 2018年9月成为ASF顶级项目,近两年,随着社区不断发展和诸多企业的应用和贡献,Pulsar作为一个云原生的分布式消息流平... 展开更多

收藏 6
1
置顶
发表了博客
2021/09/05 15:46

七张图了解kafka基本概念

kafka是apache基金会管理的开源流处理平台(官网[http://kafka.apache.org/](http://kafka.apache.org/)),但国内大多数人对其认知基本都是**消息队列**,所以我们先来了解下什么是**消息队列**。 ## 消息队列 ![在这里插入图片描述](https://oscimg.oschina.net/oscnet/up-5b87155cc544f6395465e4707dc4882a44b.png) 消息队列顾名思义就是存储消息的一个队列,消息**生产者(producer)** 往消息队列中投放消息, **消费者(consum... 展开更多

收藏 1
1
置顶
发表了博客
2021/07/12 09:42

NameServer 核心原理解析

在[之前的文章](https://mp.weixin.qq.com/s/6pBlK_h0PEHfFXjXFgqMDQ)中,已经把 Broker、Producer 和 Conusmer 的部分源码和核心的机制介绍的差不多了,但是其实 RocketMQ 中还有一个比较关键但是我们平时很容易忽略的组件——**NameServer**。 在日常的使用中,我们接触的最多的还是 Producer 和 Consumer,而 NameServer 没有直接跟我们有交互。就像 Kafka 集群背后用于其集群元数据管理的 Zookeeper 集群一样,NameServer ... 展开更多

收藏 1
0
置顶
发表了博客
2021/06/29 11:07

Apache Dubbo 3.0.0 正式发布 - 全面拥抱云原生

# 背景 自从 Apache Dubbo 在 2011 年开源以来,在一众大规模互联网、IT公司的实践中积累了大量经验后,Dubbo 凭借对 Java 用户友好、功能丰富、治理能力强等优点在过去取得了很大的成功,成为国内外热门主流的 RPC 框架之一。 但随着云原生时代的到来,以 Apache Dubbo、Spring Cloud 等为代表的 Java 微服务治理体系面临了许多新的需求,包括期望应用可以更快的启动、应用通信的协议穿透性可以更高、能够对多语言的支持更加友... 展开更多

收藏 1
1
置顶
发表了博客
2021/06/24 10:16

Kafka 源码解析:Server 端的运行过程

摘要:Kafka网络模块之Server端,介绍Server端启动、接收请求和处理请求的过程。 本文分享自华为云社区《Kafka网络模块-Server端》,原文作者:中间件小哥 。 SocketServer 是 Kafka server 端用于处理请求的模块,在 Kafka 启动过程创建、初始化、启动。 SocketServer启动过程: 按照 endpoint 顺序初始化 Acceptor,每个 endpoint 对应一个 Acceptor,为每个 Acceptor 创建 Processor(数量由 num.network.threads 配置项决定... 展开更多

收藏 2
0
置顶
发表了博客
2021/06/22 14:51

『假如我是面试官』RabbitMQ我会这样问

### 1. 为什么你们公司选择RabbitMQ作为消息中间件 在消息队列选型时,我们调研了市场上比较常用ActiveMQ,RabbitMQ,RocketMQ,Kafka。 1. RabbitMQ相对成熟稳定,这是我们选择它最主要的原因。 2. 社区比较活跃,有完善的资料可以参考。 3. Rabbitmq的吞吐量可以达到万级,完全满足我们系统的要求。 4. RabbitMQ是Erlang语言开发的,性能比较好。 5. 有完善的可视化界面,方便查看。 ### 2. 消息队列的优点和缺点有哪些 优点有... 展开更多

收藏 7
2
置顶
发表了博客
2021/06/01 13:57

几年前,为什么我撸了一套RabbitMQ客户端?

之前的文章说过,如果使用 RabbitMQ,尽可能使用框架,而不要去使用 RabbitMQ 提供的 Java 版客户端。 细说起来,其实还是因为 RabbitMQ 客户端的使用有很多的注意事项,稍微不注意,就容易翻车。 我是 2013 年就开始用起了 RabbitMQ,一路使用,一路和它一起成长。当时,由于用的早,市面上也没有特别成熟的 RabbitMQ 客户端框架。所以,不得已之下,只好自己做了一套客户端。 在这其中,正好也有了许多独特的经验也和大家分享... 展开更多

收藏 5
2
置顶
发表了博客
2021/05/26 10:53

数栈技术分享:一文带你了解Flink jm、tm启动过程和资源分配

一、JM启动过程 1、从日志角度分析启动流程 1)client生成jobGraph 详情请参考: https://www.bilibili.com/video/BV13K4y1P7ri 2)Yarn RM接收到请求(和yarn交互不重点分析) 3)在被分配的节点上的工作目录下启动launch_container.sh 4)在perJob模式下,最终调用的是YarnJobClusterEntrypoint 5)初始化相关运行环境,打印软件版本、运行环境、命令行参数、classpath 等信息 6)加载flink配置文件、初始化文件系统、启动各种内... 展开更多

收藏 0
0
置顶
发表了博客
2021/05/24 11:34

腾讯宣布开源 RoP:Apache Pulsar 支持原生 RocketMQ 协议

导语:RocketMQ 用户可以无缝迁移到 Apache Pulsar 了。自此,Apache Pulsar 补齐了兼容主流消息队列协议的能力。 我们很高兴地宣布腾讯云中间件开源 RoP!RoP 将 RocketMQ 协议处理插件引入 Pulsar broker,这样 Pulsar 就能支持原生 RocketMQ 协议了。 作者 | 冉小龙 腾讯高级工程师,Apache Pulsar Committer,Apache BookKeeper Contributor ## 什么是RoP ### 什么是高可用性 与 KoP、MoP 和 AoP 相似,RoP 是一种可插拔的协... 展开更多

收藏 1
1
置顶
架构师
发表了博客
2021/05/15 10:18

Kafka技术专题之总体原理和分析介绍(下)

# 前提回顾 > **经过了之前的【Kafka技术专题系列(上)】和【Kafka技术专题系列(中)】的学习,相信您对Kafka的基本原理应该已经有了一个简单的介绍和认识了**,接下来需要对总体做个收尾。下篇结束之后,我会对Kafka所有相关的技术板块做细化,做每一个技术板块做深入和扩展。 # 总体架构 ![](https://oscimg.oschina.net/oscnet/up-ae9f8e70e0bfc04e43fdafaa637cf64441d.png) # 核心优势 **kafka被设计成通用的数据流处理平... 展开更多

收藏 2
1
置顶
发表了博客
2021/04/29 22:43

性能调优篇:困扰我半年之久的RocketMQ timeout exception 终于破解了

在内网环境中,超时问题,网络表示这个锅我不背。 笔者对于超时的理解,随着在工作中不断实践,其理解也越来越深刻,RocketMQ在生产环境遇到的超时问题,已经困扰了我将近半年,现在终于取得了比较好的成果,和大家来做一个分享。 本次技术分享,由于涉及到网络等诸多笔者不太熟悉的领域,如果存在错误,请大家及时纠正,实现共同成长与进步。 ## 1、网络超时现象 时不时总是接到项目组反馈说生产环境MQ发送超时,客户端相关的日... 展开更多

收藏 9
0
置顶
发表了博客
2021/04/28 10:14

深入了解Zookeeper核心原理

之前的文章[Zookeeper基础原理&应用场景详解](https://mp.weixin.qq.com/s/jCmS6VvlFmjm2RWgqlpUqg)中将Zookeeper的基本原理及其应用场景做了一个详细的介绍,虽然介绍了其底层的存储原理、如何使用Zookeeper来实现分布式锁。但是我认为这样也仅仅只是了解了Zookeeper的一点**皮毛**而已。所以这篇文章就给大家详细聊聊Zookeeper的**核心底层原理**。不太熟悉Zookeeper的可以回过头去看看。 ### ZNode 这个应该算是Zookeeper中的... 展开更多

收藏 8
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
返回顶部
顶部