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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]