0 码力 |
1 页 |
4.74 MB
| 1 年前 3 | Date | Speaker | Topic | Nov 2015 Vote Tally | | Feb 2014 | Mike Ballou | Agile Principles | 0 | | Nick Tuck | XP r> | Jerry Koske | The Process of Innovation | 2 |
|Speaker| Topic|Nov 2015 Vote Tally|
|---|---|---|
|Darin Plum|Agile Coaching|5|
|Shawn Stumme|Continuous Delivery|4| 0 码力 |
2 页 |
132.33 KB
| 1 年前 3 # 基于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
基础服务
支撑系统
消息PaaS平台
## 存储和中间件
账号/认证
接入管理
基础API
事件输出
逻辑回调
UI
DB
淘友关系
打点输出
消息形态
消息队列
消息业务逻辑层
群/群成员
基础监控
单聊
群聊
消息号
分布式缓存
数据模型层
定义模型
关注关系
全链路
消息
收件箱
会话
Redis
会话视图
消息模型
客户端
## 电商消息核心技术和挑战
## 电商消息多端同步设计
同步技术核心要求:
1. 客户端和服务端消息最终一致
2,不一致后增量补偿机制
3. 端侧维护syncId
消息IM
消息队列
sync可靠同步
补偿机制
在线推送
在线通道
同步/补偿机制
通道不持久化消息
消息SDK
补偿:客户端冷启动、后台切换到前台以及syncId不连续请求服务器
网络SDK
分页拉取 按业务多端同步
群活动推送
营销推送
群成员关系
syncId序列号
消息SaaS
Agoo离线通道
发送消息
单聊
分发模块
号关注关系
RDB缓存队列
消息发送
客户端
持久化消息
消息队列
单聊关系
消息队列
推送消息
ACK
追加写入
消息表
更新
会话视图表
收件箱表
增量补偿根据同步位点获取
sync\_inbox表
客户端SyncSDK 0 码力 |
22 页 |
12.22 MB
| 2 年前 3 ## 现代编程思想
队列:可变数据结构实现
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

Start 0 码力 |
19 页 |
314.79 KB
| 2 年前 3 ## 使用gRPC go实现 基于Topic的高效消息订阅发布模型

姓名:___ 张凯
中国电子云

## 基于Topic的消息发布模型简介
service PubSub { message PublishRequest {
string topic = 1;
bytes payload = 2;
}
// SubscribeRequest is passed when subscribing message SubscribeRequest {
string topic = 1;
}
// SubscribeResponse object message 0 码力 |
31 页 |
2.42 MB
| 2 年前 3 Consumer
分布式的流式数据平台
高吞吐
容错性
Producer
Topic
Topic
Topic
Consumer
## Kafka 在知乎的应用
平台承载知乎业务日志、数据传输和消息队列服务
平台线上稳定运行
基于 Kubernetes 的 Kafka 集群 13 个,1000+ Topic
知乎技术平台重要的组件
## 平台概览
· 多集群
· 高可用
平台 Kubernetes 问题驱动
• Kafka 资源规划不合理
• 单一集群造成系统单点
- 不区分集群和 Topic 等级,影响重要业务
• 业务与 Kafka 深度耦合
## 资源规划
多 Kafka 集群方式
根据 Topic 类型划分集群
同一类型 Topic 的集群细分
- Topic 服务等级、容量和规模划分

## 多集群问题
多变需求引发集群规模增长
• Broker, Topic 规模
服务器资源利用率
• 单机运行多 Broker 方式

Server 0 码力 |
34 页 |
2.64 MB
| 2 年前 3 0 码力 |
58 页 |
427.01 KB
| 2 年前 3 book Art of Concurrency. [http://oreilly.com/catalog/9780596521547] has a section dedicated to the topic of task granularity [AOC1].
[AOC1] Breshears, Clay. Section 2.2.1, “The Art of Concurrency”. O’Reilly [http://research.microsoft.com/pubs/70001/tr-2003-24.pdf] by Jim Gray is an excellent introduction to the topic of data locality.
## State
Since Celery is a distributed system, you can’t know which process, or control.add_consumer(
queue='baz',
exchange='ex',
exchange_type='topic',
routing_key='media.*',
options={
'queue_durable': False,
'exchange_durable': 0 码力 |
1209 页 |
1.44 MB
| 2 年前 3 book Art of Concurrency. [http://oreilly.com/catalog/9780596521547] has a section dedicated to the topic of task granularity [AOC1].
[AOC1] Breshears, Clay. Section 2.2.1, “The Art of Concurrency”. O’Reilly [http://research.microsoft.com/pubs/70001/tr-2003-24.pdf] by Jim Gray is an excellent introduction to the topic of data locality.
## State
Since Celery is a distributed system, you can’t know which process, or control.add_consumer(
queue='baz',
exchange='ex',
exchange_type='topic',
routing_key='media.*',
options={
'queue_durable': False,
'exchange_durable': 0 码力 |
1174 页 |
1.41 MB
| 2 年前 3
|