[jbosscache-commits] JBoss Cache SVN: r5487 - core/trunk/src/main/docbook/userguide/en/modules.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Tue Apr 1 09:31:38 EDT 2008
Author: manik.surtani at jboss.com
Date: 2008-04-01 09:31:38 -0400 (Tue, 01 Apr 2008)
New Revision: 5487
Modified:
core/trunk/src/main/docbook/userguide/en/modules/cache_loaders.xml
Log:
Corrected some Amazon S3 stuff
Modified: core/trunk/src/main/docbook/userguide/en/modules/cache_loaders.xml
===================================================================
--- core/trunk/src/main/docbook/userguide/en/modules/cache_loaders.xml 2008-04-01 13:24:15 UTC (rev 5486)
+++ core/trunk/src/main/docbook/userguide/en/modules/cache_loaders.xml 2008-04-01 13:31:38 UTC (rev 5487)
@@ -902,60 +902,73 @@
<section id="cl.s3">
<title>S3CacheLoader</title>
- <para>The <literal>S3CacheLoader</literal> uses the
- <ulink url="http://aws.amazon.com/">Amazon S3</ulink> (Simple Storage Solution)
- for storing cache data.
+ <para>The
+ <literal>S3CacheLoader</literal>
+ uses the
+ <ulink url="http://aws.amazon.com/">Amazon S3</ulink>
+ (Simple Storage Solution)
+ for storing cache data.
Since Amazon S3 is remote network storage and has fairly high latency,
- it is really best for caches that store large pieces of data, such as media
- or files.
+ it is really best for caches that store large pieces of data, such as media
+ or files.
But consider this cache loader over the JDBC or
- file system based cache loaders if you want remotely managed, highly reliable
- storage. Or, use it for applications running on Amazon's Elastic Compute Cloud.
+ file system based cache loaders if you want remotely managed, highly reliable
+ storage. Or, use it for applications running on Amazon's EC2 (Elastic Compute Cloud).
</para>
- <para>
- If you're planning to use Amazon S3 for storage, consider using it with JBoss Cache.
- JBoss Cache itself provides in-memory caching for your data to minimize the amount of
- remote access calls, thus reducing the latency and cost of fetching your Amazon S3 data.
- With cache replication, you are also able to load data from your local cluster
- without having to remotely access it every time.
+ <para>
+ If you're planning to use Amazon S3 for storage, consider using it with JBoss Cache.
+ JBoss Cache itself provides in-memory caching for your data to minimize the amount of
+ remote access calls, thus reducing the latency and cost of fetching your Amazon S3 data.
+ With cache replication, you are also able to load data from your local cluster
+ without having to remotely access it every time.
</para>
<para>
- Note that Amazon S3 does not support transactions. If transactions
- are used in your application then there is some possibility of state
- inconsistency when using this cache loader. However, writes are atomic, in
- that if a write fails nothing is considered written and data is never
- corrupted.
+ Note that Amazon S3 does not support transactions. If transactions
+ are used in your application then there is some possibility of state
+ inconsistency when using this cache loader. However, writes are atomic, in
+ that if a write fails nothing is considered written and data is never
+ corrupted.
</para>
<para>
- Data is stored in keys based on the FQN of the Node and Node data is
- serialized as a java.util.Map using the <literal>CacheSPI.getMarshaller()</literal>
- instance.
- Read the JavaDoc on how data is structured and stored.
+ Data is stored in keys based on the Fqn of the Node and Node data is
+ serialized as a java.util.Map using the
+ <literal>CacheSPI.getMarshaller()</literal>
+ instance.
+ Read the javadoc on how data is structured and stored.
Be aware this means data is not readily accessible over HTTP to
- non-JBossCache clients. Your feedback and help would be appreciated
+ non-JBoss Cache clients. Your feedback and help would be appreciated
to extend this cache loader for that purpose.
</para>
<para>
- With this cache loader, single-key operations such as
- <literal>Node.remove(Object)</literal> and <literal>Node.put(Object,
- Object)</literal> are the slowest as data is stored in a single Map instance.
- Use bulk operations such as <literal>Node.replaceAll(Map)</literal>
- and <literal>Node.clearData()</literal> for more efficiency.
- Try the <literal>cache.s3.optimize</literal> option as well.
+ With this cache loader, single-key operations such as
+ <literal>Node.remove(Object)</literal>
+ and
+ <literal>Node.put(Object,
+ Object)
+ </literal>
+ are the slowest as data is stored in a single Map instance.
+ Use bulk operations such as
+ <literal>Node.replaceAll(Map)</literal>
+ and
+ <literal>Node.clearData()</literal>
+ for more efficiency.
+ Try the
+ <literal>cache.s3.optimize</literal>
+ option as well.
</para>
-
+
<section>
<title>Amazon S3 Library</title>
- <para>The S3 cache loader is provided with the default
- distribution but requires a library to access the service
- at runtime. This runtime library may be obtained through the JBoss Maven
- Repository. Include the following sections in your pom.xml file:
- </para>
- <programlisting><![CDATA[
+ <para>The S3 cache loader is provided with the default
+ distribution but requires a library to access the service
+ at runtime. This runtime library may be obtained through the Sourceforge Maven
+ Repository. Include the following sections in your pom.xml file:
+ </para>
+ <programlisting><![CDATA[
<repository>
<id>e-xml.sourceforge.net</id>
<url>http://e-xml.sourceforge.net/maven2/repository</url>
@@ -967,95 +980,114 @@
<version>1.0.0.0</version>
</dependency>
]]>
- </programlisting>
- If you do not use Maven, you can still download the
- amazon-s3 library through the repository URL.
+ </programlisting>
+ If you do not use Maven, you can still download the
+ amazon-s3 library through the repository URL.
</section>
<section>
<title>Configuration</title>
- <para>At a minimum, you must configure your Amazon S3 access key and
- secret access key. The other configuration keys are listed in general
- order of utility.
- </para>
+ <para>At a minimum, you must configure your Amazon S3 access key and
+ secret access key. The other configuration keys are listed in general
+ order of utility.
+ </para>
- <para>
- <itemizedlist>
- <listitem>
- <literal>cache.s3.accessKeyId</literal> -
- Amazon S3 Access Key, available from your account profile.
- </listitem>
+ <para>
+ <itemizedlist>
+ <listitem>
+ <literal>cache.s3.accessKeyId</literal>
+ -
+ Amazon S3 Access Key, available from your account profile.
+ </listitem>
- <listitem>
- <literal>cache.s3.secretAccessKey</literal> -
- Amazon S3 Secret Access Key, available from your account profile.
- As this is a password, be careful not to distribute it or include
- this secret key in built software.
- </listitem>
+ <listitem>
+ <literal>cache.s3.secretAccessKey</literal>
+ -
+ Amazon S3 Secret Access Key, available from your account profile.
+ As this is a password, be careful not to distribute it or include
+ this secret key in built software.
+ </listitem>
- <listitem>
- <literal>cache.s3.secure</literal> -
- The default is <literal>false</literal>:
- Traffic is sent unencrypted over the public Internet.
- Set to <literal>true</literal> to use HTTPS.
- Note that unencrypted is obviously faster.
- </listitem>
+ <listitem>
+ <literal>cache.s3.secure</literal>
+ -
+ The default is<literal>false</literal>:
+ Traffic is sent unencrypted over the public Internet.
+ Set to
+ <literal>true</literal>
+ to use HTTPS.
+ Note that unencrypted is obviously faster.
+ </listitem>
- <listitem>
- <literal>cache.s3.bucket</literal> -
- Name of the bucket to store data.
- For different caches using the same access key, use a different bucket name.
- Read the S3 documentation on the definition of a bucket.
- The default is <literal>jboss-cache</literal>.
- </listitem>
+ <listitem>
+ <literal>cache.s3.bucket</literal>
+ -
+ Name of the bucket to store data.
+ For different caches using the same access key, use a different bucket name.
+ Read the S3 documentation on the definition of a bucket.
+ The default is<literal>jboss-cache</literal>.
+ </listitem>
- <listitem>
- <literal>cache.s3.callingFormat</literal> -
- One of <literal>PATH</literal>, <literal>SUBDOMAIN</literal>, or
- <literal>VANITY</literal>.
- Read the S3 documentation on the use of calling domains.
- The default is <literal>SUBDOMAIN</literal>.
- </listitem>
+ <listitem>
+ <literal>cache.s3.callingFormat</literal>
+ -
+ One of<literal>PATH</literal>,<literal>SUBDOMAIN</literal>, or
+ <literal>VANITY</literal>.
+ Read the S3 documentation on the use of calling domains.
+ The default is<literal>SUBDOMAIN</literal>.
+ </listitem>
- <listitem>
- <literal>cache.s3.optimize</literal> -
- The default is <literal>false</literal>.
- If true, <literal>put(Map)</literal> operations
- replace the data stored at an FQN rather than attempt
- to fetch and merge. (This option is fairly experimental
- at the moment.)
- </listitem>
+ <listitem>
+ <literal>cache.s3.optimize</literal>
+ -
+ The default is<literal>false</literal>.
+ If true,
+ <literal>put(Map)</literal>
+ operations
+ replace the data stored at an Fqn rather than attempt
+ to fetch and merge. (This option is fairly experimental
+ at the moment.)
+ </listitem>
- <listitem>
- <literal>cache.s3.parentCache</literal> -
- The default is <literal>true</literal>.
- Set this value to <literal>false</literal> if you are using multiple caches
- sharing the same S3 bucket, that remove parent nodes of nodes being created
- in other caches. (This is not a common use case.)
- <para>
- JBoss Cache stores nodes in a tree format and automatically
- creates intermediate parent nodes as necessary.
- The S3 cache loader must also create these parent nodes as well
- to allow for operations such as <literal>getChildrenNames</literal> to work
- properly. Checking if all parent nodes exists for every <literal>put</literal>
- operation is fairly expensive, so by default the cache loader caches
- the existance of these parent nodes.
- </para>
- </listitem>
+ <listitem>
+ <literal>cache.s3.parentCache</literal>
+ -
+ The default is<literal>true</literal>.
+ Set this value to
+ <literal>false</literal>
+ if you are using multiple caches
+ sharing the same S3 bucket, that remove parent nodes of nodes being created
+ in other caches. (This is not a common use case.)
+ <para>
+ JBoss Cache stores nodes in a tree format and automatically
+ creates intermediate parent nodes as necessary.
+ The S3 cache loader must also create these parent nodes as well
+ to allow for operations such as
+ <literal>getChildrenNames</literal>
+ to work
+ properly. Checking if all parent nodes exists for every
+ <literal>put</literal>
+ operation is fairly expensive, so by default the cache loader caches
+ the existence of these parent nodes.
+ </para>
+ </listitem>
- <listitem>
- <literal>cache.s3.location</literal> -
- This choses a primary storage location for your data
- to reduce loading and storage latency closest to you.
- Set to <literal>EU</literal> to store data locale to Europe.
- The default is <literal>null</literal>, or to store in the United States.
- </listitem>
- </itemizedlist>
- </para>
- </section>
-
+ <listitem>
+ <literal>cache.s3.location</literal>
+ -
+ This choses a primary storage location for your data
+ to reduce loading and storage latency closest to you.
+ Set to
+ <literal>EU</literal>
+ to store data locale to Europe.
+ The default is<literal>null</literal>, to store in the United States.
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
+
</section>
-
+
<section id="cl.tcp">
<title>TcpDelegatingCacheLoader</title>
More information about the jbosscache-commits
mailing list