+ + + Companies Powered by Pulsar + + +
++ Apache Pulsar is available under the{" "} + + Apache License, version 2.0 + + . +
+diff --git a/site2/website-next/data/connectors.js b/site2/website-next/data/connectors.js new file mode 100644 index 0000000000000..4182f2c98648c --- /dev/null +++ b/site2/website-next/data/connectors.js @@ -0,0 +1,176 @@ +module.exports = [ + { + name: 'aerospike', + longName: 'Aerospike sink', + type: 'Sink', + link: 'https://www.aerospike.com/' + }, + { + name: 'canal', + longName: 'Alibaba Canal CDC source', + type: 'Source', + link: 'https://github.com/alibaba/canal' + }, + { + name: 'cassandra', + longName: 'Apache Cassandra source and sink', + type: 'Source and sink', + link: 'https://cassandra.apache.org' + }, + { + name: 'kafka-connect-adaptor', + longName: 'Apache Kafka Connect Adaptor source and sink', + type: 'Source and sink', + link: 'http://kafka.apache.org/' + }, + { + name: 'dynamodb', + longName: 'AWS DynamoDB source', + type: 'Source', + link: 'https://aws.amazon.com/dynamodb/' + }, + { + name: 'kinesis', + longName: 'AWS Kinesis source and sink', + type: 'Source and sink', + link: 'https://aws.amazon.com/kinesis/' + }, + { + name: 'debezium-mysql', + longName: 'Debezium MySQL CDC source', + type: 'Source', + link: 'https://debezium.io/' + }, + { + name: 'debezium-postgres', + longName: 'Debezium PostgreSQL CDC source', + type: 'Source', + link: 'https://debezium.io/' + }, + { + name: 'elastic-search', + longName: 'ElasticSearch source and sink', + type: 'Source and sink', + link: 'https://www.elastic.co/' + }, + { + name: 'file', + longName: 'File source', + type: 'Source', + link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/file' + }, + { + name: 'flume', + longName: 'Flume source and sink', + type: 'Source and sink', + link: 'https://flume.apache.org/' + }, + { + name: 'hbase', + longName: 'HBase sink', + type: 'Sink', + link: 'https://hbase.apache.org/' + }, + { + name: 'hdfs2', + longName: 'HDFS2 sink', + type: 'Sink', + link: 'https://hadoop.apache.org/' + }, + { + name: 'hdfs3', + longName: 'HDFS3 sink', + type: 'Sink', + link: 'https://hadoop.apache.org/' + }, + { + name: 'influxdb', + longName: 'InfluxDB sink', + type: 'Sink', + link: 'https://www.influxdata.com/' + }, + { + name: 'jdbc-clickhouse', + longName: 'JDBC ClickHouse sink', + type: 'Sink', + link: 'https://clickhouse.tech/' + }, + { + name: 'jdbc-mariadb', + longName: 'JDBC MariaDB sink', + type: 'Sink', + link: 'https://mariadb.org/' + }, + { + name: 'jdbc-postgres', + longName: 'JDBC PostgresSQL sink', + type: 'Sink', + link: 'https://www.postgresql.org/' + }, + { + name: 'jdbc-sqlite', + longName: 'JDBC SQLite sink', + type: 'Sink', + link: 'https://www.sqlite.org/' + }, + { + name: 'kafka', + longName: 'Kafka source and sink', + type: 'Source and sink', + link: 'https://kafka.apache.org/' + }, + { + name: 'mongo', + longName: 'MongoDB sink', + type: 'Sink', + link: 'https://www.mongodb.com/' + }, + { + name: 'netty', + longName: 'Netty source', + type: 'Source', + link: 'https://netty.io/' + }, + { + name: 'nsq', + longName: 'NSQ source', + type: 'Source', + link: 'https://nsq.io/', + }, + { + name: 'rabbitmq', + longName: 'RabbitMQ source and sink', + type: 'Source and sink', + link: 'https://www.rabbitmq.com/' + }, + { + name: 'redis', + longName: 'Redis sink', + type: 'Sink', + link: 'https://redis.io/' + }, + { + name: 'solr', + longName: 'Solr sink', + type: 'Sink', + link: 'https://lucene.apache.org/solr/' + }, + { + name: 'netty', + longName: 'TCP/UDP with Netty source', + type: 'Source', + link: 'https://netty.io/' + }, + { + name: 'data-generator', + longName: 'Test Data Generator source', + type: 'Source', + link: 'https://github.com/apache/pulsar/tree/master/pulsar-io/data-generator' + }, + { + name: 'twitter', + longName: 'Twitter Firehose source', + type: 'Source', + link: 'https://developer.twitter.com/en/docs' + } +] diff --git a/site2/website-next/data/resources.js b/site2/website-next/data/resources.js new file mode 100644 index 0000000000000..44a392b5c3f20 --- /dev/null +++ b/site2/website-next/data/resources.js @@ -0,0 +1,909 @@ +module.exports = { + articles: [ + { + forum: 'RT Instights', + forum_link: 'https://www.rtinsights.com/', + date: 'Oct 2021', + title: "The Critical Role Streaming Plays in a Data Stack", + link: 'https://www.rtinsights.com/the-critical-role-streaming-plays-in-a-data-stack/' + }, + { + forum: 'Mikel\'s TechBlog', + forum_link: 'https://mikeldeltio.com/', + date: 'Sept 2021', + title: "Distributed Databases: Apache Pulsar (in ESP)", + link: 'https://mikeldeltio.com/2021/09/20/distributed-databases-apache-pulsar/' + }, + { + forum: 'Pandio Blog', + forum_link: 'https://pandio.com/blog/', + date: 'Sept 2021', + title: "Apache Pulsar vs. Google PubSub", + link: 'https://pandio.com/blog/a-detailed-deep-dive-into-pulsar-and-google-pubsub-which-is-better-and-why' + }, + { + forum: 'StreamNative Blog', + forum_link: 'https://streamnative.io/', + date: 'Aug 2021', + title: "Scalable Stream Processing with Pulsar’s Key_Shared Subscription", + link: 'https://streamnative.io/en/blog/engineering/2021-08-25-scalable-stream-processing-with-pulsars-key-shared-subscription/' + }, + { + forum: 'Pandio Blog', + forum_link: 'https://pandio.com/blog/', + date: 'July 2021', + title: "Pulsar vs. Kafka", + link: 'https://pandio.com/blog/pulsar-vs-kafka/' + }, + { + forum: 'Building the Open Data Stack', + forum_link: 'https://medium.com/building-the-open-data-stack', + date: 'June 2021', + title: "5 More Reasons to Choose Apache Pulsar Over Apache Kafka", + link: 'https://medium.com/building-the-open-data-stack/5-more-reasons-to-choose-apache-pulsar-over-apache-kafka-c09b259e3691' + }, + { + forum: 'dattell', + forum_link: 'https://dattell.com/data-architecture-blog/', + date: 'Feb 2021', + title: "Apache Pulsar Subscription Types", + link: 'https://dattell.com/data-architecture-blog/subscription-types-in-apache-pulsar/' + } + + ], + + /****************************** + * Presentations + * + ******************************/ + presentations: [ + { + forum: 'Apache Pulsar Neighborhood YouTube', + forum_link: 'https://www.youtube.com/apachepulsarneighborhood', + presenter: 'Enrico Olivelli', + date: 'Sept 2021', + title: "Apache Pulsar Deep Dive- an End-to-end view of the Data Flow", + link: 'https://www.youtube.com/watch?v=oLXCCCGsrWM' + }, + { + forum: 'Apache Pulsar Neighborhood YouTube', + forum_link: 'https://www.youtube.com/apachepulsarneighborhood', + presenter: 'Simba Khadder', + date: 'Sept 2021', + title: "Apache Pulsar and Machine Learning", + link: 'https://youtu.be/K2WXDwo1y0k' + }, + { + forum: 'Apache Pulsar Neighborhood YouTube', + forum_link: 'https://www.youtube.com/apachepulsarneighborhood', + presenter: 'Enrico Olivelli', + date: 'Sept 2021', + title: "Leveraging Pulsar's Next Gen Streaming Capabilities from a JavaEE Application", + link: 'https://www.youtube.com/watch?v=0NA0BIvkQrs' + }, + { + forum: 'Devin Bost\'s YouTube', + forum_link: 'https://www.youtube.com/channel/UCz_Y86AT4G15xU3IojhX2Kw', + presenter: 'Devin Bost', + date: 'Aug 2021', + title: "Streaming Patterns and Best Practices with Apache Pulsar for Enabling Machine Learning and Analytics", + link: 'https://www.youtube.com/watch?v=Fdqre_hTnUI' + }, + + { + forum: 'Pulsar Summit NA 2021', + forum_link: 'https://pulsar-summit.org/', + presenter: '', + date: 'June 2021', + title: "Pulsar Summit NA 2021 Playlist", + link: 'https://www.youtube.com/watch?v=-Bm1h508oIQ&list=PLqRma1oIkcWjyezVodJHcp8GSypvGuc1C' + } + ], + /*************************** + * Older Articles + * + * + * *************************/ + older_articles: [ + + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + date: 'July 2020', + title: "Pulsar vs Kafka - Part 1 - A More Accurate Perspective on Performance, Architecture, and Features", + link: 'https://streamnative.io/blog/tech/pulsar-vs-kafka-part-1', + title2: "Pulsar vs Kafka - Part 2 - Adoption, Use Cases, Differentiators, and Community", + link2: 'https://streamnative.io/blog/tech/pulsar-vs-kafka-part-2' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + date: 'June 2020', + title: "Taking messaging and data ingestion systems to the next level", + link: 'https://streamnative.io/blog/tech/2020-07-08-podcast' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + date: 'June 2020', + title: "Announcing AMQP-on-Pulsar: bring native AMQP protocol support to Apache Pulsar", + link: 'https://streamnative.io/blog/tech/2020-06-15-announcing-aop-on-pulsar' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + date: 'June 2020', + title: "How to trace Pulsar messages with OpenTracing and Jaeger", + link: 'https://streamnative.io/blog/tech/2020-06-11-opentracing-instrumentation-for-pulsar' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + date: 'May 2020', + title: "Introducing StreamNative Hub — Extend Pulsar Capabilities with Rich Integrations", + link: 'https://streamnative.io/blog/tech/2020-05-26-intro-to-hub' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "How to Build a Distributed Database with Apache BookKeeper — Part 1", + link: 'https://streamnative.io/blog/tech/2020-02-04-how-to-build-database', + title2: "How to Build a Distributed Database with Apache BookKeeper — Part 2", + link2: 'https://streamnative.io/blog/tech/2020-04-14-distributed-database-bk2', + title3: "How to Build a Distributed Database with Apache BookKeeper — Part 3", + link3: 'https://streamnative.io/blog/tech/2020-05-12-distributed-database-bk3' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "How Apache Pulsar Helps Streamline Message System and Reduces O&M Costs at Tuya Smart", + link: 'https://streamnative.io/blog/tech/2020-05-08-tuya-tech-blog' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Why Zhaopin Chooses Pulsar SQL for Search Log Analysis", + link: 'https://streamnative.io/blog/tech/2020-05-07-zhaopin-tech-blog' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Why we moved from Apache Kafka to Apache Pulsar", + link: 'https://streamnative.io/blog/tech/2020-04-21-from-apache-kafka-to-apache-pulsar' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Announcing Kafka-on-Pulsar: bring native Kafka protocol support to Apache Pulsar", + link: 'https://streamnative.io/blog/tech/2020-03-24-bring-native-kafka-protocol-support-to-apache-pulsar' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Apache Pulsar® Helps Tencent Process Tens of Billions of Financial Transactions Efficiently with Virtually No Data Loss", + link: 'https://streamnative.io/blog/tech/2020-02-18-pulsar-help-tencent' + }, + { + forum: 'Yahoo Engineering blog', + forum_link: 'https://yahooeng.tumblr.com/', + title: 'Open sourcing Pulsar, pub-sub messaging at scale', + link: 'https://yahooeng.tumblr.com/post/150078336821/open-sourcing-pulsar-pub-sub-messaging-at-scale' + }, + { + forum: 'Streamlio blog', + forum_link: 'https://streaml.io/blog', + title: 'Introduction to Apache Pulsar', + link: 'https://streaml.io/blog/intro-to-pulsar/' + }, + { + forum: 'Streamlio blog', + forum_link: 'https://streaml.io/blog', + title: 'Why Apache Pulsar? Part 1', + link: 'https://streaml.io/blog/why-apache-pulsar/', + title2: 'Why Apache Pulsar? Part 2', + link2: 'https://streaml.io/blog/why-apache-pulsar-part-2' + }, + { + forum: "Jack Vanlightly's blog", + forum_link: 'https://jack-vanlightly.com', + title: 'Understanding How Apache Pulsar Works', + link: 'https://jack-vanlightly.com/blog/2018/10/2/understanding-how-apache-pulsar-works' + }, + { + forum: "Anuradha Prasanna's blog", + forum_link: 'https://medium.com/@anuradha.neo', + title: 'Kafka is not the best anymore - Meet Pulsar!', + link: 'https://medium.com/@anuradha.neo/kafka-is-not-the-best-anymore-meet-pulsar-9eb435c9fc0b' + }, + { + forum: 'Kafkaesque blog', + forum_link: 'https://kafkaesque.io/news/', + title: '7 Reasons We Choose Apache Pulsar over Apache Kafka', + link: 'https://kafkaesque.io/7-reasons-we-choose-apache-pulsar-over-apache-kafka/' + }, + { + forum: "Jack Vanlightly's blog", + forum_link: 'https://jack-vanlightly.com', + title: 'How to (not) lose messages on an Apache Pulsar Cluster', + link: 'https://jack-vanlightly.com/blog/2018/10/21/how-to-not-lose-messages-on-an-apache-pulsar-cluster' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "How Orange Financial combats financial fraud in over 50M transactions a day using Apache Pulsar", + link: 'https://streamnative.io/blog/tech/2019-11-11-how-orange-finaacial-combats-financial-fraud-over-50m-transactions-a-day-useing-apache-pulsar' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Powering Tencent Billing Platform with Apache Pulsar", + link: 'https://streamnative.io/blog/tech/2019-10-22-powering-tencent-billing-platform-with-apache-pulsar/' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Use Apache SkyWalking to Trace Apache Pulsar Messages", + link: 'https://streamnative.io/blog/tech/2019-10-10-use-apache-skywalking-to-trace-apache-pulsar/' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "StreamNative open sourced and contributed Apache Pulsar Manager to ASF", + link: 'https://streamnative.io/blog/tech/2019-09-24-streamnative-opensourced-pulsar-manager/' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Apache Pulsar Adoption Story in ActorCloud (IoT Platform)", + link: 'https://streamnative.io/blog/tech/2019-09-09-apache-pulsar-adoption-in-actorcloud/' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Apache Pulsar at Yahoo!JAPAN", + link: 'https://streamnative.io/blog/tech/2019-09-06-pular-at-yahoo-japan/' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Build a Priority-based Push Notification System Using Apache Pulsar at GeTui", + link: 'https://streamnative.io/blog/tech/2019-07-23-build-a-priority-based-push-notification-system-using-apache-pulsar-at-getui/' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://streamnative.io/', + title: "Use Apache Pulsar as Streaming Table with 8 Lines of Code", + link: 'https://streamnative.io/blog/tech/2019-08-28-use-apache-pulsar-as-streaming-table-with-8-lines-of-code/' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://medium.com/streamnative/', + title: 'Apache Pulsar as One Unified Storage System for Real Time and Historical Analysis', + link: 'https://medium.com/streamnative/apache-pulsar-as-one-storage-455222c59017' + }, + { + forum: 'StreamNative blog', + forum_link: 'https://medium.com/streamnative/', + title: "What’s New in Apache Pulsar 2.4.0", + link: 'https://medium.com/streamnative/whats-new-in-apache-pulsar-2-4-0-d646f6727642' + }, + { + forum: "Penghui Li's blog", + forum_link: 'https://medium.com/@codelipenghui', + title: "Simplifying Zhaopin's Event Center Using Apache Pulsar", + link: 'https://medium.com/@codelipenghui/simplifying-zhaopins-event-center-with-apache-pulsar-9784b73bead1' + }, + { + forum: "Jowanza Joseph's blog", + forum_link: "https://www.jowanza.com/blog", + title: 'Efficient Stream Processing With Pulsar Functions', + link: 'https://www.jowanza.com/blog/2019/3/9/efficient-stream-processing-with-pulsar-functions' + }, + { + forum: "Jesse Anderson's blog", + forum_link: 'http://www.jesse-anderson.com/', + title: 'Creating Work Queues with Apache Kafka and Apache Pulsar', + link: 'http://www.jesse-anderson.com/2018/08/creating-work-queues-with-apache-kafka-and-apache-pulsar/' + }, + { + forum: 'Streamlio blog', + forum_link: 'https://streaml.io/blog', + title: 'Building Data Driven Applications at STICORP using Apache Pulsar', + link: 'https://streaml.io/blog/building-data-driven-applications-with-apache-pulsar-at-sticorp' + }, + { + forum: 'The Hut Group tech blog', + forum_link: 'https://medium.com/thg-tech-blog', + title: 'A feather in the caps', + link: 'https://medium.com/thg-tech-blog/a-feather-in-their-caps-4c4083cf9f46' + }, + { + forum: "Karthikeyan Palanivelu's blog", + forum_link: 'https://medium.com/@pckeyan', + title: 'Apache Pulsar — One Cluster for the entire enterprise using Multi-tenancy', + link: 'https://medium.com/@pckeyan/apache-pulsar-one-cluster-for-the-entire-enterprise-using-multi-tenancy-c37e2ee350ef' + }, + { + forum: "Capital One tech blog", + forum_link: "https://medium.com/capital-one-tech", + title: 'Apache Pulsar — A Gentle Introduction to Apache’s Newest Pub-Sub Messaging Platform', + link: 'https://medium.com/capital-one-tech/apache-pulsar-apaches-newest-pub-sub-messaging-platform-1c1ba1a6c673' + }, + { + forum: "Karthikeyan Palanivelu's blog", + forum_link: 'https://medium.com/@pckeyan', + title: 'Apache Pulsar: Geo-replication', + link: 'https://medium.com/@pckeyan/apache-pulsar-geo-replication-ad4f0ca3224b' + }, + { + forum: "Karthikeyan Palanivelu's blog", + forum_link: 'https://medium.com/@pckeyan', + title: 'Apache Pulsar: Geo-replication — Synchronous Replication : Hybrid Deployment Model', + link: 'https://medium.com/@pckeyan/apache-pulsar-geo-replication-synchronous-replication-hybrid-deployment-model-3282013e9ae5' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Pulsar topic compaction', + link: 'https://streaml.io/blog/pulsar-topic-compaction' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Tiered Storage in Apache Pulsar', + link: 'https://streaml.io/blog/tiered-storage-in-apache-pulsar' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Introducing Pulsar IO', + link: 'https://streaml.io/blog/introducing-pulsar-io' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Pulsar topic compaction', + link: 'https://streaml.io/blog/pulsar-topic-compaction' + }, + + { + forum: "Jesse Anderson's blog", + forum_link: 'https://www.jesse-anderson.com', + title: 'Reducing Operational Overhead with Pulsar Functions', + link: 'https://www.jesse-anderson.com/2019/05/reducing-operational-overhead-with-pulsar-functions/' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Querying Data Streams with Apache Pulsar SQL', + link: 'https://streaml.io/blog/querying-data-streams-with-apache-pulsar-sql' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Configuring Apache Pulsar Tiered Storage with Amazon S3', + link: 'https://streaml.io/blog/configuring-apache-pulsar-tiered-storage-with-amazon-s3' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Comparing LogDevice and Apache Pulsar', + link: 'https://streaml.io/blog/comparing-logdevice-and-apache-pulsar' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Pulsar’s Multi-Layer System Architecture', + link: 'https://streaml.io/blog/apache-pulsar-architecture-designing-for-streaming-performance-and-scalability' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Debugging Pulsar Functions in Java', + link: 'https://streaml.io/blog/debugging-pulsar-functions-in-java' + }, + { + forum: "Streamlio blog", + forum_link: 'https://streaml.io/blog', + title: 'Sentiment Analysis of Tweets using Apache Pulsar', + link: 'https://streaml.io/blog/sentiment-analysis-of-tweets-using-apache-pulsar' + }, + { + forum: 'Apache Flink blog', + forum_link: 'https://flink.apache.org/blog/', + title: 'When Flink & Pulsar Come Together', + link: 'https://flink.apache.org/2019/05/03/pulsar-flink.html' + }, + { + forum: 'Debezium blog', + forum_link: 'https://debezium.io/blog', + title: 'Tutorial for Using Debezium Connectors With Apache Pulsar', + link: 'https://debezium.io/blog/2019/05/23/tutorial-using-debezium-connectors-with-apache-pulsar/' + }, + { + forum: 'Pulsar in Action', + forum_link: 'https://www.manning.com/books/pulsar-in-action', + title: "Pulsar in Action", + link: 'https://www.manning.com/books/pulsar-in-action' + } + ], + /*************************** + * Older Presentations + * + * + * *************************/ + older_presentations: [ + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Ludwig Pummer, Joe Francis', + date: 'June 2020', + title: "Five Years of Operating a Large Scale Globally Replicated Pulsar Installation", + link: 'https://www.slideshare.net/streamnative/five-years-of-operating-a-large-scale-globally-replicated-pulsar-installation' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Alexandre Duval', + date: 'June 2020', + title: "Building a FaaS with Pulsar", + link: 'https://www.slideshare.net/streamnative/building-a-faas-with-pulsar' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Greg Methvin', + date: 'June 2020', + title: "Scaling customer engagement with Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/scaling-customer-engagement-with-apache-pulsar' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'William MaLane', + date: 'June 2020', + title: "Finding your pulse for a global enterprise communications nervous system", + link: 'https://www.slideshare.net/streamnative/finding-your-pulse-for-a-global-enterprise-communications-nervous-systemwilliam-mclane' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'David Kjerrumgaard', + date: 'June 2020', + title: "Using Apache Pulsar to Provide Real-Time IoT Analytics on the Edge", + link: 'https://www.slideshare.net/streamnative/using-apache-pulsar-to-provide-realtime-iot-analytics-on-the-edgedavid' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Neng Lv', + date: 'June 2020', + title: "Stream or segment: what is the best way to access your events in Pulsar", + link: 'https://www.slideshare.net/streamnative/stream-or-segment-what-is-the-best-way-to-access-your-events-in-pulsarneng' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Simba Khadder', + date: 'June 2020', + title: "Feature Stories: Building Machine Learning Infrastructure on Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/feature-stores-building-machine-learning-infrastructure-on-apache-pulsarsimba-khadder' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Sanjeev Kulkarni', + date: 'June 2020', + title: "Pulsar Functions Deep Dive", + link: 'https://www.slideshare.net/streamnative/pulsar-functions-deep-divesanjeev-kulkarni' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Jesse Anderson', + date: 'June 2020', + title: "Pulsar for Kafka People", + link: 'https://www.slideshare.net/streamnative/pulsar-for-kafka-peoplejesse-anderson' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Jerry Peng', + date: 'June 2020', + title: "Interactive querying of streams using Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/interactive-querying-of-streams-using-apache-pulsarjerry-peng' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Anup Ghatage, Ankit Jain', + date: 'June 2020', + title: "The first step to Multi AZ architecture for Apache BookKeeper", + link: 'https://www.slideshare.net/streamnative/the-first-step-to-multi-az-architecture-for-apache-bookkeeperanup-ghatage' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Carolyn King, Matteo Merli, Sijie Guo', + date: 'June 2020', + title: "Messaging & Streaming Everywhere", + link: 'https://www.slideshare.net/streamnative/open-keynotecarolynmatteosijie' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Joe Francis, Rajan Dhabalia', + date: 'June 2020', + title: "Pulsar Storage on BookKeeper - Seamless Evolution", + link: 'https://www.slideshare.net/streamnative/pulsar-storage-on-bookkeeper-seamless-evolution' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Ningguo Chen', + date: 'June 2020', + title: "How Apache Pulsar Helps Tencent Process Tens of Billions of Transactions Efficiently", + link: 'https://www.slideshare.net/streamnative/how-apache-pulsar-helps-tencent-process-tens-of-billions-of-transactions-efficientlyningguo-chen' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Vincent Xie, Jia Zhai', + date: 'June 2020', + title: "Unify Storage Backend for Batch and Streaming Computation with Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/unify-storage-backend-for-batch-and-streaming-computation-with-apache-pulsarvincent' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Seth Wiesman', + date: 'June 2020', + title: "Unified Data Processing with Apache Flink and Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/unified-data-processing-with-apache-flink-and-apache-pulsarseth-wiesman' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Paige Roberts', + date: 'June 2020', + title: "Architecting Production IoT Analytics", + link: 'https://www.slideshare.net/streamnative/architecting-production-iot-analyticspaige-roberts' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Nozomi Kurihara', + date: 'June 2020', + title: "Large scale log pipeline using Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/large-scale-log-pipeline-using-apache-pulsarnozomi' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Robert van Mölken', + date: 'June 2020', + title: "Ten reasons to choose Apache Pulsar over Apache Kafka for Event Sourcing", + link: 'https://www.slideshare.net/streamnative/ten-reasons-to-choose-apache-pulsar-over-apache-kafka-for-event-sourcingrobert-van-mlken' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Simon Crosby', + date: 'June 2020', + title: "Easily Build a Smart Pulsar Stream Processor", + link: 'https://www.slideshare.net/streamnative/easily-build-a-smart-pulsar-stream-processorsimon-crosby' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Pranav Dharma', + date: 'June 2020', + title: "How Splunk Mission Control leverages various Pulsar subscription types", + link: 'https://www.slideshare.net/streamnative/how-splunk-mission-control-leverages-various-pulsar-subscription-typespranav-dharma' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Caito Scherr', + date: 'June 2020', + title: "Streaming, Fast and Slow", + link: 'https://www.slideshare.net/streamnative/streaming-fast-and-slowcaito-scherr' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Karthik Ramasamy', + date: 'June 2020', + title: "Why Splunk Chose Pulsar", + link: 'https://www.slideshare.net/streamnative/why-splunk-chose-pulsarkarthik-ramasamy' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Chris Kellogg', + date: 'June 2020', + title: "Securing your Pulsar Cluster with Vault", + link: 'https://www.slideshare.net/streamnative/securing-your-pulsar-cluster-with-vaultchris-kellogg-236137352' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Enrico Olivelli', + date: 'June 2020', + title: "Introducing HerdDB - a distributed JVM embeddable database built upon Apache BookKeeper", + link: 'https://www.slideshare.net/streamnative/introducing-herddb-a-distributed-jvm-embeddable-database-built-upon-apache-bookkeeperenrico-olivelli' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Pierre Zemb', + date: 'June 2020', + title: "Building a Messaging Solutions for OVHcloud with Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/building-a-messaging-solutions-for-ovhcloud-with-apache-pulsarpierre-zemb' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Devin Bost', + date: 'June 2020', + title: "Pulsar Architectural Patterns for CI/CD Automation and Self-Service", + link: 'https://www.slideshare.net/streamnative/pulsar-architectural-patterns-for-cicd-automation-and-selfservicedevin-bost-236083234' + }, + { + forum: 'Pulsar Summit 2020', + forum_link: 'https://pulsar-summit.org/', + presenter: 'Addison Higham', + date: 'June 2020', + title: "Getting Pulsar Spinning", + link: 'https://www.slideshare.net/streamnative/getting-pulsar-spinningaddison-higham' + }, + { + forum: 'StreamNative Academy', + forum_link: 'https://streamnative.io/academy', + presenter: 'Shivji Jha', + date: 'May 2020', + title: "Lessons from managing a Pulsar cluster (Nutanix)", + link: 'https://www.slideshare.net/streamnative/lessons-from-managing-a-pulsar-cluster-nutanix' + }, + { + forum: '', + forum_link: '', + presenter: 'Sijie Guo', + date: 'May 2020', + title: "Building event streaming pipelines using Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/building-event-streaming-pipelines-using-apache-pulsar' + }, + { + forum: 'TGIPulsar', + forum_link: 'https://streamnative.io/resource#tgip', + presenter: 'Sijie Guo', + date: 'April 2020', + title: "Lifecycle of a Pulsar message", + link: 'https://www.slideshare.net/streamnative/tgipulsar-ep-006-lifecycle-of-a-pulsar-message' + }, + { + forum: '', + forum_link: '', + presenter: 'Sijie Guo, Pierre Zemb', + date: 'March 2020', + title: "Introducing Kafka-on-Pulsar: bring native Kafka protocol support to Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/introducing-kafkaonpulsar-bring-native-kafka-protocol-support-to-apache-pulsar' + }, + { + forum: '2019 China Technical Communication Forum', + forum_link: 'http://www.tc-china.org/event/tcweekly/7454/', + presenter: 'Yu Liu', + date: 'December 2019', + title: "Code the docs", + link: 'https://www.slideshare.net/streamnative/code-the-docsyu-liu' + }, + { + forum: 'Google DevFest 2019 in Beijing', + forum_link: 'https://devfest.withgoogle.com/?utm_source=devsite&utm_medium=events&utm_campaign=past&utm_content=DevSite_HPP', + presenter: 'Xiaolong Ran', + date: 'December 2019', + title: "Serverless Event Streaming with Pulsar Functions", + link: 'https://www.slideshare.net/streamnative/google-devfest-about-pulsar-by-xiaolong' + }, + { + forum: 'Apache Pulsar Meetup x PingCAP Infra Meetup | Beijing', + forum_link: 'https://www.huodongxing.com/event/7520647658000', + presenter: 'Xiaolong Ran', + date: 'December 2019', + title: "Apache Pulsar and GitHub", + link: 'https://www.slideshare.net/streamnative/apache-pulsar-and-githubxiaolong' + }, + { + forum: 'Apache Pulsar Meetup x PingCAP Infra Meetup | Beijing', + forum_link: 'https://www.huodongxing.com/event/7520647658000', + presenter: 'Penghui Li, Yong Zhang', + date: 'December 2019', + title: "Transaction preview of Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/transaction-preview-of-apache-pulsar' + }, + { + forum: 'Apache Pulsar Meetup | Shanghai', + forum_link: 'https://www.huodongxing.com/event/5515876233300', + presenter: 'Xiaolong Ran, Guangning E', + date: 'November 2019', + title: "Pulsarctl & Pulsar Manager", + link: 'https://www.slideshare.net/streamnative/pulsarctl-pulsar-manager' + }, + { + forum: 'Apache Pulsar Meetup | Shanghai', + forum_link: 'https://www.huodongxing.com/event/5515876233300', + presenter: 'Jennifer Huang', + date: 'November 2019', + title: "Apache Pulsar Community", + link: 'https://www.slideshare.net/streamnative/apache-pulsar-communityjennifer' + }, + { + forum: 'Apache Pulsar Meetup | Shanghai', + forum_link: 'https://www.huodongxing.com/event/5515876233300', + presenter: 'Penghui Li, Bo Cong, Jia Zhai', + date: 'November 2019', + title: "Preview of Apache Pulsar 2.5.0", + link: 'https://www.slideshare.net/streamnative/preview-of-apache-pulsar-250' + }, + { + forum: 'COSCon\'19', + forum_link: 'https://kaiyuanshe.cn/activity/summit/coscon-2019/', + presenter: 'Jennifer Huang', + date: 'November, 2019', + title: "Apache Pulsar: A borderless community", + link: 'https://www.slideshare.net/streamnative/apache-pulsaraborderlesscommunityjennifer' + }, + { + forum: 'COSCon\'19', + forum_link: 'https://kaiyuanshe.cn/activity/summit/coscon-2019/', + presenter: 'Yu Liu', + date: 'November, 2019', + title: "Cos con19 about Pulsar", + link: 'https://www.slideshare.net/streamnative/cos-con19-pulsaryuliu' + }, + { + forum: 'Flink Forward Europe', + forum_link: 'https://europe-2019.flink-forward.org/', + presenter: 'Sijie Guo', + date: 'October 2019', + title: "Query Pulsar Streams using Apache Flink", + link: 'https://www.slideshare.net/streamnative/query-pulsar-streams-using-apache-flink' + }, + { + forum: 'Strata Data Conference | New York', + forum_link: 'https://conferences.oreilly.com/strata/strata-ny', + presenter: 'Vincent Xie, Jia Zhai', + date: 'September 2019', + title: "How Orange Financial combat financial frauds over 50M transactions a day using Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/how-orange-financial-combat-financial-frauds-over-50m-transactions-a-day-using-apache-pulsar-176284080' + }, + { + forum: 'ApacheCon NA 2019', + forum_link: 'https://www.apachecon.com/acna19/', + presenter: 'Xiaolong Ran', + date: 'September 2019', + title: "Serverless Event Streaming with Pulsar Functions", + link: 'https://www.slideshare.net/streamnative/serverless-event-streaming-with-pulsar-functions-171597848' + }, + { + forum: 'ApacheCon NA 2019', + forum_link: 'https://www.apachecon.com/acna19/', + presenter: 'Penghui Li, Jia Zhai', + date: 'September 2019', + title: "Building Zhaopin's enterprise event center on Apache Pulsar", + link: 'https://www.slideshare.net/streamnative/building-zhaopins-enterprise-event-center-on-apache-pulsar' + }, + { + forum: '', + forum_link: '', + presenter: 'Sijie Guo', + date: 'August 2019', + title: "When Apache Pulsar meets Apache Flink", + link: 'https://www.slideshare.net/streamnative/when-apache-pulsar-meets-apache-flink' + }, + { + forum: 'Apache Pulsar Meetup | Beijing', + forum_link: 'https://www.huodongxing.com/event/1502359221000', + presenter: 'Sijie Guo, Yong Zhang', + date: 'August 2019', + title: "Transaction Support in Pulsar 2.5.0", + link: 'https://www.slideshare.net/streamnative/transaction-support-in-pulsar-250' + }, + { + forum: 'Apache Pulsar Meetup | Beijing', + forum_link: 'https://www.huodongxing.com/event/1502359221000', + presenter: 'Yijie Shen', + date: 'August 2019', + title: "Integrating Apache Pulsar with Big Data Ecosystem", + link: 'https://www.slideshare.net/streamnative/8-integrate-apachepulsarwithbigdataecosystem' + }, + { + forum: 'Apache Pulsar Meetup | Beijing', + forum_link: 'https://www.huodongxing.com/event/1502359221000', + presenter: 'Penghui Li, Bo Cong', + date: 'August 2019', + title: "How Zhaopin contributes to Pulsar community", + link: 'https://www.slideshare.net/streamnative/3-zhaopin-inpulsarcommunity-165096725' + }, + { + forum: 'Apache Pulsar Meetup | Beijing', + forum_link: 'https://www.huodongxing.com/event/1502359221000', + presenter: 'Jia Zhai', + date: 'August 2019', + title: "Kafka on Pulsar(KOP)", + link: 'https://www.slideshare.net/streamnative/2-kafkaonpulsarjia' + }, + { + forum: 'Apache Pulsar Meetup | Beijing', + forum_link: 'https://www.huodongxing.com/event/1502359221000', + presenter: 'Nozomi Kurihara', + date: 'August 2019', + title: "Apache Pulsar at Yahoo!JAPAN", + link: 'https://www.slideshare.net/streamnative/1-apache-pulsaratyahoojapan-165095533' + }, + { + forum: '', + forum_link: '', + presenter: 'Sijie Guo', + date: 'June 2019', + title: "What's new in apache pulsar 2.4.0", + link: 'https://www.slideshare.net/streamnative/whats-new-in-apache-pulsar-240' + }, + { + forum: 'Apache Pulsar Meetup | Shenzhen', + forum_link: 'https://www.huodongxing.com/event/9495713659500', + presenter: 'Yijie Shen', + date: 'June 2019', + title: 'A Unified Platform for Real-time Storage and Processing - Apache Pulsar as Stream Storage, Apache Spark for Processing as an example', + link: 'https://www.slideshare.net/streamnative/a-unified-platform-for-realtime-storage-and-processing' + }, + { + forum: 'Ray Forward Beijing Meetup', + forum_link: 'https://tech.antfin.com/community/activities/698', + presenter: 'Sijie Guo', + date: 'June 2019', + title: 'Serverless Event Streaming with Pulsar Functions', + link: 'https://www.slideshare.net/streamnative/serverless-event-streaming-with-pulsar-functions' + }, + { + forum: 'Flink Forward San Francisco 2019', + forum_link: 'https://sf-2019.flink-forward.org/', + presenter: 'Sijie Guo', + date: 'April 2019', + title: 'Elastic Data Processing with Apache Flink and Apache Pulsar', + link: 'https://www.slideshare.net/streamnative/elastic-data-processing-with-apache-flink-and-apache-pulsar' + }, + { + forum: 'Strata Data San Francisco 2019', + forum_link: '', + presenter: 'Penghui Li, Sijie Guo', + date: 'March 2019', + title: 'How Zhaopin built its Event Center using Apache Pulsar', + link: 'https://www.slideshare.net/streamnative/how-zhaopin-built-its-event-center-using-apache-pulsar-152691364' + }, + { + forum: 'Strata San Jose', + forum_link: 'https://conferences.oreilly.com/strata/strata-ca', + presenter: 'Matteo Merli', + date: 'March 2018', + title: 'Effectively-once semantics in Apache Pulsar', + link: 'https://www.slideshare.net/merlimat/effectivelyonce-semantics-in-apache-pulsar' + }, + { + forum: '', + forum_link: '', + presenter: 'Matteo Merli', + date: 'November 2016', + title: 'Pulsar: a distributed pub-sub platform', + link: 'https://www.slideshare.net/merlimat/pulsar-distributed-pubsub-platform' + }, + { + forum: 'Bay Area Hadoop Meetup', + forum_link: 'https://www.meetup.com/hadoop', + presenter: 'Matteo Merli', + date: 'October 2016', + title: 'Pulsar: a highly scalable, low-latency pub-sub messaging system', + link: 'https://www.slideshare.net/ydn/october-2016-hug-pulsar-a-highly-scalable-low-latency-pubsub-messaging-system' + } + ] +} diff --git a/site2/website-next/data/team.js b/site2/website-next/data/team.js new file mode 100644 index 0000000000000..2253e7ccaa893 --- /dev/null +++ b/site2/website-next/data/team.js @@ -0,0 +1,264 @@ +module.exports = { + committers: [ + { + name: 'Ali Ahmed', + apacheId: 'aahmed', + roles: 'Committer' + }, + { + name: 'Addison Higham', + apacheId: 'addisonj', + org: 'StreamNative', + roles: 'Committer' + }, + { + name: 'Bo Cong', + apacheId: 'bogong', + org: 'StreamNative', + roles: 'Committer' + }, + { + name: 'Boyang Jerry Peng', + apacheId: 'jerrypeng', + org: 'Streamlio', + roles: 'Committer, PMC' + }, + { + name: 'Brad McMillen', + apacheId: 'bradtm', + org: 'Yahoo', + roles: 'Committer, PMC', + }, + { + name: 'Chris Kellogg', + apacheId: 'cckellogg', + org: 'Splunk', + roles: 'Committer' + }, + { + name: 'Daniel Blankensteiner', + apacheId: 'blankensteiner', + roles: 'Committer' + }, + { + name: 'David Fisher', + apacheId: 'wave', + roles: 'Committer, PMC' + }, + { + name: 'Enrico Olivelli', + apacheId: 'eolivelli', + roles: 'Committer, PMC' + }, + { + name: 'Fangbin Sun', + apacheId: 'sunfangbin', + roles: 'Committer' + }, + { + name: 'Francis Christopher Liu', + apacheId: 'toffer', + roles: 'Committer, PMC' + }, + { + name: 'Guangning E', + apacheId: 'guangning', + roles: 'Committer' + }, + { + name: 'Hang Chen', + apacheId: 'chenhang', + org: 'BIGO Technology', + roles: 'Committer, PMC' + }, + { + name: 'Hiroyuki Sakai', + apacheId: 'hrsakai', + org: 'Yahoo Japan Corporation', + roles: 'Committer, PMC' + }, + { + name: 'Huanli Meng', + apacheId: 'huanlimeng', + org: 'StreamNative', + roles: 'Committer' + }, + { + name: 'Ivan Brendan Kelly', + apacheId: 'ivank', + org: 'Streamlio', + roles: 'Committer, PMC' + }, + { + name: 'Jai Asher', + apacheId: 'jai1', + org: 'Yahoo', + roles: 'Committer, PMC' + }, + { + name: 'Jennifer Huang', + apacheId: 'hjf', + org: 'StreamNative', + roles: 'Committer, PMC' + }, + { + name: 'Jia Zhai', + apacheId: 'zhaijia', + org: 'StreamNative', + roles: 'Committer, PMC' + }, + { + name: 'Jim Jagielski', + apacheId: 'jim', + roles: 'Committer, PMC' + }, + { + name: 'Joe Francis', + apacheId: 'joef', + org: 'Yahoo', + roles: 'Committer, PMC' + }, + { + name: 'Lari Hotari', + apacheId: 'lhotari', + org: 'DataStax', + roles: 'Committer' + }, + { + name: 'Lin Lin', + apacheId: 'linlin', + org: 'Tencent', + roles: 'Committer, PMC' + }, + { + name: 'Ludwig Pummer', + apacheId: 'ludwigp', + org: 'Yahoo', + roles: 'Committer, PMC' + }, + { + name: 'Masahiro Sakamoto', + apacheId: 'massakam', + org: 'Yahoo Japan Corporation', + roles: 'Committer, PMC' + }, + { + name: 'Masakazu Kitajo', + apacheId: 'maskit', + org: '', + roles: 'Committer, PMC' + }, + { + name: 'Matteo Merli', + apacheId: 'mmerli', + org: 'Streamlio', + roles: 'Committer, PMC' + }, + { + name: 'Nozomi Kurihara', + apacheId: 'nkurihar', + org: 'Yahoo Japan Corporation', + roles: 'Committer, PMC' + }, + { + name: 'P. Taylor Goetz', + apacheId: 'ptgoetz', + roles: 'Committer, PMC' + }, + { + name: 'Penghui Li', + apacheId: 'penghui', + roles: 'Committer, PMC' + }, + { + name: 'Rajan Dhabalia', + apacheId: 'rdhabalia', + org: 'Yahoo', + roles: 'Committer, PMC' + }, + { + name: 'Ran Gao', + apacheId: 'rgao', + org: 'StreamNative', + roles: 'Committer' + }, + { + name: 'Rui Fu', + apacheId: 'rfu', + org: 'StreamNative', + roles: 'Committer' + }, + { + name: 'Sahaya Andrews', + apacheId: 'andrews', + org: 'Yahoo', + roles: 'Committer, PMC' + }, + { + name: 'Sanjeev Kulkarni', + apacheId: 'sanjeevrk', + org: 'Streamlio', + roles: 'Committer, PMC' + }, + { + name: 'Sebastián Schepens', + apacheId: 'sschepens', + org: 'MercadoLibre', + roles: 'Committer, PMC' + }, + { + name: 'Siddharth Boobna', + apacheId: 'sboobna', + org: 'Salesforce', + roles: 'Committer, PMC' + }, + { + name: 'Sijie Guo', + apacheId: 'sijie', + org: 'StreamNative', + roles: 'Committer, PMC' + }, + { + name: 'Xiaolong Ran', + apacheId: 'rxl', + org: 'StreamNative', + roles: 'Committer' + }, + { + name: 'Yijie Shen', + apacheId: 'yjshen', + org: 'KUAISHOU', + roles: 'Committer' + }, + { + name: 'Yu Liu', + apacheId: 'liuyu', + org: 'StreamNative', + roles: 'Committer' + }, + { + name: 'Yuki Shiga', + apacheId: 'yushiga', + org: 'Yahoo Japan Corporation', + roles: 'Committer, PMC' + }, + { + name: 'Yunze Xu', + apacheId: 'xyz', + org: 'StreamNative', + roles: 'Committer' + }, + { + name: 'Yuto Furuta', + apacheId: 'k2la', + org: 'Yahoo Japan Corporation', + roles: 'Committer' + }, + { + name: 'Yong Zhang', + apacheId: 'yong', + org: 'StreamNative', + roles: 'Committer' + } + ] +} diff --git a/site2/website-next/data/users.js b/site2/website-next/data/users.js new file mode 100644 index 0000000000000..da1f2c293e438 --- /dev/null +++ b/site2/website-next/data/users.js @@ -0,0 +1,339 @@ +module.exports = [ + { + name: 'Kingsoft Cloud', + url: 'https://www.ksyun.com/', + logo: 'https://fe.ksyun.com/header/images/pc/logo.png?a048d39f', + logo_white: true + }, + { + name: 'Narvar', + url: 'https://corp.narvar.com/', + logo: 'https://assets-global.website-files.com/5d278e4646ba9e55d6c67475/5d49ce69c03a64b2d8466816_Logo%20-%20Colored.svg', + }, + { + name: 'Giggso', + url: 'https://giggso.com/', + logo: 'https://www.giggso.com/wp-content/uploads/2021/06/logo-giggs.png', + }, + { + name: 'STICorp', + url: 'https://www.sticorp.com.br/', + logo: 'https://sticorp.com.br/wp-content/uploads/2021/02/logo-sticorp.png', + }, + { + name: 'Verizon Media', + url: 'https://www.verizonmedia.com/', + logo: 'https://upload.wikimedia.org/wikipedia/commons/thumb/0/09/Verizon_Media_2019_logo.svg/1200px-Verizon_Media_2019_logo.svg.png', + featured: 1 + }, + { + name: 'Yahoo! JAPAN', + url: 'https://www.yahoo.co.jp/', + logo: 'https://s.yimg.jp/images/top/sp2/cmn/logo-170307.png', + featured: 2 + }, + { + name: 'Zhaopin', + url: 'https://www.zhaopin.com/', + logo: 'https://fecdn5.zhaopin.cn/www/assets/zhaopin.4659478df1ec9a2e6ed76997a64884f6.png' + }, + { + name: 'Onde', + url: 'https://onde.app/', + logo: 'https://pbs.twimg.com/profile_images/1142024893229346818/JlCmThRZ_200x200.png', + }, + { + name: 'Overstock', + url: 'https://www.overstock.com/', + logo: 'https://ak1.ostkcdn.com/img/mxc/OSTK_MAIN_LOGO_20181127KCH.jpg' + }, + { + name: 'Ndustrial.io', + url: 'https://www.ndustrial.io/', + logo: 'https://images.squarespace-cdn.com/content/v1/56df41f2f699bb94c7a2c6fc/1552657060081-WX86GJXHX7UK81RGE6YU/ke17ZwdGBToddI8pDm48kKCofG1A85AnHnyK5g0bGkJZw-zPPgdn4jUwVcJE1ZvWQUxwkmyExglNqGp0IvTJZUJFbgE-7XRK3dMEBRBhUpzRPjxD400fzchYtVcY_asIzZyz67rHxPkx39rBmDbrxrXjNbFEDrPRRKbjQDhrWWQ/ndustrial.png' + }, + { + name: 'Nutanix', + url: 'https://www.nutanix.com/', + logo: 'https://www.zuora.com/wp-content/uploads/2017/05/nutanix.png', + featured: 4 + }, + { + name: 'The Hut Group', + url: 'https://www.thg.com', + logo: 'https://1000logos.net/wp-content/uploads/2020/09/THG-Logo-1024x640.png' + }, + { + name: 'Turtlequeue', + url: 'https://turtlequeue.com', + logo: 'https://turtlequeue.com/logo_black.png' + }, + { + name: 'ProxyClick', + url: 'https://www.proxyclick.com/', + logo: 'https://www.proxyclick.com/hubfs/assets/images/logo-positive.svg' + }, + { + name: 'Toast', + url: 'https://toasttab.com', + logo: 'https://cdn2.hubspot.net/hubfs/412971/toast-restaurant-pos.png' + }, + { + name: 'Quantel AI', + url: 'http://quantel.ai/', + logo: 'https://static.wixstatic.com/media/7c19eb_41a090c255c94d19bc37cca9777c1d90~mv2.jpg/v1/fill/w_314,h_270,al_c,q_80,usm_0.66_1.00_0.01/Quantel-final%20white%20bg.webp' + }, + { + name: 'Splunk', + url: 'https://splunk.com/', + logo: 'https://www.splunk.com/content/dam/splunk-blogs/images/2017/02/splunk-logo.png', + featured: 5 + }, + { + name: 'StreamNative', + url: 'https://streamnative.io/', + logo: 'https://streamnative.io/assets/static/sn-logo-vertical-dark.c516648.a34f97839dee38e7499aa0c21d0b2255.png', + }, + { + name: 'EMQ', + url: 'https://www.emqx.io/', + logo: 'https://www.emqx.io/images/logo.png', + }, + { + name: 'Tencent', + url: 'https://www.tencent.com', + logo: 'http://pluspng.com/img-png/tencent-png-tencent-logo-logotype-emblem-2-7537.png', + featured: 3 + }, + { + name: 'Comcast', + url: 'https://corporate.comcast.com/', + logo: 'https://corporate.comcast.com/resources/corporate/assets/images/svg/logo-desktop.svg' + }, + { + name: 'China Mobile', + url: 'https://www.chinamobileltd.com/', + logo: 'https://www.chinamobileltd.com/en/images/global/logo.svg' + }, + { + name: 'VipKid', + url: 'https://t.vipkid.com.cn/', + logo: 'https://s.vipkidstatic.com/fe-static/teacher/mkt-pc/img/e74f189.svg' + }, + { + name: 'Vivy', + url: 'https://www.vivy.com/de/startseite/', + logo: 'https://www.vivy.com/fileadmin/vivy-startpage/vivy_logo.svg' + }, + { + name: 'IoTium', + url: 'https://www.iotium.io/', + logo: 'https://www.iotium.io/site/wp-content/uploads/2018/04/IoTium-logo.jpg' + }, + { + name: 'One Click Retail', + url: 'https://oneclickretail.com/', + logo: 'https://www.ascentialedge.com/themes/contrib/custom/images/edge-by-ascential.svg', + logo_white: true + }, + { + name: 'Tuya', + url: 'https://en.tuya.com/', + logo: 'https://static1.tuyaus.com/static/portal_intl/img/e25eefa.png' + }, + { + name: 'China Telecom', + url: 'https://www.chinatelecom-h.com/', + logo: 'https://www.chinatelecom-h.com/en/images/global/logo.png' + }, + { + name: 'Kafkaesque', + url: 'https://kafkaesque.io/', + logo: 'https://kafkaesque.io/wp-content/uploads/2019/04/color_logo_with_background.svg' + }, + { + name: 'OKCoin', + url: 'https://www.okcoin.com/', + logo: 'https://i0.wp.com/blog.okcoin.com/wp-content/uploads/2019/08/OKCoin-Logo-Spring2019-250x60px-01.png?fit=251%2C62&ssl=1', + }, + { + name: 'BestPay', + url: 'https://www.bestpay.com.cn/', + logo: 'https://www.bestpay.com.cn/global/oig/images/logo.png' + }, + { + name: '360', + url: 'https://www.360.cn/', + logo: 'http://p2.ssl.qhimg.com/t01d91636862957f76e.png' + }, + { + name: 'Lakala', + url: 'http://www.lakala.com/', + logo: 'http://www.lakala.com/templets/default/image/temp/logo.png' + }, + { + name: 'Huya', + url: 'https://www.huya.com/', + logo: 'https://a.msstatic.com/huya/main/img/logo2.png', + logo_white: true + }, + { + name: 'CTWing', + url: 'https://www.ctwing.cn/', + logo: 'https://www.ctwing.cn/r/cms/www/default/images/public/logo.png' + }, + { + name: 'Globalegrow E-Commerce', + url: 'https://www.globalegrow.com/', + logo: 'https://static.globalegrow.com/dist/images/domeimg/ch/logo.jpg' + }, + { + name: 'YunZhiHuLian', + url: 'https://www.weihudashi.com', + logo: 'https://www.weihudashi.com/image/header-logo.png' + }, + { + name: 'XiaoDuoAI', + url: 'https://www.xiaoduoai.com/', + logo: 'https://cdn.xiaoduoai.com/official-site/dist/assets/img/indexPage/xiaoduo_logo_en_white.843927.png', + logo_white: true + }, + { + name: 'Shihong', + url: 'https://shihong.net.cn', + logo: 'https://www.shihong.net.cn/website/static/src/img/shihong1.png' + }, + { + name: 'CleverCloud', + url: 'https://www.clever-cloud.com/en/', + logo: 'https://www.clever-cloud.com/images/brand-assets/logos/v2/logo_on_white.svg' + }, + { + name: 'OVHcloud', + url: 'https://www.ovhcloud.com/', + logo: 'https://www.ovh.com/world/images/logo/ovhLogoColor.svg' + }, + { + name: 'BrandsEye', + url: 'https://www.brandseye.com/', + logo: 'https://www.brandseye.com/theme-images/brandseye-logo-v2.png' + }, + { + name: 'Max Kelsen', + url: 'https://maxkelsen.com/', + logo: 'https://maxkelsen.com/imgs/logo/Max-Kelsen-logo-black.png' + }, + { + name: 'HSL Developer Community of Helsinki Regional Transport Authority', + url: 'https://dev.hsl.fi/', + logo: 'https://pbs.twimg.com/profile_images/2507371771/9toyr6r5ngcozfwg42zv_400x400.png' + }, + // { + // name: 'Ottoo', + // url: 'https://ottoo.com', + // logo: 'https://ottoo.com/assets/images/ottoo-logo.svg' + // }, + { + name: 'MercadoLibre', + url: 'https://www.mercadolibre.com/', + logo: 'https://d1.awsstatic.com/case-studies/LATAM/mercadolibre.1d9d3766bb06e60948f1c5ce8851ce0eac63b349.png' + }, + { + name: 'BIGO', + url: 'https://www.bigo.sg/', + logo: 'https://static-web.bigolive.tv/as/bigo-static/official_website/pc/img/about/logo-blue-big.png', + }, + { + name: 'Keytop', + url: 'https://www.ikeytop.com/', + logo: 'https://static.wixstatic.com/media/ecbdea_434ae22f85ed4e93ba3fdc39c7141c3f~mv2.png/v1/fill/w_424,h_116,al_c,usm_0.66_1.00_0.01/Keytop_logo.png', + }, + { + name: 'Zhihu', + url: 'https://www.zhihu.com/', + logo: 'https://pic4.zhimg.com/80/v2-a47051e92cf74930bedd7469978e6c08_hd.png', + }, + { + name: 'Newland', + url: 'http://www.nlsoft.com.cn/', + logo: 'http://www.nlsoft.com.cn/images/common/logo.png', + }, + { + name: 'PalFish', + url: 'https://www.ipalfish.com/', + logo: 'https://s04.cdn.ipalfish.com/kid/img/logo.ad4731cb.png', + }, + { + name: 'Dada Group', + url: 'https://about.imdada.cn', + logo: 'https://fe.imdada.cn/alaskan/static/logo_color-aaed10c6738b703ad2b54c17f4c3f114.png', + }, + { + name: 'Huawei Cloud', + url: 'https://www.huaweicloud.com', + logo: 'https://res.hc-cdn.com/cnpm-common-resource/2.0.2/base/header/components/images/logo.png', + }, + { + name: 'Su Ning', + url: 'https://www.suning.com', + logo: 'https://image1.suning.cn/uimg/cms/img/159642507148437980.png', + }, + { + name: 'Pingan Securites', + url: 'https://stock.pingan.com', + logo: 'https://stock.pingan.com/static/uploads/softdowm/2018-10-9/upload_c9ac4929e293f5109623b541740618ba.png', + }, + { + name: 'Ge Tui', + url: 'https://www.getui.com', + logo: 'https://gt-static.getui.com/getui_pc/client/img/e33ecd9.svg', + logo_white: true + }, + { + name: 'DataStax', + url: 'https://datastax.com', + logo: 'https://www.datastax.com/sites/default/files/inline-images/datastax-logotype-negative.png', + logo_white: false + }, + { + name: 'KAISA', + url: 'https://www.kaisafin.com', + logo: 'https://www.kaisafin.com/images/logo.svg', + }, + { + name: 'Bairong.Inc', + url: 'http://www.brgroup.com', + logo: 'http://www.brgroup.com/_nuxt/img/d2a976e.png', + logo_white: true + }, + { + name: 'Itcast.cn', + url: 'http://www.itcast.cn', + logo: 'http://www.itcast.cn/2018czgw/images/logo2.png', + }, + { + name: 'Appen', + url: 'https://www.appen.com.cn/', + logo: 'https://resources.appen.com/wp-content/uploads/2020/03/no-tagline.svg', + }, + { + name: 'Pandio', + url: 'https://pandio.com', + logo: 'https://pandio-public-assets.s3-us-west-2.amazonaws.com/pandio_225-05.png', + }, + { + name: 'Deposit-Solutions', + url: 'https://www.deposit-solutions.com/', + logo: 'https://media-exp1.licdn.com/dms/image/C4E0BAQGWAAW9iYFSwA/company-logo_200_200/0/1625219600895?e=1638403200&v=beta&t=iGNhEWlAFQDJOHAScjumctjY5M2eSU4fL4X-9kgpR2M' + }, + { + name: 'Macrometa', + url: 'https://macrometa.com', + logo: 'https://uploads-ssl.webflow.com/5fa9e94bc848ae335afdd627/602ae50ae801b44f15185683_logo-moc-blue.png', + }, + { + name: 'Softtech', + url: 'https://softtech.com.tr/en/homepage/', + logo: 'https://softtech.com.tr/wp-content/uploads/2017/12/SOFTTECH-LOGO.png', + } +].sort((a, b) => (a.name > b.name) ? 1 : -1); diff --git a/site2/website-next/docusaurus.config.js b/site2/website-next/docusaurus.config.js index f0b98631281ff..36b40b73cf0b9 100644 --- a/site2/website-next/docusaurus.config.js +++ b/site2/website-next/docusaurus.config.js @@ -98,6 +98,9 @@ module.exports = { favicon: "img/favicon.ico", organizationName: "apache", projectName: "pulsar", + customFields: { + githubUrl, + }, themeConfig: { navbar: { title: "", @@ -145,26 +148,7 @@ module.exports = { }, footer: { style: "dark", - links: [ - { - title: "More", - items: [ - { - label: "Docs", - to: "/docs", - }, - { - label: "Blog", - to: "/blog", - }, - { - label: "GitHub", - href: "https://github.com/apache/pulsar", - }, - ], - }, - ], - copyright: `Copyright © ${new Date().getFullYear()} Apache Pulsar, Inc.`, + copyright: `Inc.Copyright © ${new Date().getFullYear()} The Apache Software Foundation. All Rights Reserved. Apache, Apache Pulsar and the Apache feather logo are trademarks of The Apache Software Foundation.`, }, prism: { // theme: lightCodeTheme, @@ -210,5 +194,6 @@ module.exports = { fromExtensions: ["md"], }, ], + "./postcss-tailwind-loader", ], }; diff --git a/site2/website-next/package.json b/site2/website-next/package.json index 833240c621999..dfe0459bda87e 100644 --- a/site2/website-next/package.json +++ b/site2/website-next/package.json @@ -17,13 +17,20 @@ "@docusaurus/core": "2.0.0-beta.6", "@docusaurus/plugin-client-redirects": "^2.0.0-beta.6", "@docusaurus/preset-classic": "2.0.0-beta.6", + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", "@mdx-js/react": "^1.6.22", + "@mui/material": "^5.0.4", "@svgr/webpack": "^5.5.0", "clsx": "^1.1.1", "file-loader": "^6.2.0", + "install": "^0.13.0", + "npm": "^8.1.0", "prism-react-renderer": "^1.2.1", "react": "^17.0.2", "react-dom": "^17.0.2", + "react-markdown": "^7.0.1", + "react-svg": "^14.0.15", "remark-linkify-regex": "^1.0.0", "replace-in-file": "^6.2.0", "url-loader": "^4.1.1" @@ -39,5 +46,14 @@ "last 1 firefox version", "last 1 safari version" ] + }, + "devDependencies": { + "autoprefixer": "^10.3.7", + "postcss": "^8.3.9", + "postcss-cli": "^9.0.1", + "postcss-import": "^14.0.2", + "postcss-nested": "^5.0.6", + "postcss-preset-env": "^6.7.0", + "tailwindcss": "^2.2.17" } } diff --git a/site2/website-next/postcss-tailwind-loader.js b/site2/website-next/postcss-tailwind-loader.js new file mode 100644 index 0000000000000..9cce0d4c525b1 --- /dev/null +++ b/site2/website-next/postcss-tailwind-loader.js @@ -0,0 +1,14 @@ +module.exports = function (context, options) { + return { + name: "postcss-tailwindcss-loader", + configurePostCss(postcssOptions) { + postcssOptions.plugins.push( + require("postcss-import"), + require("tailwindcss"), + require("postcss-nested"), + require("autoprefixer") + ); + return postcssOptions; + }, + }; +}; diff --git a/site2/website-next/src/components/HomepageFeatures.js b/site2/website-next/src/components/HomepageFeatures.js index 68ac5253d5f8f..c2497cce1ff90 100644 --- a/site2/website-next/src/components/HomepageFeatures.js +++ b/site2/website-next/src/components/HomepageFeatures.js @@ -1,12 +1,15 @@ import React from "react"; import clsx from "clsx"; import styles from "./HomepageFeatures.module.css"; +import ReactMarkdown from "react-markdown"; +import { docUrl } from "../utils/index"; -const FeatureList = [ +const FeatureList = (language) => [ { - title: "Pulsar Functions", + // title: "Pulsar Functions", + title: `[Pulsar Functions](${docUrl("functions-overview", language)})`, // Svg: require("../../static/img/undraw_docusaurus_mountain.svg").default, - description: ( + content: ( <> Easy to deploy, lightweight compute process, developer-friendly APIs, no need to run your own stream processing engine. @@ -14,9 +17,12 @@ const FeatureList = [ ), }, { - title: "Proven in production", + title: `[Proven in production](${docUrl( + "concepts-architecture-overview", + language + )})`, // Svg: require("../../static/img/undraw_docusaurus_tree.svg").default, - description: ( + content: ( <> Run in production at Yahoo! scale for over 5 years, with millions of messages per second across millions of topics. @@ -24,32 +30,71 @@ const FeatureList = [ ), }, { - title: "Horizontally scalable", + title: `[Horizontally scalable](${docUrl( + "concepts-architecture-overview", + language + )})`, // Svg: require("../../static/img/undraw_docusaurus_react.svg").default, - description: <>Expand capacity seamlessly to hundreds of nodes.>, + content: <>Expand capacity seamlessly to hundreds of nodes.>, + }, + { + content: + "Low publish latency (< 5ms) at scale with strong durability guarantees.", + title: `[Low latency with durability](${docUrl( + "concepts-architecture-overview", + language + )})`, + }, + { + content: + "Configurable replication between data centers across multiple geographic regions.", + title: `[Geo-replication](${docUrl("administration-geo", language)})`, + }, + { + content: + "Built from the ground up as a multi-tenant system. Supports isolation, authentication, authorization and quotas.", + title: `[Multi-tenancy](${docUrl("concepts-multi-tenancy", language)})`, + }, + { + content: + "Persistent message storage based on Apache BookKeeper. IO-level isolation between write and read operations.", + title: `[Persistent storage](${docUrl( + "concepts-architecture-overview#persistent-storage", + language + )})`, + }, + { + content: + "Flexible messaging models with high-level APIs for Java, Go, Python, C++, Node.js, WebSocket and C#.", + title: `[Client libraries](${docUrl("client-libraries", language)})`, + }, + { + content: + "REST Admin API for provisioning, administration, tools and monitoring. Can be deployed on bare metal, Kubernetes, Amazon Web Services(AWS), and DataCenter Operating System(DC/OS).", + title: `[Operability](${docUrl("admin-api-overview", language)})`, }, ]; -function Feature({ Svg, title, description }) { +function Feature({ Svg, title, content }) { return ( -
{description}
+{content}
{siteConfig.tagline}
-+ + + Companies Powered by Pulsar + + +
++ Apache Pulsar is available under the{" "} + + Apache License, version 2.0 + + . +
+