implementasi clustering pada jee container

66
Implementasi Clustering Pada JEE Container Dikembangkan oleh : Email : [email protected] Phone : 021-985 644 17

Upload: meruvian

Post on 13-May-2015

814 views

Category:

Technology


6 download

DESCRIPTION

E-Book Tentang implementasi clustering di Java Container

TRANSCRIPT

Page 1: Implementasi clustering pada jee container

Implementasi Clustering

Pada JEE Container

Dikembangkan oleh :

Email : [email protected] : 021-985 644 17

Page 2: Implementasi clustering pada jee container

Daftar Isi

Daftar Isi .......................................................................................................................................... 2

Bagian 1. Mengenal Cluster ........................................................................................................... 3

1.1 Pengertian Cluster .......................................................................................................... 3

1.2 Macam-macam Tipe Cluster ........................................................................................... 3

Bagian 2. Mengapa Menggunakan Cluster .................................................................................. 6

Bagian 3. Mengenal JEE Container .............................................................................................. 8

3.1 Pengertian JEE Container ............................................................................................... 8

3.2 Instalasi JEE Container .................................................................................................. 9

Bagian 4. Deploy Java Web Application (Yama) .......................................................................... 17

4.1 Menyiapkan Kebutuhan Aplikasi ................................................................................... 17

4.2 Deploy Yama diJEE Container ....................................................................................... 21

Bagian 5. Implementasi Cluster Pada Java Container ............................................................... 30

5.1 Load Balance JEE Container dengan WebServer .......................................................... 30

5.2 Fail Over dan Session Replication ................................................................................. 31

5.3 Implementasi Load Balance, Fail Over dan Session Replication Pada Container ........ 32

5.3.1 Apache Tomcat .................................................................................................. 33

5.3.2 Glassfish ............................................................................................................ 42

5.3.3 Jboss .................................................................................................................. 52

Lampiran A :

Meruvian Integrated Platform(MIP) versi.1.0 ..................................................................... 62

Created By Meruvian Cloud Team 2

Page 3: Implementasi clustering pada jee container

Bab 1

Mengenal Cluster

1.1 Pengertian Cluster

Clustering merupakan sebuah metode untuk menghubungkan beberapa resource sistem untuk bekerja secara

bersama-sama layaknya sebuah single sistem.

Teknologi clustering telah ada sejak dekade 1980-an yang awalnya digunakan pada sistem VMS (Virtual

Memory System), yaitu sebuah Operating System yang diciptakan oleh Digital Equipment Corporation

(DEC) yang nantinya akan dikenal dengan OpenVMS

Pada umumnya teknologi clustering ini dimanfaatkan untuk load balance trafik pada sebuah situs atau

aplikasi dengan trafik yang tinggi.Namun pada perkembangannya cluster digunakan untuk melakukan paralel

processing yang mana metode ini dimanfaatkan oleh Hadoop.

1.2 Macam-macam Tipe Cluster

Pada implementasinya cluster terbagi menjadi dua metode, yaitu :

• vertical clustering

• horizontal clustering

Created By Meruvian Cloud Team 3

Page 4: Implementasi clustering pada jee container

Vertical Clustering

Vertical cluster merupakan sebuah model untuk menjalankan beberapa member cluster-nya berada dalam satu

sistem.Pada

Pada tipe vertical cluster ini kita dapat menjalankan failover yang berjalan pada level application

server.Namun tidak pada level physicial server karena tipe ini menggunakan sebuah single server.

Horizontal Clustering

Horizontal cluster merupakan sebuah tipe cluster yang member cluster-nya berada pada sistem yang berbeda.

Pada tipe horizontal cluster, failover dapat dilakukan baik pada level physical server.

Created By Meruvian Cloud Team 4

Page 5: Implementasi clustering pada jee container

Mixed Clustering

Tipe ini merupakan tipe gabungan antara horizontal cluster dan vertical cluster.Dengan lebihnya resource

yang dimiliki tipe ini mempunyai kemampuan untuk menghandle failover baik dari level physiclal atau

application server.

Created By Meruvian Cloud Team 5

Page 6: Implementasi clustering pada jee container

Bab 2

Mengapa Menggunakan Cluster ?

Cluster merupakan sebuah terobosan yang sangat vital di era teknologi ini.Dengan semakin

banyaknya kebutuhan user dalam pemrosesan sebuah informasi, resource penyedia informasi harus

siap mengganti metode yang digunakan dari menggunakan single mesin menjadi mesin cluster untuk

meningkatkan performa dan juga mempercepat proses request dari user.

Ada beberapa hal yang mendasari mengapa paradigma teknologi beralih dari single mesin ke cluster

mesin diantaranya :

• Untuk membuat sebuah redundancy pada mesin cluster untuk mencegah terjadinya sistem

down.Jikapun salah satu sistem mengalami down maka akan ada server replikasi pada server

lain yang sedang berjalan.Inilahyang biasanya disebut dengan istilah failover

Created By Meruvian Cloud Team 6

Page 7: Implementasi clustering pada jee container

• Untuk meningkatkan performa aplikasi. Dengan metode cluster ini, server – server yang

tergabung dalam sebuah cluster akan bekerja bersama-sama dalam memproses request dari user

dalam jumlah banyak.Dengan demikian pemprosesan data yang ada pada cluster berjalan akan

lebih cepat dibanding dengan pemrosesan pada single mesin.

Dengan adanya metode cluster tersebut, permasalah mengenai server down ataupun peningkatan

performa pada pemrosesan data yang besar akan teratasi.

Created By Meruvian Cloud Team 7

Page 8: Implementasi clustering pada jee container

Bab 3

Mengenal JEE Container

3.1 Pengertian JEE Container

JEE Container merupakan sebuah interface yang menyediakan dukungan untuk komponen-

komponen aplikasi JEE, untuk me-manage dan men-deploy aplikasi java enterprise.

JEE menyediakan EJB container dan Web container di dalamnya.EJB container digunakan untuk

mengelola dan mengeksekusi Enterprise Bean.Sedangkan Web Container digunakan untuk mengelola

dan mengeksekusi servet.

Tipe package yang dapat berjalan pada JEE Container berupa Enterprise Archive (EAR), Java Archive

(JAR) dan Web Archive (WAR).

Beberapa macam JEE Container yang populer di kalangan java developer :

• Apache Tomcat

• Jetty

• Glassfish

• Jboss

• Weblogic

• dll

Untuk JEE container yang akan kita gunakan pada bab-bab selanjutnya untuk keperluan clustering dan

Created By Meruvian Cloud Team 8

Page 9: Implementasi clustering pada jee container

high availability adalah Apache Tomcat, Glassfish dan Jboss.

