[Doc] Refine language issues
### Motivation
The description of "Assignment granularity" is not quite clear, i'm trying to make it easy to understand.
### Modifications
1. Refine the description of "Assignment granularity".
2. Refine some language issues.
@@ -20,26 +20,23 @@ context to understand how the traffic is managed in Pulsar.
Topics are dynamically assigned to brokers based on the load conditions of all brokers in the
cluster.
-When a clients starts using new topics that are not assigned to any broker, it will trigger a
-process that, given the load conditions, it will choose the best suited broker to acquire ownership
-of such topic.
+When a client starts using new topics that are not assigned to any broker, a
+process is triggered to choose the best suited broker to acquire ownership
+of these topics according to the load conditions.
-In case of partitioned topics, different partitions might be assigned to different brokers. We talk
-about "topic" in this context to mean either a non-partitioned topic or one partition of a topic.
+In case of partitioned topics, different partitions are assigned to different brokers. Here "topic" means either a non-partitioned topic or one partition of a topic.
-The assignment is "dynamic" because it can change very quickly. For example, if the broker owning
+The assignment is "dynamic" because it changes quickly. For example, if the broker owning
the topic crashes, the topic will be reassigned immediately to another broker. Another scenario is
-that the broker owning the topic becomes overloaded. In this case too, the topic will be
+that the broker owning the topic becomes overloaded. In this case, the topic is
reassigned to a less loaded broker.
-The dynamic assignment is made possible by the stateless nature of brokers. This also ensure that
-we can quickly expand or shrink the cluster based on usage.
+The dynamic assignment is made possible by the stateless nature of brokers, so you can
+quickly expand or shrink the cluster based on usage.
### Assignment granularity
-The assignment of topics/partitions to brokers is not done at the individual level. The reason for
-it is to amortize the amount of information that we need to keep track (eg. which topics are
-assigned to a particular broker, what's the load on topics for a broker and similar).
+The assignment of topics/partitions to brokers is not done at the topics/partitions level, but done at the Bundle level (a higher level). The reason is to amortize the amount of information that you need to keep track. Based on CPU, memory, traffic load and other indexes, topics are assigned to a particular broker dynamically.
Instead of individual topic/partition assignment, each broker takes ownership of a subset of the
topics for a namespace. This subset is called a "*bundle*" and effectively it's a sharding
