摘要: 本文对比试验采用官方包做json map 和struct 编码。 数据构造 map 数据类型为map[string]string , key 长度为10, val 长度为100 struct 定义如下: golang type Object struct { Xvlbzgbaic string Kr 阅读全文
posted @ 2020-04-13 10:22 搬砖程序员带你飞 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 本文介绍 golang 如何做性能分析。 对服务做了基准性能测试后,如果服务出现问题,可以通过性能分析工具,查出消耗资源的瓶颈,并做针对性的性能优化。 Golang 语言也为我们提供了方便的性能分析工具pprof,方便我们做必要的服务优化。pprof 可以做cpu分析,统计所有调用方法执行的时间片( 阅读全文
posted @ 2020-04-13 09:53 搬砖程序员带你飞 阅读(830) 评论(0) 推荐(0) 编辑
摘要: 本文介绍golang 如何做基准性能测试。 编写完代码除了跑必要的单元测试外,还需要考虑代码跑起来的性能如何。性能的衡量其实就是程序运行时候进程的内存分配,CPU消耗情况。 golang 语言在提供了功能测试的基础上,提供了丰富的性能测试功能。 SHOW CODE 首先,从一个例子来讲起。 随便写一 阅读全文
posted @ 2020-04-13 09:49 搬砖程序员带你飞 阅读(2805) 评论(0) 推荐(0) 编辑
摘要: NSQ 的拓扑结构和生产消费端配置 单机模式部署 NSQD 是可以脱离 nsqlookup 做单机部署的。 由于 nsqd 足够轻量,可以把服务部署在消息发布的服务器上,加快 pub 消息的速度,也能兼顾消费端消息的分发 集群模式 NSQD 是一个SPOF的系统,每个服务可以独立部署。当采用集群模式 阅读全文
posted @ 2020-04-10 09:51 搬砖程序员带你飞 阅读(605) 评论(0) 推荐(0) 编辑
摘要: nsq\_to\_nsq nsq 作为消息队列,有个优势是nsqd 各节点之间是不关联的,如果一个节点出了问题,仅仅影响该节点下的topic,channel,以及相关的生产者、消费者。 也就是官方说明的特性第一条: no SPOF ( single point of failure 单点故障)。好处 阅读全文
posted @ 2020-04-10 09:50 搬砖程序员带你飞 阅读(391) 评论(0) 推荐(0) 编辑
摘要: 特性总结 消息投放是不保序的 原因是内存队列、持久化队列、以及重新消费的数据混合在一起消费导致的 多个consumer 订阅同一个channel,消息将随机发送到不同的consumer 上 消息是可靠的 当消息发送出去之后,会进入 队列 当恢复FIN 之后,才会从队列中将消费成功的消息清除 如果客户 阅读全文
posted @ 2020-04-09 10:42 搬砖程序员带你飞 阅读(674) 评论(0) 推荐(0) 编辑
摘要: NSQ 消息队列实现消息落地使用的是 FIFO 队列。 实现为 diskqueue , 使用包 ,本文主要对 的实现做介绍。 功能定位 在NSQ 中, diskqueue 是一个实例化的 BackendQueue, 用于 保存在内存中放不下的消息 。使用场景如Topic 队列中的消息,Channel 阅读全文
posted @ 2020-04-09 10:36 搬砖程序员带你飞 阅读(634) 评论(0) 推荐(0) 编辑
摘要: nsqlookupd 用于Topic, Channel, Node 三类信息的一致性分发 概要 nsqlookup 知识点总结 功能定位 为node 节点和客户端节点提供一致的topic, channel, node 查询服务 Topic 主题, 和大部分消息队列的含义一致, 消息处理时,将相同主题 阅读全文
posted @ 2020-04-09 10:31 搬砖程序员带你飞 阅读(792) 评论(0) 推荐(0) 编辑
摘要: 本文对了解的空格分为几个Level,看大家能达到哪个level。 Level1: 半角空格 历史最悠久的空格,在1967年,ASCII 规范中被定义。 空格在 ASCII 中编码为0x20, 占位符为一个半角字符。在日常英文书写和代码编写中使用。 Level2: 全角空格 中文输入中的空格(标准说法 阅读全文
posted @ 2020-04-09 10:23 搬砖程序员带你飞 阅读(2255) 评论(3) 推荐(0) 编辑
摘要: 本文主要介绍 supervisor Event 的功能。 supervisor 作为一个进程管理工具,在 3.0 版本之后,新增了 Event 的高级特性, 主要用于做(进程启动、退出、失败等)事件告警服务。 Event 特性是将监听的服务(listener)注册到supervisord中,当sup 阅读全文
posted @ 2020-04-08 15:09 搬砖程序员带你飞 阅读(925) 评论(0) 推荐(0) 编辑