Selanjutnya kita akan membahas langkah-langkah instalasi, deploy aplikasi ke dalam container sampai

dengan membuat cluster.

3.2 Instalasi JEE Container

A. Instalasi JAVA

Adapun langkah-langkah untuk menginstal java adalah sebagai berikut :

1. Download JDK dari http://www.oracle.com/technetwork/java/javase/downloads/ .

2. Setelah master installasi di dapat lakukan untar.

$ tar xcvf jdk-xxx-linux-xxx.tar.gz

3. Setelah itu akan didapatkan file eksekusi jdk jdk-xxx-linux-xxx.sh , salin file tersebut ke /opt.

$ sudo chmod 777 /opt

$ cp jdk-xxx-linux-xxx.sh /opt

$ sudo chmod +x /op/ jdk-xxx-linux-xxx.sh

4. Run file .sh untuk memulai instllasi jdk.

$ cd /opt

$ ./ jdk-xxx-linux-xxx.sh

5. Proses installasi tadi akan membentuk sebuah folder berisi file java , rename-lah folder tersebut

agar lebih mudah untuk proses-proses selanjutnya.

$ mv jdkx_xxx/ Java

6. Jika proses sukses lakukan pengeditan .bashrc dan profile untuk mengkonfigurasi

JAVA_HOME.

$ nano /home/meruvian/.bashrc

Tambahkan baris berikut di bagian paling bawah :

Created By Meruvian Cloud Team 9

Page 10: Implementasi clustering pada jee container

JAVA_HOME=/opt/Java

PATH=$PATH:$JAVA_HOME/bin

$ sudo nano /etc/profile

Tambahkan juga baris tadi di bagian paling bawah

Jangan untuk menyimpan konfigurasi di atas.

7. Log out exit dari terminal untuk menerapkan hasil konfigurasi , jika benar lakukan perintah :

$ java -version

java version "1.x.x"

Java(TM) SE Runtime Environment (build 1.6.0_23-b05)

Java HotSpot(TM) Server VM (build 19.0-b09, mixed mode)

Ini menandakan bahwa JAVA_HOME berhasil diterapkan di sistem dan siap 

digunakan.

B. Apache Tomcat

Apache Tomcat merupakan software opensource untuk implementasi teknologi java servlct dan java

server pages.Java container ini berada di bawah lisensi apache.Versi terkahir Apache Tomcat ketika

buku ini ditulis adalah Apache Tomcatv7.029.

Untuk download, bisa kunjungi alamat http://tomcat.apache.org/

Instalasi

1.download apache tomcat versi tar.gz dari http://tomcat.apache.org/

2.extrak file apache-tomcat-7.0.29.tar.gz dengan perintah :

$ tar xzf apache-tomcat-7.0.29.tar.gz

3.masuk ke folder apache-tomcat-7.0.29/bin, kemudian tambahkan mode executable untuk semua file

.sh yang ada di dalam folder bin

$ cd apache-tomcat-7.0.29/bin

$ chmod +x *.sh

4.jalankan file catalina.sh atau startup.sh untuk menjalankan tomcat container

$ ./catalina.sh

atau

Created By Meruvian Cloud Team 10

Page 11: Implementasi clustering pada jee container

$ ./startup.sh

Selanjutnya akses browser dan ketikkan url http://localhost:8080/ sehingga akan muncul halaman

seperti di bawah ini

C. Glassfish

Glassfish adalah sebuah aplikasi open source yang awalnya dikembangkan oleh Sun Micro System

untuk platform Java EE dan sekarang telah disponsori oleh Oracle Corporation dengan versi terbaru

dinamai Oracle Glassfish Server.Glassfish telah mendukung berbagai Enterprise seperti

JavaBeans,JPA,JavaServer Faces,JMS,RMI,JavaServer Pages,servlet,dll.

Ini memungkin pengembang (developer) untuk membuat aplikasi yang portabel dan terukur dan

terintegrasi.Glassfish juga menyediakan optional componen yang dapat ditambahkan.

Instalasi

Adapun langkah-langkah installasinya adalah sebagai berikut :

1. Download versi terbaru Glassfish dari http://glassfish.java.net/downloads/ .

2. Unzip master Glassfish yang telah didownload tadi.

$ unzip Glassfish.zip

Created By Meruvian Cloud Team 11

Page 12: Implementasi clustering pada jee container

3. Selanjutnya adalah yang bisa dilakukan melalui halaman admin dari web browser disebut DAS

(Domain Administration Server) yang diaktifkan melalui shell Glassfish (asadmin).Domain

standar yang disediakan oleh Glassfish adalah domain1.

$ cd Glassfish/bin

$ ./asadmin change-admin-password

Enter admin user name [default:admin] > admin

Enter admin password> [enter]

Enter new admin password> [password baru]

Enter new admin password again> [password baru]

4. Kemudian aktifkan secure-admin untuk menjalankan Glassfish dalam mode aman.

$ ./asadmin start-domain domain1

Enter admin user name>[admin]

Enter admin password> [masukkan password]

$ ./asadmin enable-secure-admin

Kemudian restart Glassfish :

$ ./asadmin restart-domain domain1

Successfully restarted the domain

Command restart-domain executed successfully.

Atau melalui Web browser dengan alamat http://localhost:4848 , port 4848 adalah port standar

yang digunakan oleh Glassfish agar dapat diakses via web browser oleh pengguna.

Pada awalnya akan muncul peringatan SSL yang memberitahukan bahwa enable-secure-admin

telah diterapkan.

Created By Meruvian Cloud Team 12

Page 13: Implementasi clustering pada jee container

K

Kemudian akan muncul halaman login Glassfish , login dengan username admin dan password

yang sudah dibuat sebelumnya.

Created By Meruvian Cloud Team 13

Page 14: Implementasi clustering pada jee container

Kemudian akan muncul halaman admin Glassfish untuk keperluan administrasi server.Untuk

melihat bahwa Glassfish telah berjalan akses juga http://localhost:8080

Created By Meruvian Cloud Team 14

Page 15: Implementasi clustering pada jee container

C. Jboss

Jboss meuapakan application server yang mengimplementasikan Java EE di bawah lisensi GNU

LGPL.JBoss dikembangkan oleh oleh Jboss, salah satu divisi dari Red Hat.Versi terakhir saat buku ini

ditulis adalah versi 7.1

Jboss terbaru dapat didownload dari http://www.jboss.org/jbossas/downloads

Instalasi

• Unduh jboss-as-7.1.2.Final.zip dari situs resminya di

http://www. jboss .org/ jbossas /downloads .

• Ekstrak file tersebut ke dalam folder dengan perintah unzip

$ unzip jboss-as-7.1.2.Final.zip

• masuk ke dalam direktori jboss.

$ cd Jboss-as-7.1.2

