This is the setting used for Azure Blob Storage. It is based on the sharding and dynamic provider logic that synchronizes the cluster-file-system.
When using the cluster-azure-blob-storage template, data is temporarily stored on the file system of each node using the Eventual Binary Provider, and is then passed on to your Azure Blob Storage for persistent storage.
Each node has its own local filestore (just like in the file-system binary provider) and is connected to all other cluster nodes via dynamically allocated Remote Binary Providers using the Sharding Cluster Binary Provider..
cluster-azure-blob-storage template configuration
Because you must configure the azure-blob-storage provider with parameters specific to your account (but can leave all other parameters with the recommended values), if you choose to use the cluster-azure-blob-storage template, your binarystore.xml
configuration file should look like this:
<config version="2"> <chain template="cluster-azure-blob-storage"/> <provider id="azure-blob-storage" type="azure-blob-storage"> <accountName>XXXXXX</accountName> <accountKey>XXXXXX</accountKey> <endpoint>https://<ACCOUNT_NAME>.blob.core.windows.net/</endpoint> <containerName><NAME></containerName> </provider> </config>
What's in the template?
While you don't need to configure anything else in your binarystore.xml, this is what the cluster-azure-blob-storage template looks like under the hood:
<config version="2"> <chain template="cluster-azure-blob-storage"/> <provider id="cache-fs-eventual-azure-blob-storage" type="cache-fs"> <provider id="sharding-cluster-eventual-azure-blob-storage" type="sharding-cluster"> <sub-provider id="eventual-cluster-azure-blob-storage" type="eventual-cluster"> <provider id="retry-azure-blob-storage" type="retry"> <provider id="azure-blob-storage" type="azure-blob-storage"/> </provider> </sub-provider> <dynamic-provider id="remote-azure-blob-storage" type="remote"/> </provider> </provider> <!-- cluster eventual Azure Blob Storage Service default chain --> <provider id="sharding-cluster-eventual-azure-blob-storage" type="sharding-cluster"> <readBehavior>crossNetworkStrategy</readBehavior> <writeBehavior>crossNetworkStrategy</writeBehavior> <redundancy>2</redundancy> <lenientLimit>1</lenientLimit> <property name="zones" value="local,remote"/> </provider> <provider id="remote-azure-blob-storage" type="remote"> <zone>remote</zone> </provider> <provider id="eventual-cluster-azure-blob-storage" type="eventual-cluster"> <zone>local</zone> </provider> <!--cluster eventual template--> <provider id="azure-blob-storage" type="azure-blob-storage"> <accountName>XXXXXX</accountName> <accountKey>XXXXXX</accountKey> <endpoint>https://<ACCOUNT_NAME>.blob.core.windows.net/</endpoint> <containerName><NAME></containerName> </provider> </config>
For details about the cache-fs provider, see Cached Filesystem Binary Provider.
For details about the eventual provider, see Eventual Binary Provider.
For details about the retry provider, see Retry Binary Provider.
For details about the remote binary provider, see Remote Binary Provider.
For details about the sharding-cluster, see Sharding-Cluster Binary Provider.