Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Apache Pulsar and Github

0 views

Published on

Apache Pulsar and Github, shared by Xiaolong Ran at Github meetup in Beijing

Published in: Data & Analytics
  • Be the first to comment

  • Be the first to like this

Apache Pulsar and Github

  1. 1. Xiaolong Ran @wolfstudy Go In Apache Pulsar Apache Pulsar committer
  2. 2. 01 Pulsar && Github 02 Apache Pulsar 概括 03 Go Client In Pulsar 04 Q && A Go in Apache Pulsar
  3. 3. Introduction to Apache Pulsar Community In Github 01
  4. 4. A brief history of Apache Pulsar 2010 Apache BookKeeper 2011 Hedwig / SNP 2013 Yahoo! Cloud Messaging 2016 Open Source 2017 Enter ASF 2018 Top Level Apache Project 2019 100+ Adopters 10+ Meetups …
  5. 5. Apache Pulsar Users (China) http://pulsar.apache.org/en/powered-by/
  6. 6. Apache Pulsar Users (global) http://pulsar.apache.org/en/powered-by/
  7. 7. Apache Pulsar Community • 180+ contributors, 30+ committers, 24+ PMC • 4000+ commits • 1100+ forks, 4500+ stars • 1000+ active members on Slack • 1000+ active members on WeChat
  8. 8. Apache Pulsar Contributions
  9. 9. Apache Pulsar PR / Issues
  10. 10. Apache Pulsar Git clones
  11. 11. Visitors of Apache Pulsar Community
  12. 12. Apache Pulasr 概括 02
  13. 13. What is Apache Pulsar
  14. 14. Apache Pulsar
  15. 15. Flexible Messaging
  16. 16. Multi Tenancy
  17. 17. Geo-Replication
  18. 18. Cloud-native Architecture
  19. 19. Cloud-native Architecture
  20. 20. Segment Centric Storage
  21. 21. Tiered Storage •Infinite Stream: 以流的⽅式永远保存原始 数据 •分区的容量不再受限 •充分利⽤云存储或者现有的廉价存储 (e.g.HDFS) •数据统⼀表征:客户端不需要关⼼数据究竟 存储在哪⾥
  22. 22. Pulsar Functions
  23. 23. Go Client In Apache Pulasr 03
  24. 24. CGO Is Not Go • Go 最初的定位(下⼀代的 C 语⾔) • 混合编程 (C && Go) • CGO 是⼀种⼯具,不是对 Go 语⾔的扩展 • 不⽀持交叉编译
  25. 25. 性能损耗 • Go 的内存模型与 C 的不⼀致 • ⼤量的 runtime.cgocall() <go tool objdump> • 阻塞可能导致 M 的数量陡增 • 内存管理的⽅式不同
  26. 26. 使⽤ CGO 的感悟 • ⼀定要严格控制边界 • 谨慎使⽤指针 • 注意类型转换 • 尽量减少 C 的调⽤ • 注意内存在哪⾥分配
  27. 27. How to join Apache Pulsar Community • Mailing lists: dev@pulsar.apache.org users@pulsar.apache.org • Github: https://github.com/apache/pulsar https://github.com/apache/pulsar-translation • Slack: https://apache-pulsar.slack.com/ https://apache-pulsar.herokuapp.com/ • WeChat 回复:进群
  28. 28. How to join Apache Pulsar community Global • Comm • Content • Video • slides • Meetup China https://streamnative.io/
  29. 29. Thank You Q && A

×