• Buat user admin untuk aplikasi jboss

#./bin/add-user.sh

<a> ManagementRealm

<b> ApplicationRealm

#Pilih yang <a>

Enter the details of the new user to add.

Realm (ManagementRealm) : <Enter>

Username : admin

Password : ******

Re-enter Password : ******

The username 'admin' is easy to guess

Are you sure you want to add user 'admin' yes/no? yes

About to add user 'admin' for realm 'ManagementRealm'

Is this correct yes/no? yes

• Jalankan Web Server JBOSS dengan menggunakan perintah di bawah ini.

$ ./bin/domain.sh

• Tunggu beberapa saat hingga Jboss selesai menjalankan semua servicenya.

Created By Meruvian Cloud Team 15

Page 16: Implementasi clustering pada jee container

• Buka web server Jboss di web browser dan masukkan link berikut untuk mengakses

Administrator.

http://localhost:9990/console/App.html

• Login dengan user dan password admin yang telah dibuat sebelumnya untuk login ke dalam

dashboard.

Created By Meruvian Cloud Team 16

Page 17: Implementasi clustering pada jee container

Bab 4

Deploy Java Web Application

(Yama)

Pada bab ini kita akan mencoba untuk melakukan deploy aplikasi web kita ke dalam JEE

container yang telah kita siapkan pada bahasan sebelumnya.

Untuk aplikasi yang akan kita deploy pada bab ini adalah sebuah framework java berbasis web dengan

database mysql yang kita sebut dengan Yama (untuk informasi lebih detail mengenai yama bisa dibaca

di lampiran).

Untuk itu kita akan melakukan beberapa persiapan seperti instalasi database, membuat database

di mysql, export project ke dalam bentuk war sampai pada tahapan deployment pada JEE Container.

4.1 Menyiapkan Kebutuhan Aplikasi

a. Instalasi Database Mysql

Untuk kebutuhan database kita memilih Mysql karena database ini cukup powerfull meskipun pada

dasarnya Yama bisa terhubung dengan berbagai macam database baik SQL Database maupun No-SQL

Database.

Untuk instalasi database ketikkan perintah di bawah ini di terminal :

Created By Meruvian Cloud Team 17

Page 18: Implementasi clustering pada jee container

$ sudo apt-get install mysql-server

Tunggu beberapa menit untuk proses instalasi paket sampai kita menemui window untuk

mengkonfirmasi username dan password root database kita

Masukkan password untuk user root, lalu tekan enter.

Masukkan kembali untuk konfirmasi password user root, tekan enter untuk menyetujui.

Ketikkan perintah mysql -u root -p pada terminal untuk masuk ke mysql console :

Created By Meruvian Cloud Team 18

Page 19: Implementasi clustering pada jee container

$ mysql -u root -p

Enter password:

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 39

...

...

mysql>

b. Membuat Database Mysql

Selanjutnya kita akan membuat database di Mysql untuk aplikasi Yama akan kita deploy

nantinya.

Untuk membuat database ikuti step-step di bawah ini :

1.Membuat database dengan nama “yama”

mysql> create database yama;

Query OK, 1 row affected (0.00 sec)

2.Membuat privelege database yama untuk user dengan nama 'yama'

mysql> grant all on yama.* to yama@localhost identified by 'yama';

Query OK, 0 rows affected (0.00 sec)

3.Menampilkan database

mysql> show databases;

+--------------------+

| Database |

+--------------------+

| information_schema |

| mysql |

| yama |

+--------------------+

3 rows in set (0.00 sec)

c. Konfigurasi Database di Yama

Sebelum user mengeksport aplikasi user menjadi .war terlebih dahulu user perlu memastikan bahwa

Created By Meruvian Cloud Team 19

Page 20: Implementasi clustering pada jee container

konfigurasi database yang user gunakan sudah sesuai dengan database yang berada di Azure.

Pada Yama, user dapat melihat konfigurasi database dengan mengakses file db.properties yang ada di

src/main/resources

Buka file db.properties dan sesuaikan dengan konfigurasi database yang telah kita buat sebelumnya :

db.url=jdbc:mysql://localhost:3306/yama

db.driver=com.mysql.jdbc.Driver

db.username=yama

db.password=password

Pada konfigurasi di atas kita menggunakan database yama, dengan username yama dan password

password.

d. Export .WAR Project

Created By Meruvian Cloud Team 20

Page 21: Implementasi clustering pada jee container

Yama menggunakan maven, untuk itu user bisa mendapatkan file war dengan

dengan mengakses klik kanan pada project terpilih \ Run As \Maven Build

Lalu isikan perintah clean verify pada textbox goals.Klik tombol Run.

Selanjutnya buka folder target dan kita telah berhasil membuat file WAR yang akan kita deploy di JEE

Container nantinya.

4.2 Deploy Yama di JEE Container

a. Apache Tomcat

Pada tahap ini kita akan melakukan deployment yama yang telah kita export ke dalam

bentuk .WAR ke dalam Apache Tomcat yang telah kita install pada bab sebelumnya.

Ikuti langkah-langkah di bawah ini untuk melakukan deploy yama di apache tomcat :

• Copy kan file .war ke dalam directory apache tomcat/webapps

Created By Meruvian Cloud Team 21

Page 22: Implementasi clustering pada jee container

$ cp yama.war apache-tomcat-7.0.29/webapps

• Jalankan apache-tomcat dengan mengeksekusi ./catalina.sh atau ./startup.sh

./catalina.sh run (menjalankan tomcat dengan menampilkan log)

atau

./startup.sh (menjalankan tomcat sebagai service di background)

• Akses browser dan arahkan url ke http://localhost:8080/yama

Login dengan username admin dan password admin sebagai user dan password default.

b.Glassfish

Adapun langkah-langkah mendeploy Yama di Glassfish adalah sebagai berikut :

Jalankan glassfish dengan perintah ./asadmin start-domain

$ ./asadmin start-domain

Akses dashboard glassfish melalui browser dengan alamat http://localhost:4848

Created By Meruvian Cloud Team 22

Page 23: Implementasi clustering pada jee container

Pilih Application kemudian klik Deploy untuk memulai deployment

Kemudian masuk halaman Deploy Application

Created By Meruvian Cloud Team 23

Page 24: Implementasi clustering pada jee container

Pilih file .war yang akan kita deploy dengan klik tombol choose file

Kemudian pada halaman berikutnya pastikan bahwa Targets diarahkan ke server.

Created By Meruvian Cloud Team 24

Page 25: Implementasi clustering pada jee container

Kemudian klik OK untuk memulai deploy.

Jika proses berhasil , maka akan kembali ke halaman daftar aplikasi , dan di bagian terdapat aplikasi

yama yang sudah di deploy.

