"Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.
The execution units, called tasks, are executed concurrently on a single or more worker servers using multiprocessing, Eventlet, or gevent. Tasks can execute asynchronously (in the background) or synchronously (wait until ready)."
"At Open WhisperSystems, we've been working on improving our encrypted asynchronous chat protocol for TextSecure. The TextSecure protocol was originally a derivative of OTR, with minor changes to accommodate it for transports with constraints like SMS or Push. Some of the recent changes we've made include simplifying and improving OTR's deniability, as well as creating a key exchange mechanism for asynchronous transports. Our most recent change incorporates what we believe to be substantial improvements to OTR's forward secrecy "ratchet.""
A background or asynchronous job (or task) is one that is processed outside of the usual request/response workflow that is part of any modern web framework
Asynchronous tasks on the other hand, are those that may be started from a normal web request, but require a longer time to complete than the normal request.
AS3 manages topology records globally in /Common, it is required that records only be managed through AS3, as it will treat the records declaratively.
If a record is added outside of AS3, it will be removed if it is not included in the next AS3 declaration for topology records (AS3 completely overwrites non-AS3 topologies when a declaration is submitted).
using AS3 to delete a tenant (for example, sending DELETE to the /declare/<TENANT> endpoint) that contains GSLB topologies will completely remove ALL GSLB topologies from the BIG-IP.
When posting a large declaration (hundreds of application services in a single declaration), you may experience a 500 error stating that the save sys config operation failed.
Even if you have asynchronous mode set to false, after 45 seconds AS3 sets asynchronous mode to true (API swap), and returns an async response.
When creating a new tenant using AS3, it must not use the same name as a
partition you separately create on the target BIG-IP system.
If you use the
same name and then post the declaration, AS3 overwrites (or removes) the
existing partition completely, including all configuration objects in that
partition.
use AS3 to create a tenant (which creates a BIG-IP partition),
manually adding configuration objects to the partition created by AS3 can
have unexpected results
When you delete the
Tenant using AS3, the system deletes both virtual servers.
if a Firewall_Address_List contains zero addresses, a dummy IPv6 address of ::1:5ee:bad:c0de is added in order to maintain a valid Firewall_Address_List. If an address is added to the list, the dummy address is removed.
use /mgmt/shared/appsvcs/declare?async=true if you have a particularly large declaration which will take a long time to process.
reviewing the Sizing BIG-IP Virtual Editions section (page 7) of Deploying BIG-IP VEs in a Hyper-Converged Infrastructure
To test whether your system has AS3 installed or not, use GET with the /mgmt/shared/appsvcs/info URI.
You may find it more convenient to put multi-line texts such as iRules into
AS3 declarations by first encoding them in Base64.
no matter your BIG-IP user account name, audit logs show all
messages from admin and not the specific user name.
A replica set in MongoDB is a group of mongod processes
that maintain the same data set.
Replica sets provide redundancy and
high availability, and are the basis for all production
deployments.
With
multiple copies of data on different database servers, replication
provides a level of fault tolerance against the loss of a single
database server.
replication can provide increased read capacity as
clients can send read operations to different servers.
A replica set is a group of mongod instances that maintain
the same data set.
A replica set contains several data bearing nodes
and optionally one arbiter node.
one and
only one member is deemed the primary node, while the other nodes are
deemed secondary nodes.
A replica set can have only one primary capable of
confirming writes with { w: "majority" }
write concern; although in some circumstances, another mongod instance
may transiently believe itself to also be primary.
The secondaries replicate the
primary’s oplog and apply the operations to their data sets such that
the secondaries’ data sets reflect the primary’s data set
add a mongod instance to a replica set as an
arbiter. An arbiter participates in
elections but does not hold data
An arbiter will always be an arbiter
whereas a primary may step down and
become a secondary and a
secondary may become the primary
during an election.
Secondaries replicate the primary’s oplog and apply the operations to
their data sets asynchronously.
These slow oplog messages are logged
for the secondaries in the diagnostic log under the REPL component with the text applied
op: <oplog entry> took <num>ms.
Replication lag refers to the amount of time
that it takes to copy (i.e. replicate) a write operation on the
primary to a secondary.
When a primary does not communicate with the other members of the set
for more than the configured electionTimeoutMillis period
(10 seconds by default), an eligible secondary calls for an election
to nominate itself as the new primary.
The replica set cannot process write operations
until the election completes successfully.
The median time before a cluster elects a new primary should not
typically exceed 12 seconds, assuming default replica
configuration settings.
Factors such as network latency may extend the time required
for replica set elections to complete, which in turn affects the amount
of time your cluster may operate without a primary.
Your application connection logic should include tolerance for automatic
failovers and the subsequent elections.
MongoDB drivers
can detect the loss of the primary and automatically
retry certain write operations a single time,
providing additional built-in handling of automatic failovers and elections
By default, clients read from the primary [1];
however, clients can specify a read preference to send read operations to secondaries.