michaeljmarshall commented on code in PR #349:
URL: https://github.com/apache/pulsar-site/pull/349#discussion_r1082919747


##########
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 &#8211; 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:
   What do you think about linking this claim to the ASF blog post?



##########
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:
   It's out of the scope of this PR, but I wonder if we should provide users 
with a reference architecture to better understand how they can achieve the 1M 
topics. Maybe it could be a "cookbook". One reason I mention this is because a 
user might be interested to know how many nodes are required to achieve this 
high number of topics.



##########
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",

Review Comment:
   Yes, if we update the earlier section to add durable back, I think that is 
sufficient.



##########
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",

Review Comment:
   Thanks for revisiting this. I think adding durability back takes care of my 
concerns.



##########
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:
   Is it worth mentioning that Pulsar supports multiple authentication 
frameworks?



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to