Klik Laucnh untuk mengakses aplikasi

Selanjutnya kita akan dibawa ke halaman yang menunjukkan url dari aplikasi yama yang telah kita

deploy.

Klik url tersebut sehingga kita mendapati halaman front end dari aplikasi yama seperti di bawah ini :

Created By Meruvian Cloud Team 25

Page 26: Implementasi clustering pada jee container

c.Jboss

Di bawah ini akan di jelaskan bagaimana langkah-langkah melakukan deployment file .WAR

(dalam hal ini kita menggunakan Yama) ke dalam Jboss.Pada tulisan ini Jboss yang digunakan adalah

Jboss application server versi 7.1.2.

Langkah-langkah deploy yama.war ke dalam Jboss:

• Unduh jboss-as-7.1.2.Final.zip dari situs resminya di

http://www. jboss .org/ jbossas /downloads .

• Ekstrak file tersebut ke dalam folder dengan perintah unzip

$ unzip jboss-as-7.1.2.Final.zip

• masuk ke dalam direktori jboss.

$ cd Jboss-as-7.1.2

• Buat user admin untuk aplikasi jboss

#./bin/add-user.sh

<a> ManagementRealm

<b> ApplicationRealm

#Pilih yang <a>

Created By Meruvian Cloud Team 26

Page 27: Implementasi clustering pada jee container

Enter the details of the new user to add.

Realm (ManagementRealm) : <Enter>

Username : admin

Password : ******

Re-enter Password : ******

The username 'admin' is easy to guess

Are you sure you want to add user 'admin' yes/no? yes

About to add user 'admin' for realm 'ManagementRealm'

Is this correct yes/no? yes

• Jalankan Web Server JBOSS dengan menggunakan perintah di bawah ini.

$ ./bin/domain.sh

• Tunggu beberapa saat hingga Jboss selesai menjalankan semua servicenya.

• Buka web server Jboss di web browser dan masukkan link berikut untuk mengakses

Administrator.

http://localhost:9990/console/App.html

• Masukkan user dan password admin yang sebelumnya telah dibuat.

• Klik Manage Deployments pada tab Domain. Klik Add Content, klik Choose File, dan arahkan ke

direktori file .war yama berada, klik Next.

Created By Meruvian Cloud Team 27

Page 28: Implementasi clustering pada jee container

• Otomatis aplikasi akan mendapatkan key algorithm yang berbeda setiap aplikasi yang dideploy, klik

Save.

• Klik next untuk memulai pendeployan, tunggu beberapa saat, sampai proses selesai.

• Setelah semua proses selesai, jalankan aplikasi yama di web browser dengan mengakses alamat url

http://localhost:8080/yama

Created By Meruvian Cloud Team 28

Page 29: Implementasi clustering pada jee container

Created By Meruvian Cloud Team 29

Page 30: Implementasi clustering pada jee container

Bab 5

Implementasi Clustering

Pada Java Container

Pada bab ini kita akan membahas tentang bagaimana mengimplementasikan clustering pada

beberapa JEE Container yang telah kita install pada bab sebelumnya.

5.1 Load Balance J2EE Container dengan Webserver

Created By Meruvian Cloud Team 30

Page 31: Implementasi clustering pada jee container

Load Balance adalah pembagian beban pada server agar server dapat berjalan

seimbang.Contohnya jika pengguna mengakses sebuah situs halaman dengan domain tertentu

maka paket request akan sampai di server, kemudian load balancer yang telah dikonfigurasi

meneruskan request ke aplikasi-aplikasi yang telah disesuaikan domainnya untuk diproses ,

kemudian paket data dikembalikan lagi ke pengguna melalui port HTTP (80).Selain itu load

balance juga bertujuan untuk menyembunyikan port container seperti 8080 dari akses publik

Pada bahasan ini kita menggunakan Apache2 sebagai webserver yang digunakan untuk

forntend load balance.Untuk urusan load balancing ini Apache2 mempunya beberapa module

seperti mod_jk, mod_proxy ataupun module lain yang mempunyai fungsi sama.

5.2 Failover dan Session Replication

FailOver adalah metode clustering dimana jika server utama mengalami DOWN, maka

dengan otomatis sistem akan mengalihkannya ke server lain yang sedang UP.

Metode penting bagi server yang bekerja dengan hit yang besar.

Lalu bagaimana cara server utama memindahkan paket-paket yang telah dikirim oleh client ke

Created By Meruvian Cloud Team 31

Page 32: Implementasi clustering pada jee container

server yang lain ketika server utama down ? Session Replication jawabnya

Session Replication, yaitu sebuah metode replikasi paket data pada instance server yang

berbeda.Metode inilah yang digunakan pada cluster untuk memindahkan paket data ke server

yang lain ketika server utama mengalami down.

5.3 Implementasi Load Balance, Failover dan Session Replication

pada Java Container

Sebelum ke tahap selanjutnya ada baiknya kita mempersiapkan beberapa keperluan lain yang

akan kita gunakan untuk percobaan cluster ini :

A. Apache2

Install apache2 sebagai webserver yang akan kita gunakan sebagai frontend load balance.

$ sudo apt-get install apache2

Setelah proses instalasi selesai, buka browser dan ketikkan url http://localhost untuk memastikan

bahwa Apache2 Webserver sudah berjalan.

Created By Meruvian Cloud Team 32

Page 33: Implementasi clustering pada jee container

5.3.1 Apache Tomcat

A.Load Balancing

Kali ini kita akan mencoba membuat sebuah load balancing antara apache tomcat

dengan menggunakan HAProxy

Untuk itu kita memerlukan 2 buah apache tomcat v 7 dengan ketentuan beberapa port yaitu :

Port Tomcat 1 Tomcat 2

Shutdown 8005 8105

Http 8080 8180

Created By Meruvian Cloud Team 33

Page 34: Implementasi clustering pada jee container

Ajp 8009 8109

Untuk mengganti port tersebut, kita bisa mengedit file server.xml yang berada di dalam folder

apache-tomcat/conf

Cari pada bagian di bawah ini, dan ganti sesuai dengan keterangan di atas :

shutdown

<Server port="8005" shutdown="SHUTDOWN">

Http

<Connector port="8080" protocol="HTTP/1.1"

connectionTimeout="20000"

redirectPort="8443" />

AJP

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Selanjutnya jalankan masing-masing tomcat untuk memastikan bahwa tomcat berjalan dengan baik.

Apache Tomcat pertama dengan port http 8080

Apache Tomcat ke dua dengan port http 8180

Created By Meruvian Cloud Team 34

Page 35: Implementasi clustering pada jee container

Konfigurasi HAProxy

Buka terminal dan eksekusi perintah di bawah ini :

download haproxy

