asafm commented on code in PR #349: URL: https://github.com/apache/pulsar-site/pull/349#discussion_r1083426955
########## src/pages/index.js: ########## @@ -191,7 +190,9 @@ export default function Home() { /> <SubHeroBlock heading="What is Apache Pulsar?" - content="Apache Pulsar is a cloud-native, multi-tenant, high-performance solution for server-to-server messaging and queuing built on the publisher-subscribe (pub-sub) pattern. Pulsar combines the best features of a traditional messaging system like RabbitMQ with those of a pub-sub system like Apache Kafka – scaling up or down dynamically without downtime. It's used by thousands of companies for high-performance data pipelines, microservices, instant messaging, data integrations, and more." + content="Apache Pulsar is an all-in-one messaging and streaming platform. Messages can be consumed and acknowledged individually or consumed as streams with less than 5ms of latency. Its layered architecture allows rapid scaling across hundreds of nodes, without data reshuffling. Its features include multi-tenancy with resource separation and access control, geo-replication across regions, tiered storage and support for five official client languages. It supports up to one million unique topics and is designed to simplify your application architecture. + +Pulsar is a Top 10 Apache Software Foundation project and has a vibrant and passionate community and user base spanning small companies and large enterprises." Review Comment: @michaeljmarshall You mean this one? https://news.apache.org/foundation/entry/apache-in-2021-by-the, where we can see pulsar is number 5th by number of commits? ########## src/components/HomepageFeatures.js: ########## @@ -4,48 +4,48 @@ import ReactMarkdown from "react-markdown"; const FeatureList = (language) => [ { - title: "Cloud-native", - Svg: require("../../static/img/Technology-Solution.svg").default, - content: "A multiple layer approach separating compute from storage to work with cloud infrastructures and Kubernetes.", + title: "Automatic Load Balancing", + Svg: require("../../static/img/automatic-load-balancing.svg").default, + content: "Add or remove nodes and let Pulsar load balance topic bundles automatically. Hot spotted topic bundles are automatically split and evenly distributed across the brokers.", }, { title: "Serverless functions", Svg: require("../../static/img/proven-in-production.svg").default, - content:"Write serverless functions with developer-friendly APIs to natively process data immediately upon arrival. No need to run your own stream processing engine.", + content:"Write and deploy functions natively using Pulsar Functions. Process messages using Java, Go, or Python without deploying fully-fledged applications. Kubernetes runtime is bundled.", }, { - title: "Horizontally scalable", + title: "Rapid Horizontal Scalability", Svg: require("../../static/img/horizontally-scalable.svg").default, - content: "Expand capacity seamlessly to hundreds of nodes.", + content: "Scales horizontally to handle the increased load. Its unique design and separate storage layer enable handling the sudden surge in traffic by scaling out in seconds.", }, { - title: "Low latency with durability", + title: "Low-latency messaging and streaming", Svg: require("../../static/img/low-latency.svg").default, - content:"Low publish latency (< 5ms) at scale with strong durability guarantees.", + content:"Acknowledge messages individually (RabbitMQ style) or cumulative per partition (i.e., offset-like). Enables use cases such as distributed work queues or order-preserving data streams at very large scales (hundreds of nodes) and low latency (<5ms).", }, { - title: "Geo-replication", + title: "Seamless Geo-Replication", Svg: require("../../static/img/geo-replication.svg").default, - content: "Configurable replication between data centers across multiple geographic regions.", + content: "Protect against complete zone outages using replication across different geographic regions. Flexible and configurable replication strategies across distant Pulsar Clusters. Uniquely supports automatic client failover to healthy clusters.", }, { title: "Multi-tenancy", Svg: require("../../static/img/multi-tenancy.svg").default, - content:"Built from the ground up as a multi-tenant system. Supports isolation, authentication, authorization, and quotas.", + content:"Maintain one cluster for your entire organization using tenants. Access control across data and actions using tenant policies. Isolate specific brokers to a tenant when maximum noisy neighbor protection is needed.", }, { - title: "Persistent storage", + title: "Official multi-language support", Svg: require("../../static/img/persistent-storage.svg").default, - content:"Persistent message storage based on Apache BookKeeper. IO-level isolation between write, and read operations.", + content:"Officially maintained Pulsar Clients for Java, Go, Python, C++, Node.js, and C#.", }, { - title: "Client libraries", - Svg: require("../../static/img/client-libraries.svg").default, - content: "Flexible messaging models with high-level APIs for Java, Go, Python, C++, Node.js, WebSocket and C#.", + title: "Official 3rd party integrations", + Svg: require("../../static/img/official-3rd-party-integrations.svg").default, + content: "Pulsar has officially maintained connectors with popular 3rd parties: MySQL, Elasticsearch, Cassandra, and more. Allows streaming data in (source) or out (sink).", }, { - title: "Operability", - Svg: require("../../static/img/operability.svg").default, + title: "Supports up to 1M topics", Review Comment: I think it's a fascinating topic - let's try to get this from the dev/user mailing list ? I personally don't have that much experience with it. ########## src/components/HomepageFeatures.js: ########## @@ -4,48 +4,48 @@ import ReactMarkdown from "react-markdown"; const FeatureList = (language) => [ { - title: "Cloud-native", - Svg: require("../../static/img/Technology-Solution.svg").default, - content: "A multiple layer approach separating compute from storage to work with cloud infrastructures and Kubernetes.", + title: "Automatic Load Balancing", + Svg: require("../../static/img/automatic-load-balancing.svg").default, + content: "Add or remove nodes and let Pulsar load balance topic bundles automatically. Hot spotted topic bundles are automatically split and evenly distributed across the brokers.", }, { title: "Serverless functions", Svg: require("../../static/img/proven-in-production.svg").default, - content:"Write serverless functions with developer-friendly APIs to natively process data immediately upon arrival. No need to run your own stream processing engine.", + content:"Write and deploy functions natively using Pulsar Functions. Process messages using Java, Go, or Python without deploying fully-fledged applications. Kubernetes runtime is bundled.", }, { - title: "Horizontally scalable", + title: "Rapid Horizontal Scalability", Svg: require("../../static/img/horizontally-scalable.svg").default, - content: "Expand capacity seamlessly to hundreds of nodes.", + content: "Scales horizontally to handle the increased load. Its unique design and separate storage layer enable handling the sudden surge in traffic by scaling out in seconds.", }, { - title: "Low latency with durability", + title: "Low-latency messaging and streaming", Svg: require("../../static/img/low-latency.svg").default, - content:"Low publish latency (< 5ms) at scale with strong durability guarantees.", + content:"Acknowledge messages individually (RabbitMQ style) or cumulative per partition (i.e., offset-like). Enables use cases such as distributed work queues or order-preserving data streams at very large scales (hundreds of nodes) and low latency (<5ms).", }, { - title: "Geo-replication", + title: "Seamless Geo-Replication", Svg: require("../../static/img/geo-replication.svg").default, - content: "Configurable replication between data centers across multiple geographic regions.", + content: "Protect against complete zone outages using replication across different geographic regions. Flexible and configurable replication strategies across distant Pulsar Clusters. Uniquely supports automatic client failover to healthy clusters.", }, { title: "Multi-tenancy", Svg: require("../../static/img/multi-tenancy.svg").default, - content:"Built from the ground up as a multi-tenant system. Supports isolation, authentication, authorization, and quotas.", + content:"Maintain one cluster for your entire organization using tenants. Access control across data and actions using tenant policies. Isolate specific brokers to a tenant when maximum noisy neighbor protection is needed.", Review Comment: My plan is to add a Features page, and for there we also list other features which were not highlighted, among them Granular Access Control which will detail also that pulsar support multiple authentication framework. In that page we will devote 1-2 large paragraphs for each feature, therefore having the luxury to expand on it. The way I picture it: Elevator pitch in the beginning will get 10sec attention. Next is the into paragraph, 30 sec attention. Next is the highlighted features, getting us 2-3min attention. Hence, I really try to avoid cognitive overload here and try to focus on the core differentiators and strengths of Pulsar in this landscape. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pulsar.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org