Skip to content

Commit de1f9a8

Browse files
committed
minor symfony#12301 [Mailer] Better explain the load-balancing options (javiereguiluz)
This PR was squashed before being merged into the 4.3 branch (closes symfony#12301). Discussion ---------- [Mailer] Better explain the load-balancing options Commits ------- bc668cc [Mailer] Better explain the load-balancing options
2 parents 0fb048e + bc668cc commit de1f9a8

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

components/mailer.rst

+24-9
Original file line numberDiff line numberDiff line change
@@ -100,24 +100,37 @@ binary. For third-party providers, refers to the following table:
100100
Sendgrid smtp://apikey:KEY@sendgrid n/a api://KEY@sendgrid
101101
==================== ================================== ================================== ================================
102102

103-
Failover Transport
104-
------------------
103+
Load Balancing
104+
--------------
105105

106-
You can create failover transport with the help of `||` operator::
106+
Symfony's mailer supports `load balancing`_ so you can distribute the mailing
107+
workload across multiple transports. There are two main techniques to balance
108+
the load: failover and round-robin.
109+
110+
Failover Load Balancing
111+
~~~~~~~~~~~~~~~~~~~~~~~
112+
113+
A failover transport is configured with two or more transports joined by the
114+
``||`` operator::
107115

108116
$dsn = 'api://id@postmark || smtp://key@sendgrid';
109117

110-
So if the first transport fails, the mailer will attempt to send through the
111-
second transport.
118+
The mailer will start using the first transport. If the sending fails, the
119+
mailer won't retry it with the other transports, but it will switch to the next
120+
transport automatically for the following deliveries.
112121

113-
Round Robin
114-
-----------
122+
Round-Robin Load Balancing
123+
~~~~~~~~~~~~~~~~~~~~~~~~~~
115124

116-
If you want to send emails by using multiple transports in a round-robin fashion,
117-
you can use the ``&&`` operator between the transports::
125+
A round-robin transport is configured with two or more transports joined by the
126+
``&&`` operator::
118127

119128
$dsn = 'api://id@postmark && smtp://key@sendgrid'
120129

130+
The mailer will start using the first transport and if it fails, it will retry
131+
the same delivery with the next transports until one of them succeeds (or until
132+
all of them fail).
133+
121134
Sending emails asynchronously
122135
-----------------------------
123136

@@ -167,3 +180,5 @@ Learn More
167180

168181
To learn more about how to use the mailer component, refer to the
169182
:doc:`Symfony Framework Mailer documentation </mailer>`.
183+
184+
.. _`load balancing`: https://en.wikipedia.org/wiki/Load_balancing_(computing)

0 commit comments

Comments
 (0)