$ wget http://haproxy.1wt.eu/download/1.4/src/haproxy-1.4.18.tar.gz

extrack haproxy

$ tar -zxf haproxy-1.4.18.tar.gz

install haproxy

$ cd haproxy-1.4.18

$ make install

Ketikkan perintah haproxy untuk memastikan bahwa haproxy berjalan dengan baik:

$ haproxy

HA-Proxy version 1.4.18 2011/09/16

Copyright 2000-2011 Willy Tarreau <[email protected]>

Usage : haproxy [-f <cfgfile>]* [ -vdVD ] [ -n <maxconn> ] [ -N

<maxpconn> ]

[ -p <pidfile> ] [ -m <max megs> ]

Created By Meruvian Cloud Team 35

Page 36: Implementasi clustering pada jee container

-v displays version ; -vv shows known build options.

-d enters debug mode ; -db only disables background mode.

-V enters verbose mode (disables quiet mode)

-D goes daemon

-q quiet mode : don't display messages

-c check mode : only check config files and exit

-n sets the maximum total # of connections (2000)

-m limits the usable amount of memory (in MB)

-N sets the default, per-proxy maximum # of connections (2000)

-p writes pids of all children to this file

-sf/-st [pid ]* finishes/terminates old pids. Must be last arguments.

Buat folder haproxy di dalam /etc untuk menyimpan file konfigurasi haproxy

$ sudo mkdir /etc/haproxy

$ sudo nano /etc/haproxy/haproxy.cfg

Isikan dengan konfigurasi di bawah ini :

global

log 127.0.0.1 local0

log 127.0.0.1 local1 notice

maxconn 4096

daemon

defaults

log global

mode http

option httplog

option dontlognull

retries 3

option redispatch

maxconn 2000

contimeout 5000

clitimeout 50000

srvtimeout 50000

Created By Meruvian Cloud Team 36

Page 37: Implementasi clustering pada jee container

frontend http-in

bind *:80

default_backend servers

backend servers

option httpchk OPTIONS /

option forwardfor

stats enable

stats refresh 10s

stats hide-version

stats scope .

stats uri /admin?stats

stats realm Haproxy\ Statistics

stats auth admin:pass

cookie JSESSIONID prefix

server tomcat1 127.0.0.1:8080 cookie JSESSIONID_SERVER_1 check inter 5000

server tomcat2 127.0.0.1:8180 cookie JSESSIONID_SERVER_2 check inter 5000

Perlu di ingat bahwa pada

stats auth admin:pass

adalah username dan password untuk authentifikasi ketika kita masuk ke haproxy manager

server tomcat1 127.0.0.1:8080 cookie JSESSIONID_SERVER_1 check inter 5000

server tomcat2 127.0.0.1:8180 cookie JSESSIONID_SERVER_2 check inter 5000

Pada bagian yang bercetak tebal di atas adalah port http dari tomcat1 dan tomcat2 yang kita

masukkan ke dalam cluster.

Perlu di ingat, bahwa HaProxy yang kita konfigurasi menggunakan port 80, jadi matikan

terlebih dahulu apache webserver yang sedang berjalan untuk menghindari crash.

Konfigurasi membaca file konfigurasi file yang ada di haproxy.cfg

$ sudo haproxy -f /etc/haproxy/haproxy.cfg

Created By Meruvian Cloud Team 37

Page 38: Implementasi clustering pada jee container

Open browser dan akses url :

http://localhost/admin?stats

Login dengan username dan password yang telah kita buat sebelumnya di file haproxy.cfg

Warna merah pada service tomcat1 dan tomcat2 menandakan bahwa tidak ada tomcat yang sedang

berjalan.Jika di system terdapat tomcat yang tercluster yang sedang berjalan maka warna dari service

akan berubah menjadi hijau.

Sekarang kita jalankan apache tomcat1

$ apache-tomcat-6.1/bin/catalina.sh run

Pada HAProxy browser akan tampak, bahwa satu service tomcat kita telah running

Selanjutnya pastikan dua buah tomcat yang telah kita konfigurasi berjalan.Kita akan coba akses url host

Created By Meruvian Cloud Team 38

Page 39: Implementasi clustering pada jee container

kita untuk memastikan bahwa cluster dan load balancing yang kita konfigurasi berhasil.

Masuk ke browser dan akses url http://localhost atau http://localhost/yama

Request yang dikirim oleh client akan diarahkan oleh HaProxy ke dalam Tomcat yang sedang

berjalan di dalam cluster.

Created By Meruvian Cloud Team 39

Page 40: Implementasi clustering pada jee container

B. Fail Over

Untuk konfigurasi Apache-tomcat untuk keperluan failover cukup mudah.Sekarang pada

masing-masing apache tomcat yang telah kita konfigurasi pada bagian sebelumnya, edit file

server.xml di dalam folder ${TOMCAT_HOME}/conf/server.xml.

Tambahkan baris berikut di dalam file tersebut:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>

C. Session Replication

Untuk mereplikasi aplikasi Yama yang akan kita deploy ke dalam apache tomcat, cukup

tambahkan tag <distributable/> di dalam file web.xml di dalam folder WEB-INF.

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

<distributable/>

...

</web-app>

Selanjutnya deploy seperti biasa dengan memindahkan file aplikasi dalam bentuk yama.war ke

dalam folder webapps di dalam apache tomcat.

Kita bisa melakukan beberapa skenario untuk memastikan bahwa konfigurasi berhasil dengan

• akses http://localhost/yama

Created By Meruvian Cloud Team 40

Page 41: Implementasi clustering pada jee container

• login dengan username : admin password :admin

• Matikan server2 sementara server1 tetap hidup

Server 1 Server 2

Up Down

• Buka kembali browser dan pastikan bahwa kita tidak perlu login kembali meskipun ada

satu server yang kita matikan.

• Selanjutnya hidupkan Server2 dan matikan Server1

Server 1 Server 2

Down Up

• Buat Crud Item di dalam form yama, dan pastikan ketika kita melakukan save data

tersimpan.Hal ini menunjukkan bahwa failover dan session replikasi kita berhasil

terkonfigurasi antar server tersebut

Created By Meruvian Cloud Team 41

Page 42: Implementasi clustering pada jee container

5.3.2 Glassfish

Pada bagian ini akan dibahas bagaimana cara melakukan cluster load balancing, fail over dan

session replication dengan menggunakan glassfishv3.

A. Load Balancing

1.Pastikan bahwa apache2 telah terinstall dengan benar.

2.Pastikan juga bahwa Glassfish sudah berjalan dengan baik.

http://localhost:8080

Created By Meruvian Cloud Team 42

Page 43: Implementasi clustering pada jee container

3.Aktifkan modul proxy_http .

