Skip to main content

JEAP 6 - Standalone 與 Domain Mode 兩種不同的管理模式?

在進入Cluster 之前,就會提到有兩種設定的方式,
必須要在這之前先說明這兩種有什麼不同,這樣在選擇Cluster 的管理方式也會有比較清楚的認識。

Standalone Mode 

並不是每個人都需要用到集中的管理模式,有許多小系統只需要跑在單一台instance 上即可,或是在本機開發程式時。使用Domain mode 好像有點殺雞用牛刀!

這裡要澄清的一點,Standalone 也可以設定為Cluster, 但它每個 Server instance 都是獨立的process, 所以管理的人員必須要自己去確認所有的 EAR, WAR 與設定在Cluster 的多個node上都是同步的.

Domain Mode

這是新的J老闆非常重要的里程碑,它終於開始支援統一集中的管理介面。以前也是可以做到,但是必須透過JON 才能做到,現在不用了!

它把一堆的Server定義成一個Domain, 透過一個單一的點,叫做Domain Controller 來管理上面所有的Server。 而Domain Controller 是透過 Host Controller 去管理每個Host 上面的server, 本身Domain Controller 也是經由指定Host Controller其中的一台選出來的!
這樣好像是繞口令, 還是用圖解的吧 !

Host 每個實體機器的都稱作Host
Server 每個單一的JBoss instance.
Host Controller 每當一個Host有任何一個JBoss 啓動的時候,就會生出一個Host Controller, 這個 Host Controller 負責去啓動跟關閉這台機器上的其他JBoss instance, 接收Domain Controller 的管理指令去管理那幾台Server. 
(設定的地方在 domain/configuration/host.xml)

Domain Controller 簡單來說,就是單一的管理窗口!透過他跟其他的Host 聯絡設定部署的內容!這樣使用者就不需要一臺一臺的管理!他其實也只是一臺Host Controller 拿來兼差當總管理員!
(設定的地方在 domain/configuration/Domain.xml)

Server Group 每個server 都屬於一個server group,但如果兩台以上擁有相同的部署內容與設定,那這兩台就算同一個server group (咦?!好像Cluster, 沒錯,就是。) 一個domain 可以擁有無數個server group.

以下是 官網的示意圖,我也覺得還蠻清楚的,供大家參考!


我想答案很簡單,如果你今天的環境只需要一臺,或是你正在自己的環境上開發,那Standalone mode 就是你的選擇了。
如果是production 環境,需要複雜的管理機制,很多台機器,甚至還有Cluster, 那Domain mode 就是你要的拉!


Samuel Liang said…
Dear Christian :
想請教文中最後一張圖的架構下,Host1的Domain Controller怎麼知道Host2~4有GroupA & GroupB需要被啟動呢?
Samuel Liang said…
看來JBoss7的Cluster啟動方式是扮演Domain Controller的該Host要先啟動,隨後才是手動將其他受控的Host一一啟動後,整個Cluster才算啟動完畢,而非Domain Controller啟動來自動帶起其他的Host的。

Popular posts from this blog

Red Hat JBoss Fuse/A-MQ - Fuse and A-MQ Version 6.3 GA is released!

Fuse and A-MQ 6.3 GA has just went out. Maybe, you would think this is just only a minor version release why should I care? Hold your thoughts on that! Because they have done a lot of improvements and also added many new features into this release.

Besides various bug fixes and making sure Fuse Fabric is much more stable. There are two major change in this version update:

New Tooling in JBoss Developer Studio (JBDS) 9.1 GA. Newer Apache Camel version – Camel v2.17. I was really impressed by the work put in to make developing Camel application much simpler. First is the installation of tooling itself. Now it has a all-in-one installer so you don't need to worry about which plugins you need to check. See the videos below to see the new "Getting Started" of Fuse 6.3.

And If you notice from the above video, the presentation of camel route in JBDS has also updated. It fixed some of the miss representation of logic and making it easier to read.

Old Camel Route
New Camel Route
On …

Fuse Integration Service - Setup JBDS and create first quickstart application

Before we go and start creating our first application, I want to show you how to setup your JBoss Developer Studio, create a small application from the quickstart example and then running it on Fuse Integration Service.

I am using JBoss Developer Studio version 9, you can find it here.
After download the

double-click it, and start installing with default values.

After successful installation, we will need install the plugins for Fuse, on JBoss Central view, select software update, select enable early access.

And select JBoss Fuse Development for the plugin,

Click on install, and we are all set to go!

First thing first, we want to create a Fuse project to deploy on the base of Fuse Integration Service, which is OpenShift. If you have not installed it, please go back to my previous post for instructions. So on your JBDS, right click and start creating the project. Select new, maven project, if you have installed the plugin correctly, you should …

Red Hat JBoss Fuse - Getting Started with Fuse Integration Service 2.0 Tech preview

I just realized that I did not do a getting started for Fuse Integration Service 2.0 Tech preview before I did the pipeline demo, thanks for those of you who reminded me! :)

To get started with FIS 2.0, for people who has just getting to know the technology, here is how I interpret it. Basically, it's divide into two aspect,

1. Integration development, FIS uses Apache Camel as the core technology that creates, orchestrate, compose microservices into a super lightweight thin integration layer, and become the API provider and service orchestrator through exposing RESTful or messaging service endpoints. And you can choose to either package and run it with Spring-Boot or Karaf.

2. Application Deployment and Management, FIS takes advantages of OpenShift platform, and allows you to separately deploy the micro-integration service among distributed environment, at the same time takes care of the failover, high availability, load balancing and service lookup problem for you.

So, now we know …