基于amqp实现的golang消息队列MaxQ# 基于amqp实现的golang消息队列 MaxQ 2017-07-01 张培培 饿了么-基础框架组 ## 内容 1. 队列 2. IPC消息队列 3. AMQP协议 4. MaxQ架构模型 5. MaxQ相关特性 6. 使用场景和案例 ### 1. 队列  跟消息队列相比,有哪些共性? • 生产者消费者 • 通信方式 • 存储方式 • 堆积能力 消息可靠性 • 生产消费关系 • Pull/Push ### 2. IPC消息队列  跟消息队列相比,有哪些共性? ###0 码力 | 22 页 | 1.45 MB | 2 年前3
Multi Producer, Multi Consumer, Lock Free, Atomic Queue0 码力 | 54 页 | 886.12 KB | 1 年前3
方志恒 轻舟服务网格的无侵入增强 Istio 经验## 轻舟服务网格的无侵入增强 Istio 经验 方志恒(网易数帆 云原生技术专家) ## 关于侵入、无侵入 ☑ 立目标,求上得中 ● 为什么强调“无侵入”? 业务适配、快速落地、定制需求等,有太多“侵入”的理由 ● 长期维护、社区对齐、版本演进等,一分“侵入”一分成本 ## 定开、维护的经验 ### 1. 原生的API,无侵入扩展 直接使用 做上层的封装、转换 “计算机科学领0 码力 | - 页 | 1.28 MB | 1 年前3
2.2.1通过Golang+eBPF实现无侵入应用可观测## GCN ## 通过Golang + eBPF实现无侵入应用可观测  张海彬 阿里云 应用可观测技术专家  无侵入  多语言/多协议/多框架  全栈覆盖 ## 无侵入性 cb2f68/p27_1.jpg) 告警收敛,幸福感UP ## eBPF + Golang 在阿里云应用可观测的实践 应用监控eBPF版 ## 无侵入的应用可观测 eBPF是一种在Linux内核运行的沙盒程序,无需修改任何应用代码,提供无侵入的应用无关、语言无关、框架无关的应用可观测能力,提供如网络、虚拟内存、系统调用等Otel无法获取的数据指标。 eBPF & Otel SDK均支持0 码力 | 29 页 | 3.83 MB | 1 年前3
MoonBit月兔编程语言 现代编程思想 第八课 队列:可变数据实现## 现代编程思想 队列:可变数据结构实现 Hongbo Zhang ## 队列 - 我们曾经介绍过队列这个数据结构 - 先进先出 ☐ 利用两个堆栈进行实现 - 我们利用可变数据结构进行实现 - 基于数组的循环队列 ☐ 单向链表 ## 队列 • 我们实现以下函数(以整数队列为例) 1. struct Queue { ... } 2. 3. fn make() -> self,为了方便起见,我们将本身作为返回值传回 1. make().push(1).push(2).push(3).pop().pop().length() // 1 ## 循环队列 - 我们可以利用一个数组来代表队列 - 数组是一个连续的存储空间,每一个字段均可被修改 ☐ 数组被分配后长度不变 1. let a: Array[Int] = Array::make(5, 0) 2. a[1] = 2 4. println(a) // [1, 2, 0, 0, 0] - 我们记录当前的开始和结束,每当添加新的元素的时候,结束向后移一位。如果超出数组长度,则绕回开头 ## 循环队列 make() End  Start0 码力 | 19 页 | 314.79 KB | 2 年前3
Rust原子操作高性能实践 Rust Atomic Deep Dive - 王璞0 码力 | 19 页 | 1.88 MB | 2 年前3
美团点评2018技术年货Oceanus:美团HTTP流量定制化路由的实践 ..... 47 UAS-点评侧用户行为检索系统 ..... 57 美团DB数据同步到数据仓库的架构与实践 ..... 66 不可不说的Java“锁”事 ..... 74 境外业务性能优化实践 ..... 91 美团广告实时索引的设计与实现 ..... 106 大众点评账号业务高可用进阶之路 ..... 123 美团容器平台架构及容器技术实践 3/5/e/a/35ea1e7659ba76c4ea2f0c80ce7a723a/p5_2.jpg) 这种上线机制存在以下几个问题: 1. 配置上线过多依赖于代码的发布。 2. 整体上线过程无审核机制,无法对配置资源进行合规审核。 3. 配置容易出错,上线前不能提前预览上线后的效果,只有“事后”(上线后)才能验证效果。 ## 三、 我们的思考 针对以上问题,我们希望通过设计一个通用的解 Java • C/C++O • Python Node.js • Golang ## 性能提升 ## 消息采样聚合 消息采样聚合在客户端应对大流量时起到了至关重要的作用,当采样命中或者内存队列已满时都会经过采样聚合上报。采样聚合是对消息树拆分归类,利用本地内存做分类统计,将聚合之后的数据进行上报,减少客户端的消息量以及降低网络开销。 到资源队列..... -77 修改资源队列..... -78 检查资源队列状态..... -79 第七章:定义数据库对象 Instance..... -317 主机健康时从 Mirror 恢复..... -319 恢复角色初始状态..... -319 恢复双宕 (double fault)..... -320 无 Mirror 集群恢复..... -322 主机丢失的恢复..... -322 恢复 Master..... -324 激活 Standby..... -324 恢复 Master 的高可用 行存与列存..... - 374 压缩..... - 375 分布键..... - 375 内存管理..... - 376 分区..... - 377 索引..... - 378 资源队列..... -379 监控与维护..... -379 收集统计信息..... -380 回收空间..... -381 数据加载..... -381 账户安全.0 码力 | 416 页 | 6.08 MB | 2 年前3
python3学习手册td>## ★第 2 章、Centos7 源码安装 python3 Centos7 默认自带 python2.7.5 版本,无 pip 先去官网下载 python3 的源码包:https://www.python.org/downloads/source/ 或者直接 wget https://www.python.org/ftp/python/3 ile| |else|is|with|except|lambda|yield| ★标准数据类型 |number|int bool float complex (1+2j) (python3 无 long 长整型) True=1, False=0| |---|---| |string|有序 strx='xxxx' stry="xxx" 不区别单引号与双引号,单个字符也是 时,有多个重复的元素,则只会存储其一,元素只能是不可变对象 t="wh", "fdjs", "fkdsl" setyy=frozenset(t) # 创建不可变 set,无 add remove update 操作 setxx.add("xxx") # 新增元素 setxx.remove("bb") # 删除元素,若元素不存在 0 码力 | 213 页 | 3.53 MB | 2 年前3
Golang 101(Go语言101 中文版) v1.21.abyte是uint8的内置别名。我们可以将byte和uint8看作是同一个类型。 • rune是int32的内置别名。我们可以将rune和int32看作是同一个类型。 以u开头的整数类型称为无符号整数类型。无符号整数类型的值都是非负的。一个数值类型名称中的数字表示每个这个类型的值将在内存中占有多少二进制位(以后简称位)。二进制位常称为比特(bit)。比如,一个uint8的值将占有8位。我们称uin 。当然,y也可以是空标识符。 ## 每个局部声明的变量至少要被有效使用一次 注意,当使用目前的主流Go编译器编译Go代码时,一个局部变量被声明之后至少要被有效使用一次,否则编译器将报错。包级变量无此限制。如果一个变量总是被当作赋值语句中的目标值,那么我们认为这个变量没有被有效使用过。 下面这个例子编译不通过。 package main var x, y, z = 123, true, "foo" 位左操作数必须为一个整数,右操作数也必须为一个整数(如果它是一个常数,则它必须非负),但它们的类型可以不同。(注意:在Go 1.13之前,右操作数必须为一个无符号整数类型的类型确定值或者一个可以表示成uint值的类型不确定(第7章)常数值。) >> 右移位 0 码力 | 608 页 | 1.08 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