$ sudo a2enmod proxy_http

$ sudo service apache2 restart

4.Kemudian lakukan perubahan pada file konfigurasi apache2 di /etc/apache2/apache2.conf

$ sudo nano /etc/apache2/apache2.conf

masukkan baris berikut di baris paling bawah

LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so

5.Buat Virtual Host baru untuk mengatur Glassfish agar di-load balance oleh apache2.

$ sudo nano /etc/apache2/sites-available/glassfish

dengan isi :

<VirtualHost *:80>

ServerName glassfish.meruvian.com

ProxyPass / http://localhost:8080/

ProxyPassReverse / http://localhost:8080/

ErrorLog /var/log/apache2/glassfish.error.log

LogLevel warn

CustomLog /var/log/apache2/glassfish.access.log combined

</VirtualHost>

glassfish.meruvian.com adalah nama host dimana Glassfish berjalan.

Untuk menambahkannya edit /etc/hosts , dan tambahkan :

Created By Meruvian Cloud Team 43

Page 44: Implementasi clustering pada jee container

127.0.0.1 glassfish.meruvian.com

6.Kemudian enable konfigurasi virtual host tadi .

$ sudo a2ensite glassfish

$ sudo /etc/init.d/apache2 restart

7.Restart kembali Glassfish :

$ cd Glassfish/bin/

$ ./asadmin restart-domain

8.Akses http://glassfish.meruvian.com , jika berhasil maka akan muncul halaman seperti di

bawah ini :

9. Dalam penerapan dalam aplikasi Yama,jika konfigurasi load balance benar dan Yama

telah di deploy sebelumnya maka Yama bisa langsung diakses di

http://glassfish.meruvian.com/yama

Created By Meruvian Cloud Team 44

Page 45: Implementasi clustering pada jee container

B. Fail Over

Glassfishv3 memiliki fitur GMS (Group Management Service) yang memang berfungsi

untuk mengatur beberapa metode clustering seperti failover dan session replication dengan

adanya menu baru yaitu 'Cluster'.Adapun langkah-langkah dalam mengkonfigurasi failover

pada glassfish adalah sebagai berikut :

1. Pastikan Glassfish A dan B sudah dapat berjalan dengan baik pada port masing-masing

(4848 dan 4838 ,8080 dan 8081).Pastikan juga bahwa load balance juga sudah berjalan

baik seperti tutorial sebelumnya.

2. Pertama buatlah cluster pada Glassfish A dengan perintah :

$ ./asadmin create-cluster meruvian_local_cluster

3. Kemudian buat instance dalam cluster di meruvian_local_cluster :

$ ./asadmin create-local-instance –cluster meruvian_local_cluster

local1

4. Setelah beralihlah ke direktori Glassfish B dan buat instance pada cluster

meruvian_local_cluster :

$ ./asadmin –port 4848 create-local-instance –cluster

meruvian_local_cluster local2

[OUTPUT]

JMX_SYSTEM_CONNECTOR_PORT=28692

JMS_PROVIDER_PORT=27682

Created By Meruvian Cloud Team 45

Page 46: Implementasi clustering pada jee container

HTTP_LISTENER_PORT=28086

ASADMIN_LISTENER_PORT=24854

JAVA_DEBUGGER_PORT=29015

IIOP_SSL_LISTENER_PORT=23826

IIOP_LISTENER_PORT=23706

OSGI_SHELL_TELNET_PORT=26672

HTTP_SSL_LISTENER_PORT=28187

IIOP_SSL_MUTUALAUTH_PORT=23926

Command create-local-instance executed successfully.

5. Pastikan bahwa kedua instance telah berhasil dibuat .

6. Kemudian start cluster pada Glassfish A :

$ asadmin start-cluster meruvian_local_cluster

7. Kemudian start instance local2 di Glassfish B:

$ asadmin start-local-instance --node localhost-domain1 --sync normal

local2

8. Pastikan keduanya sudah berjalan :

9. Untuk memastikan cluster berjalan , testing lah dari segi aplikasi yaitu dari Yama.

Pada aplikasi Yama yang sudah berjalan tambahkan target ke cluster

meruvian_local_cluster.

Created By Meruvian Cloud Team 46

Page 47: Implementasi clustering pada jee container

Untuk menambahkan pilih manage target , dan add pada

meruvian_local_cluster,kemudian Save

10. Kemudian akses melalui Web Links .

Created By Meruvian Cloud Team 47

Page 48: Implementasi clustering pada jee container

[local1] http://glassfish1.meruvian.com:28085/yama menyatakan bahwa aplikasi yama

telah dideploy di Glassfish A.

[local1] http://glassfish1.meruvian.com:28086/yama menyatakan bahwa aplikasi yama

sudah dideploy di Glassfish B.

11. Untuk testing aplikasinya , klik pada http://glassfish1.meruvian.com:28085/yama dan

http://glassfish1.meruvian.com:28086/yama .

Created By Meruvian Cloud Team 48

Page 49: Implementasi clustering pada jee container

12. Untuk memastikan bahwa failover berjalan , matikan service pada Glassfish A ,

kemudian akses kembali pada port 28085 dimana aplikasi yama berjalan di Glassfish A.

Glassfish A Glassfish B

Down UP

Seharusnya jika failover berhasil maka aplikasi Yama tetap bisa dijalankan,

aplikasi CRUD Yama juga tetap berjalan

Created By Meruvian Cloud Team 49

Page 50: Implementasi clustering pada jee container

13. Jika ingin dipadu dengan load balance , maka lakukan konfigurasi ulang pada

/etc/apache2/sites-available/glassfish dan mengarahkan ProxyPass dan ProxyPass

Reverse ke http://localhost:28085/ .

Kemudian restart konfigurasi apache2

$ sudo service apache2 restart

14. Kemudian akses kembali http://glassfish.meruvian.com

C. Session Replication

Untuk session replication sudah secara otomatis tercluster pada konfigurasi GMS di

langkah failover sebelumnya.

Tapi untuk memastikan bahwa session replication berhasil lakukan edit pada web.xml di

Glassfish A dengan perintah :

$ nano glassfish/domain/domain1/application/yama/WEB-INF/web.xml

Edit web.xml pada aplikasi dan tambahkan tag <distributable/>

Created By Meruvian Cloud Team 50

Page 51: Implementasi clustering pada jee container

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

<description>Testing Session</description>

<display-name>meruvian</display-name> <distributable/>

<session-config> <session-timeout> 30</session-timeout> </session-

config> </web-app>

Tambahkan juga glassfish-web.xml pada direktori yang sama:

<?xml version="1.0" encoding="UTF-8"?>

<glassfish-web-app error-url="">

<session-config> <cookie-properties> <property

name="cookieDomain" value="meruvian.com"/>

