27
G O P S 2016 全 球 运 维 大 会 · 上 海 站 Nearline Ecosystem 1

G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

  • Upload
    others

  • View
    48

  • Download
    0

Embed Size (px)

Citation preview

Page 1: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 上 海 站 Nearline Ecosystem 1

Page 2: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

建立基于Kafka的企业级数据传输平台

方伟 eBay中国研发中心 架构师

Page 3: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

目录

eBay数据传输平台概述 1

平台核心服务 2

系统监控与自动化 3

Kafka性能优化 4

Page 4: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

eBay数据传输平台定位

Nearline Ecosystem 4

Page 5: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

为什么要用Kafka

• 高吞吐率

• 高性能

• 多重订阅

• 消息持久性

• 良好的伸缩性

• 高可用性

Nearline Ecosystem 5

Page 6: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

平台架构设计

Nearline Ecosystem 6

Page 7: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

平台运行状况

• 30+ Kafka集群

• 800+ Kafka broker节点 (虚拟机)

• 1200+ Topic

• 25000+ Partition

• 1000亿+ 消息/天

Nearline Ecosystem 7

用户行为 数据库事务 业务事件

数据分析 风险控制 系统监控 结构化数据

应用共享

Page 8: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

元数据服务的目的

• Topic组

• 统一名称空间

• 便于授权管理

• 便于配额管理

Nearline Ecosystem 8

Page 9: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

元数据服务

Nearline Ecosystem 9

Producers

Rheos Service

Endpoint

Metadata

Service

Local Cache

Metadata

Store

Kafka

Brokers ACL Store

REST REST

Consumers

Portal

3rd party SOPs

REST

Management

Service

Page 10: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Kafka代理

• 为客户端提供统一访问入口

• 与元数据服务整合

• 便于容灾备援

Nearline Ecosystem 10

Page 11: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Tier-Aggregation 模式和数据镜像服务

Nearline Ecosystem 11

Page 12: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Schema注册服务

Nearline Ecosystem 12

Rheos Service

Endpoint

Kafka

(Master)

REST REST

Portal

Schema

Registry

Consumers

Local Cache

Producers

Local Cache

Kafka

(Slave)

Page 13: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

用户自服务 • Consumer 注册

• TopicGroup/Topic 注册

• Producer注册

• Schema 管理

Nearline Ecosystem 13

Page 14: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

集群部署和管理

Nearline Ecosystem 14

RabbitMQ

API conductor tm

Component Workflow

Config

Create

Nova API

Storm

Agent

ZK

Agent

Storm

Agent

Kafka

Agent

Provision Service

Kafka

Agent

ZK

Agent

1

2 3

4

5

6 7

8

9

Image

Page 15: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

集群节点监控

Nearline Ecosystem 15

Datacenter1 Datacenter2 Datacenter3

Page 16: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

Kafka状态监控 • 系统状态监控

• Consumer状态监控

• Producer状态监控

• 端到端延迟监控

Nearline Ecosystem 16

Page 17: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

故障节点监测与处理

• 坏节点日常维护

• 慢节点监测

• 系统性能参数 (CPU,内存,磁盘IO)

• 异常日志捕捉与分析

• footprint Topic测试

• 慢节点处理

• 重启/停掉Kafka进程

• 重启节点

• 替换节点

• Partition reassignment

Nearline Ecosystem 17

Page 18: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Offset索引和自动备援

Nearline Ecosystem 18

Page 19: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Kafka性能优化

• Kafka为什么高性能

• 磁盘顺序读写

• 以page cache为中心的设计

• Zero copy

Nearline Ecosystem 19

Page 20: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Kafka性能优化

• 保证磁盘的顺序读写

Nearline Ecosystem 20

Page 21: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Kafka性能优化 – Page Cache

Nearline Ecosystem 21

User Process

Page Cache

File System

pdflush

Buffer Cache Disk

User Process

Kernel

INode & Metadata

Page 22: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Page Cache相关系统参数

• 小心Swap

• set /proc/sys/vm/swappiness to 0

• VM上的NUMA问题

• Linux page cache相关设置

• vm.dirty_background_ratio (default 10)

• vm.dirty_background_bytes (default 0)

• vm.dirty_ratio (default 20)

• vm.dirty_bytes (default 0)

• vm.dirty_writeback_centisecs (default 500)

• vm.dirty_expire_centisecs (default 3000)

Nearline Ecosystem 22

Page 23: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Kafka性能优化 – Zero Copy

• 小心Zero copy 失效

• 系统升级,数据格式改变 (Eg. 0.9.0 -> 0.10.0)

• SSL/TLS

Nearline Ecosystem 23

Page 24: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Kafka性能优化 - 其他参数调整

• File descriptor 设置

• 增加/etc/security/limits.conf

• 推荐> 100000

• 增加max socket buffer size

• 权衡unclean.leader.election.enable

• 增加fetch线程数量num.replica.fetchers

• 处理leader选举auto.leader.rebalance.enable

Nearline Ecosystem 24

Page 25: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

DevOps 之父 Patrick Debois 与您相约

DevOpsDays 北京站 2017年3月18日

DevOpsDays 即将首次登陆中国

http://2017-beijing.devopsdayschina.org/

门票早鸟价仁限前100名,请从速哟

Page 26: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

想第一时间看到

高效运维社区公众号

的好文章吗?

请打开高效运维社区公众号,点击右上角小人,如右侧所示设置就好

Page 27: G O P S 2016 全球运维大会· 上海站 · G O P S 2016 全球运维大会· 北京站 平台运行状况 •30+ Kafka集群 •800+ Kafka broker节点 (虚拟机) •1200+ Topic

G O P S 2016 全 球 运 维 大 会 · 北 京 站

Thanks

高效运维社区

开放运维联盟 荣誉出品