网站首页 返回列表 “慢生活”不是懒惰,放慢速度不是拖延时间,而是让我们在生活中寻找到平衡。
golang-nsq系列(一)--初识
`nsq`最初是由`bitly`公司开源出来的一款简单易用的分布式消息中间件,它可用于大规模系统中的实时消息服务,并且每天能够处理数亿级别的消息。nsq它具有以下特性:分布式。它提供了分布式的、去中心化且没有单点故障的拓扑结构,稳定的消息传输发布保障,能够具有高容错和高可用特性。易于扩展。它支持水平扩展,没有中心化的消...
阅读全文
golang-nsq系列(二)--nsqd源码解析
上一篇初识了`nsq`三个模块(`nsqd,nsqlookupd,nsqadmin`)的`demo`演示,本篇则从源码开始,一步一步去解析`nsqd`的执行流程和逻辑处理,学习别人优秀的项目架构,以期学以致用。1\.`nsqd`执行入口在`nsq/apps/nsqd/main.go`可以找到执行入口文件,如下:nsqd...
阅读全文
golang-nsq系列(四)--源码解析总结篇
1\.前言:为什么要使用MQ消息队列随着互联网技术在各行各业的应用高速普及与发展,各层应用之间调用关系越来越复杂,架构、开发、运维成本越来越高,高内聚、低耦合、可扩展、高可用已成为了行业需求。一提到消息队列`MQ(MessageQueue)`,我们会想到很多应用场景,比如消息通知、用户积分增减、抽奖中奖等,可以看出来`...
阅读全文
golang-nsq系列(三)--nsqlookupd源码解析
介绍了nsqd的代码逻辑与流程图,本篇来解析nsq中另一大模块nsqlookupd,其负责维护nsqd节点的拓扑结构信息,实现了去中心化的服务注册与发现。1\.`nsqlookupd`执行入口在`nsq/apps/nsqlookupd/main.go`可以找到执行入口文件,如下:main.png2\.`nsqlooku...
阅读全文