</cookie-properties> </session-config> </glassfish-web-app>

Kemudian restart kembali Glassfish A.

Untuk mengetest session replication buat juga skenario dengan menginputkan data di

form CRUD di saat service Glassfish A dan B dalam keadaan UP.

Glassfish A Glassfish B

UP UP

Created By Meruvian Cloud Team 51

Page 52: Implementasi clustering pada jee container

Masukkan data pada form

Matikan service Glassfish A

$./asadmin stop-domain

Jika session replication yang sudah dipadu dengan load balance dan failover berhasil

maka ketika tombol Save dipilih maka aplikasi tetap berjalan dan memasukkan semua

data pada form ke Database , dan kemudian akan menampilkan hasilnya.

Created By Meruvian Cloud Team 52

Page 53: Implementasi clustering pada jee container

5.3.3 JBoss

Pada tahap ini akan dijelaskan cara membangun clustering vertikal dengan menggunakan

container Jboss AS7 Final dan dengan aplikasi Yama.

Sebelumnya , diperlukan beberapa aplikasi yang perlu dipersiapkan sebelum membangun

clustering, antara lain :

• Untuk membangun clustering secara vertikal diperlukan beberapa kebutuhan antara lain:

• Untuk server menggunakan Sistem Operasi Ubuntu 12.04 Precise

• Menggunakan Jboss AS7.1 FInal

• Menggunakan Java6

• Menggunakan aplikasi yama

• Menggunakan MySQL sebagai database aplikasi yama

• Menggunaan mod_cluster untuk load balancing dan session replication

Skenario yang akan dijalankan adalah sebagai berikut :

• Menggunakan standalone mode dalam membangun cluster vertikal antara 2 node di

dalam server yang sama

• Konfigurasi akan difokuskan pada file standalone-ha.xml

• Menggunakan mod_cluster sebagai load balancing dan session replication

• Menggunakan IP kelas C, yaitu 192.168.2.20 dan port 8180 dan 8280

Created By Meruvian Cloud Team 53

Page 54: Implementasi clustering pada jee container

A. Load Balance

Di bawah ini merupakan langkah-langkah membangun load balancing di Jboss AS7, aplikasi

yang digunakan untuk load balancing adalah mod_cluster.

• Untuk aplikasi kontainer yang gunakan adalah Jboss AS7 dan file yang digunakan

adalah jboss-as-7.1.0.Final.tar.gz yang dapat diunduh di

http://www. jboss .org/ jbossas /downloads .

• Ekstrak file tersebut ke dalam folder /opt. Dengan perintah tar -zxvf

• Buat dua node dengan menggunakan nama standalone-node1 dan standalone-node2

• Buat user admin untuk kedua node dengan menggunakan perintah di bawah ini

#./bin/add-user.sh

<a> ManagementRealm

<b> ApplicationRealm

#Pilih yang <a>

Enter the details of the new user to add.

Realm (ManagementRealm) : <Enter>

Username : admin

Password : ******

Created By Meruvian Cloud Team 54

Page 55: Implementasi clustering pada jee container

Re-enter Password : ******

The username 'admin' is easy to guess

Are you sure you want to add user 'admin' yes/no? yes

About to add user 'admin' for realm 'ManagementRealm'

Is this correct yes/no? yes

• Ubah konfigurasi standalone.conf yang berada di direktori /bin pada setiap node.

...

JAVA_OPTS="$JAVA_OPTS -Djboss.server.default.config=standalone-

ha.xml"

• Berikan nama setiap node

Standalone-node1

<server name="node1" xmlns="urn:jboss:domain:1.2">

Standalone-node2

<server name="node2" xmlns="urn:jboss:domain:1.2">

• mod_cluster yang digunakan dalam clustering ini adalah versi 1.2.0 Final, unduh file

mod_cluster versi terbaru di http://www.jboss.org/mod_cluster/downloads/

• Pilih bundle yang binaries linux2-x86, unduh kemudian ekstrak pada direkori /opt

• Konfigurasi file httpd.conf dengan konfigurasi dibawah ini.

Listen 192.168.2.20:80

<IfModule manager_module>

CreateBalancers 1

Maxsessionid 1

<VirtualHost 192.168.2.20:80>

<Directory />

Order deny,allow

Deny from all

Allow from 192.168.2.

</Directory>

<Location /mod_cluster_manager>

SetHandler mod_cluster-manager

Order deny,allow

Deny from all

Allow from 192.168.2.

Created By Meruvian Cloud Team 55

Page 56: Implementasi clustering pada jee container

</Location>

LogLevel debug

ProxyPass /yama balancer://yama/ stickysession=JSESSIONID|jsessionid

nofailover=On

ProxyPassReverse /yama balancer://yama/

<Location /yama>

SetHandler yama

</Location>

KeepAliveTimeout 60

MaxKeepAliveRequests 0

ManagerBalancerName yama

AdvertiseFrequency 5

EnableMCPMReceive

AllowDisplay On

</VirtualHost>

</IfModule>

• Pastikan port :80 tidak sedang digunakan oleh aplikasi lain misalnya apache, jalankan aplikasi

dengan perintah di bawah ini.

$ sudo ./sbin/apachectl start

• Jalankan aplikasi di web browser dengan menggunakan link berikut

http://192.168.2.20/mod_cluster_manager

• Tambahkan fungsi proxy-list pada konfigurasi domain:modcluster

Created By Meruvian Cloud Team 56

Page 57: Implementasi clustering pada jee container

<subsystem xmlns="urn:jboss:domain:modcluster:1.0">

<mod-cluster-config advertise-socket="modcluster" proxy-

list="192.168.2.20:80" connector=”ajp”>

• Pada domain:weld ubah ip adress lokal interfaces menjadi ip address server

<subsystem xmlns="urn:jboss:domain:weld:1.0"/>

</profile>

<interfaces>

<interface name="management">

<inet-address value="$

{jboss.bind.address.management:192.168.2.20}"/>

</interface>

<interface name="public">

<inet-address value="${jboss.bind.address:192.168.2.20}"/>

</interface>

<interface name="unsecure">

<inet-address value="$

{jboss.bind.address.unsecure:192.168.2.20}"/>

</interface>

• Ubah port pada domain:weld dengan menambahkan 100 untuk standalone-node1 dan 200

untuk standalone-node2

<socket-binding name="ajp" port="8109"/>

<socket-binding name="ajp" port="8209"/>

• Tes pada salah satu server jboss

$ cd /opt/standalone-node1/bin/

$ sudo ./standalone.sh -u 230.0.0.4

-Djboss.server.base.dir=../standalone

• Buka aplikasi yama yang telah di load balancer di web browser dengan url berikut:

http://192.168.2.20/yama

