fabric3
Content
Documentation
Developer Reference
Packaging
Multi-VM Packaging
Multi-VM Packaging
search
attachments
weblink
advanced
image-effects
image-attributes
Paragraph
Paragraph
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Preformatted
Quote
Bold
Italic
Underline
Colour picker
More colours
Formatting
Strikethrough
Subscript
Superscript
Monospace
Clear formatting
Bullet list
Numbered list
Task list
Outdent
Indent
Align left
Align center
Align right
Page layout
Link
Table
Insert
Insert content
Files and images
Link
Symbol
Emoticon
Markup
Horizontal rule
Insert macro
User mention
Jira Issue/Filter
Info
Status
Gallery
Table of Contents
Jira timeline
Lucidchart Diagrams
Trello Board
Other macros
Page layout
No layout
Two column (simple)
Two column (simple, left sidebar)
Two column (simple, right sidebar)
Three column (simple)
Two column
Two column (left sidebar)
Two column (right sidebar)
Three column
Three column (left and right sidebars)
Find/Replace
Keyboard shortcuts help
You are not logged in. Any changes you make will be marked as
anonymous
. You may want to
Log In
if you already have an account.
<p>Deploying to a domain comprised of multiple VMs (runtimes) follows the same basic model as a single-VM deployment with the additional requirement of specifying a target <em>zone</em> (the Fabric3 term for cluster partition; see <a class="confluence-link" href="/wiki/spaces/FABRIC/pages/524360/The+Domain" data-linked-resource-id="524360" data-linked-resource-version="14" data-linked-resource-type="page" data-linked-resource-default-alias="The Domain" data-base-url="https://fabric3.atlassian.net/wiki">The Domain</a>). </p><h2>Deployment Plan</h2><p>Packaging for a clustered environment is identical to packaging for a single-VM environment, except for the additional requirement of including a <code>plan.xml</code> file in the contribution <code>META-INF</code> directory. The plan file maps a deployable composite (i.e. a composite specified for deployment in the sca-contribution.xml manifest) to a zone as shown below:</p><table class="wysiwyg-macro" data-macro-name="code" data-macro-default-parameter="xml" data-macro-schema-version="1" style="background-image: url(https://fabric3.atlassian.net/wiki/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGU6eG1sfQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre><plan xmlns:test="urn:org.fabric3.test" name="testPlan"> <mappings> <mapping deployable="test:Composite1" zone="zone1"/> </mappings> </plan> </pre></td></tr></table><h2>Single Contribution Deployment</h2><p>A single contribution can be deployed to one zone or multiple zones. It is important to note that zones in Fabric3 are <em>homogenous</em>. That is, each runtime in the zone acts as a replica running with the same configuration and hosting the same services. <span style="line-height: 1.4285715;">Consequently, If a contribution is deployed to one zone, it will be horizontally scaled as a single unit as illustrated in the following diagram:</span></p><p><span style="line-height: 1.4285715;"><img class="confluence-embedded-image" loading="lazy" src="https://fabric3.atlassian.net/wiki/download/attachments/524359/Slide21.jpg?version=1&modificationDate=1374793965622&cacheVersion=1&api=v2" data-image-src="https://fabric3.atlassian.net/wiki/download/attachments/524359/Slide21.jpg?version=1&modificationDate=1374793965622&cacheVersion=1&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="1474592" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Slide21.jpg" data-base-url="https://fabric3.atlassian.net/wiki" data-linked-resource-content-type="image/jpeg" data-linked-resource-container-id="524359" data-linked-resource-container-version="10" data-media-id="01517349-d2b8-49ca-859f-2b45c29256ca" data-media-type="file" title="fabric3 > Multi-VM Packaging > Slide21.jpg" data-location="fabric3 > Multi-VM Packaging > Slide21.jpg" data-image-height="405" data-image-width="720"><br /></span></p><p><span style="line-height: 1.4285715;">This single contribution deployment to the same zone is the most common cluster topology supported by Fabric3. It is simple to setup, easy to maintain, and straightforward to scale-out. </span><span style="line-height: 1.4285715;">Sometimes however, it may be necessary to scale-out selected services in a contribution. This is done by targeting deployable composites to different zones, as shown below: </span></p><p><span style="line-height: 1.4285715;"><br /></span></p><p><img class="confluence-embedded-image" loading="lazy" src="https://fabric3.atlassian.net/wiki/download/attachments/524359/Slide17.jpg?version=1&modificationDate=1374786176993&cacheVersion=1&api=v2" data-image-src="https://fabric3.atlassian.net/wiki/download/attachments/524359/Slide17.jpg?version=1&modificationDate=1374786176993&cacheVersion=1&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="1474588" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Slide17.jpg" data-base-url="https://fabric3.atlassian.net/wiki" data-linked-resource-content-type="image/jpeg" data-linked-resource-container-id="524359" data-linked-resource-container-version="10" data-media-id="53df7eec-15ee-467c-a0ea-3e228b6530b7" data-media-type="file" title="fabric3 > Multi-VM Packaging > Slide17.jpg" data-location="fabric3 > Multi-VM Packaging > Slide17.jpg" data-image-height="405" data-image-width="720"></p><p>Deploying composites to different zones is done in the <code>plan.xml</code> file. The following plan specifies the zones for the two composites in the previous picture:</p><table class="wysiwyg-macro" data-macro-name="code" data-macro-default-parameter="xml" data-macro-schema-version="1" style="background-image: url(https://fabric3.atlassian.net/wiki/plugins/servlet/confluence/placeholder/macro-heading?definition=e2NvZGU6eG1sfQ&locale=en_GB&version=2); background-repeat: no-repeat;" data-macro-body-type="PLAIN_TEXT"><tr><td class="wysiwyg-macro-body"><pre><plan xmlns:test="urn:org.fabric3.test" name="testPlan"> <mappings> <mapping deployable="test:Composite1" zone="zone1"/> <mapping deployable="test:Composite2" zone="zone2"/> </mappings> </plan></pre></td></tr></table><h2>Multi-Contribution Deployment</h2><p>The most common deployment topology for multi-VM domains consists of multiple contributions deployed to individual zones. This setup is illustrated by the following picture:</p><p><img class="confluence-embedded-image" loading="lazy" src="https://fabric3.atlassian.net/wiki/download/attachments/524359/Slide18.jpg?version=1&modificationDate=1374786192086&cacheVersion=1&api=v2" data-image-src="https://fabric3.atlassian.net/wiki/download/attachments/524359/Slide18.jpg?version=1&modificationDate=1374786192086&cacheVersion=1&api=v2" data-unresolved-comment-count="0" data-linked-resource-id="1474589" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="Slide18.jpg" data-base-url="https://fabric3.atlassian.net/wiki" data-linked-resource-content-type="image/jpeg" data-linked-resource-container-id="524359" data-linked-resource-container-version="10" data-media-id="cb3b66bf-d84e-498a-8b6a-a940ef4f07da" data-media-type="file" title="fabric3 > Multi-VM Packaging > Slide18.jpg" data-location="fabric3 > Multi-VM Packaging > Slide18.jpg" data-image-height="405" data-image-width="720"></p><p>Packaging an application as multiple contributions and deploying them to separate zones provides greater modularity and loose coupling: not only are implementation classes isolated, but the scaling characteristics of subsystems are as well. This makes it possible to more accurately scale-out by adding more processing power to the application services which are under the most load.</p>
Save
Close
Edit
Preview
View changes
Revert to last published version
{"serverDuration": 404, "requestCorrelationId": "499ab7e77e6a4d7f934d9291e1c0e06b"}