Created By Meruvian Cloud Team 57

Page 58: Implementasi clustering pada jee container

B. Fail Over

Jboss Application Server memiliki fitur Clustering dan Failover, dengan adanya fitur failover,

kemungkinan downtime server bisa diminimalisir, fungsi failover di Jboss hampir sama dengan

fungsi failover pada umumnya, Berikut tahapan menggunakan failover di Jboss.

• Pastikan server standalone-node1 dan standalone-node2 sudah berjalan dengan baik.

• Pastikan juga Load Balance telah berjalan

• Untuk mengecek kedua node telah berjalan dan port node yang digunakan dapat

mengakses aplikasi mod_cluster di web browser

Created By Meruvian Cloud Team 58

Page 59: Implementasi clustering pada jee container

• Buka aplikasi yama yang telah di load balancing di web browser

• Login ke dalam aplikasi dengan username dan password admin

• Uji Failover dengan mematikan salah satu node, misal standalone-node2 dengan

menekan tombol Ctrl + C.

• Jika aplikasi tetap berjalan, berarti failover telah berjalan di cluster vertikal

• Uji dengan sebaliknya, misal mematikan standalone-node2 dan standalone-node1 dalam

keadaan menyala

Created By Meruvian Cloud Team 59

Page 60: Implementasi clustering pada jee container

C. Session Replication

Untuk menggunakan session replication pada setiap node, hanya perlu menambahkan

beberapa konfigurasi melanjutkan konfigurasi di load balancing.

• Tambahkan konfigurasi instance-id pada konfigurasi domain:web

Standalone-node1

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-

server="default-host" instance-id="node1" native="false">

Standalone-node2

<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-

server="default-host" instance-id="node2" native="false">

• Tambahkan fungsi sticky session pada konfigurasi domain:modcluster

<subsystem xmlns="urn:jboss:domain:modcluster:1.0">

<mod-cluster-config advertise-socket="modcluster"

balancer="yama" sticky-session="true" sticky-session-

force="false" proxy-list="192.168.2.20:80" connector=”ajp”>

<dynamic-load-provider history="9" decay="2">

<load-metric type="cpu"/>

</dynamic-load-provider>

</mod-cluster-config>

</subsystem>

• Jalankan kedua node dengan perintah di bawah ini.

Created By Meruvian Cloud Team 60

Page 61: Implementasi clustering pada jee container

• Cek kedua node telah berjalan dan aplikasi yama telah dideploy pada mod_cluster

• Buka aplikasi yama yang telah di load balancer di web browser dengan url berikut:

• Buat User baru di tab CRUD EXAMPLE dan sebelum menekan tombol SAVE, tes

terlebih dahulu session replication tiap node, matikan salah satu node, misal standalone-

node2.

• Klik SAVE

• Jika aplikasi tetap berjalan, berarti session replication telah berjalan di cluster vertikal

• Uji dengan sebaliknya, misal mematikan standalone-node2 dan standalone-node1 dalam

keadaan menyala

Created By Meruvian Cloud Team 61

Page 62: Implementasi clustering pada jee container

Created By Meruvian Cloud Team 62

Page 63: Implementasi clustering pada jee container

Lampiran A :Meruvian Integrated Platform(MIP) versi.1.0

Pengantar

Jauh sebelum Meruvian didirikan, sampai saat buku ini dibuat, yaitu 2001 dibawah

BlueOxygen, sampai ditahun 2010 diputuskan Meruvian mengembangkan engine yang serupa tetapi

lebih ringan dan memiliki skalabilitas. Konsep pengembangan adalah membuat sebuah engine atau

platform yang memudahkan pengembangan, dan telah menjadi dasar dari solusi sejak didirikannya,

kami menyebutnya MIP (Meruvian Integrated Platform)

Meruvian Integration Platform(MIP) merupakan platform integrasi berbasis RESTful yang digunakan

untuk menciptakan solusi pengembangan aplikasi secara lebih cepat. MIP terdapat 2 core model yaitu

Yama dan Midas. Dalam platform ini Yama digunakan sebagai server dan Midas sebagai

client(Aplikasi Android), keduanya berkomunikasi satu sama lain dengan menggunakan mekanisme

REST.

MIP merupakan platform yang bersifat opensource dengan menggunakan Apache License.

Sehingga dapat dengan mudah dikembangkan. MIP juga mendukung teknologi berbasis cloud dan

middleware sehingga dapat dengan mudah dikolaborasikan.

Arsitektur yang digunakan pada MIP Server atau Yama dapat diintegrasikan dengan berbagai

komponen mengacu 3 layer yaitu Model View Controller. Hibernate dipilih sebagai solusi Model,

Spring sebagai IoC dan Struts2 sebagai Controller. Kemudian layer diatasnya akan menghasilkan

output berupa JSON/XML --merupakan sebuah plugins REST untuk Struts2, dapat diakses di

http://s2restplugins-java.net) -- yang dapat diintegrasikan dengan Android, Browser atau mobility

Created By Meruvian Cloud Team 63

Page 64: Implementasi clustering pada jee container

Arsitektur Yama

Sekilas mengenai MIP :

-) Pengembangan aplikasi secara lebih cepat

-) Total REST Platform – Consumer & Producer

-) Solusi lengkap: Cloud, Middleware untuk pengembangan solusi mobile

-) Integration Project dari IAAS ke PAAS maupun ke SAAS dan diintegrasikan dengan aplikasi

mobile

-) OpenSource menggunakan Apache License

-) Terintegrasi dengan program Link-&-Match Meruvian

Adapun fitur-fitur pada MIP, meliputi :

Created By Meruvian Cloud Team 64

Page 65: Implementasi clustering pada jee container

1. MIP Server

MIP Server yang dikembangkan berbasis REST Service yang dapat diintegrasikan dengan MIP Client

yang berupa aplikasi mobile. Mekanisme pengembangannya berupa platform integrasi (SpringMVC,

Hibernate, JPA), (Struts2, Hibernate, JPA). Sehingga, untuk pengembangan aplikasi menjadi sangat

mudah dan cepat dengan adanya Pattern Platform yang dapat mempercepat proses pembuatan aplikasi

yang sudah disediakan pada MIP Server.

Nama Proyek: Yama (http://yama.java.net)

2. MIP Client

Solusi mobile application baik menggunakan aplikasi android yang dikembangkan sebagai client dari

integrasi MIP.

Nama Proyek: Midas (http://midas.java.net)

Created By Meruvian Cloud Team 65

Page 66: Implementasi clustering pada jee container

Lampiran B :

Tertarik Untuk Implementasi Clustering di

Environtment Anda ?

Hubungi kami di :

Email : [email protected] : 021-985 644 17

Created By Meruvian Cloud Team 66