Anda di halaman 1dari 7

Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK) DOI: x

Vol. x, No. x, April 2014, hlm. x-x p-ISSN: x


Akreditasi KEMENRISTEKDIKTI, No. x e-ISSN: x

MODEL SINKRONISASI DATA NAV REKSADANA DALAM ARSITEKTUR


MICROSERVICES MENGGUNAKAN MESSAGE BROKER APACHE KAFKA
Widi Santoso *1, Samidi
1,2
Fakultas Teknologi Informasi, Program Studi Magister Ilmu Komputer, Universitas Budi Luhur Jakarta
Email: 12311600122@student.budiluhur.ac.id, 2samidi @budiluhur.ac.id

(Naskah masuk: xx , diterima untuk diterbitkan: xx )

Abstrak

Salah satu instrument investasi yang menarik adalah reksadana, pada kenyataaannya investasi reksadana
meningkat dari jumlah investor, terlihat dari meningkatnya Single Investor Identification (SID) yang tersedia untuk
reksadana. Selain itu, ada peningkatan jumlah transaksi dan keterlibatan berbagai pihak yang mendukung proses
investasi. Namun masalah seperti ketidakmampuan untuk mengelola konsistensi data muncul seiring
pertumbungan bisnis. Sinkronisasi data adalah metode penyelarasan data yang paling umum, dan banyak orang
menggunakan replikasi. Namun proses konfigurasi yang kompleks di perlukan untuk mengatasi masalah
konsistensi data sepenuhnya. Salah satu komponennya adalah metode pemrosesan real-time yang dapat digunakan
saat membuat database sinkronisasi satu arah. Dengan menggunakan Apache Kafka, yang merupakah broker pesan
open-source yang memiliki performa tinggi yang memungkinkan pengiriman data secara real-time. Perubahan
database ini akan di gunakan sebagai referensi untuk sinkronisasi transfer data di dalam arsitektur microserviecs.

Kata kunci: arsitektur, microservices, message broker, real-time, kafka, sinkronisasi

MUTUAL FUND NAV DATA SYNCHRONIZATION MODEL IN MICROSERVICES


ARCHITECTURE USING MESSAGE BROKER APACHE KAFKA

Abstract

One of the interesting investment instruments is mutual funds in fact, the number of investors increased, as
evidenced by the increase in the Single Investor Identification (SID) available to the investor. In addition, there is
an increase in the number of transactions and involvement of various parties that support the investment process.
However, problems like the inability to manage data consistency emerged as the business grew. Data
synchronization is the most common method of data alignment, and many people use replication. However,
complex configuration processes are needed to solve the data consistency problem completely. One of its
components is a real-time processing method that can be used when creating a one-way synchronized database.
Using Apache Kafka, it's a high-performance open-source messaging broker that allows data to be delivered in
real-time. This database change will be a reference for data transfer synchronization within the microservices
architecture.

Keywords: architecture, microservices, message broker, real-time, kafka, synchronization

1. PENDAHULUAN Sistem pesan terdistribusi terdiri dari beberapa


Brokers (worker machine) yang bekerja sama untuk
Di era teknologi informasi sekarang ini data
menyediakan layanan pesan. Entitas yang
transaksi dikirim, dan terima secara terus menerus
menerbitkan pesan ke sistem disebut producer, dan
setiap hari. Data transksi dihasilkan secara terus
entitas yang menerima pesan dari sistem disebut
menerus, yang biasanya mengirimkan data secara
consumer. Pesan-pesan tersebut dikelompokkan ke
bersamaan. Produksi dan penggunaan data ini secara
dalam Queues atau Topics untuk memisahkan pesan-
real-time menghadirkan tantangan baru bagi sistem
pesan milik producer/consumer yang berbeda. Pesan
data karena volumenya yang besar dan waktu respons
yang dikirim oleh producer harus menyebutkan Topic
yang cepat. Pesan yang didistribusikan dalam sistem
pengirimannya. Sistem antrian pesan dapat
antrian memainkan peran yang semakin penting
meningkatkan pemrosesan aliran dalam empat
dalam aplikasi pemrosesan data, seperti layanan
skenario berikut: (1) Asynchronous Processing.
pencarian, analisis, dan rekomendasi real-time
Dalam pemrosesan sinkronisasi, producer data perlu
berkualitas tinggi.
1
2 Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK), Vol. x, No. x, April 2014, hlm. x-y

menerima respons dari consumer data sebelum sebelumnya dengan menggunakan berbagai metode
mengirimkan data berikutnya. Dengan sistem antrian untuk sinkronisasi satu arah. Penelitian ini
pesan, producer mengirimkan pesan (data) ke sistem menggunakan pertukaran informasi real-time sebagai
dan kemudian terus menghasilkan pesan berikutnya media pertukaran data dan tetap mengunakan Apache
tanpa melakukan sinkronisasi dengan sisi consumer, Kafka sebagai message broker dan menggunakan
sehingga menghindari resources saat menunggu Hibernate framework sebagai perubahan dataase.
feedback. (2) Pemisahan Producers dan Consumers.
Dalam praktiknya, suatu sistem berkomunikasi
dengan banyak sistem melalui antarmuka yang 2. METODE PENELITIAN
berbeda. Penggabungan sistem producer-consumer
Gambar 1 menunjukkan metode penelitian untuk
menambah beban pemrogram karena mereka harus
model yang dikembangkan terdiri dari 6 langkah.
menangani koneksi ke sistem yang berbeda. Dengan
sistem antrian pesan sebagai middleware, producer
hanya bertanggung jawab mempublikasikan pesan ke
antrian tanpa mempertimbangkan beragam
mekanisme komunikasi dengan consumer yang
berbeda. (3) Peak Shaving. Dalam skenario
konkurensi tinggi, server bisa crash karena terlalu
banyak permintaan dalam waktu singkat. Sistem
antrian pesan dapat diperkenalkan untuk buffer data,
dimana consumer dapat menarik data pesan sesuai
dengan kapasitas pemrosesan mereka sendiri. (4)
Dokumentasi Log. Log dari beberapa sistem produksi
berpotensi berukuran sangat besar..
Kemajuan dalam teknologi informasi telah
membuka peluang bisnis baru, seperti transaksi bisnis Gambar 1 Metode Penelitian
yang dilakukan secara online. Namun, bersamaan
dengan kemajuan ini masalah baru, seperti Tahap Pertama adalah tahap kondisi masalah yang
ketidakmampuan untuk mengelola integrasi data, saat ini terjadi. Tahap kedua pengumpulan informasi
terutama dalam kasus transaksi yang di lakukan penyelesaian masalah yang terjadi seperti jenis
secara online. Data ini terhubung ke system distribusi. message broker dan Bahasa pemrograman yang akan
Integrasi data sangat penting untuk di gunakan. Perancangan bisnis proses sinkronisasi
menggunakan database terdistribusi, yang dan perancangan algoritma yang akan di lakukan
memungkinkan untuk menyatukan data dari berbagi pada tahap Ketiga. Tahap Keempat melibatkan
macam sumber. Beberapa keuntungan menggunakan pemrograman untuk setiap service yang telah di
database terdistribusi termasuk kemampuan untuk rencanakan. Tahap Kelima merupakan pengujian
mengendalikan penyebaran dan ekspansi data [1]. terhadap service yang telah di develop.
Cara yang bermanfaat untuk menyebarkan data Setelah di rilis dan di gunakan, ada tahap Review atau
adalah replikasi dalam database terdistribusi. Feedback yang akan di gunakan untuk
Menghasilkan data yang benar-benar konsisten pengembangan berikutnya. Gambar 2 menunjukkan
membutuhkan lebih dari sekedar metode replikasi. gambaran umum system yang di kembangkan.
Salah satu masalah yang paling umum adalah
kegagalan koneksi atau client offline. Untuk
menyelesaikan masalah ini, Anda dapat
menggunakan model atau prosedur sinkronisasi data.
Sinkronisasi adalah proses yang memastikan bahwa
setiap data di database mengandung object atau data
serupa.
Dengan sinkronisasi data di satu database dapat
di perbaharui secara instan atau secara berkala pada
database lain. Jurmal sebelumnya mencoba
menyelesaikan masalah ini dengan metode Audit Log
untuk mendaptkan perubahan pada database dan Gambar 2. Gambaran Umum
message broker sebagai pertukaran data [6]. Namun
metode ini memiliki kekurangan yaitu menggunakan Terdapat 2 services yang penting pada penelitian ini
table penyimpanan Audit Log yang harus di maintain yaitu Product Service dan Transaction Service.
di karenakan setiap hari ada data transksi yang kian Secara business proses bisa di jelaskan sebagai
bertambah. berikut:
Penelitian ini bertujuan untuk memperbaki 1. Data produk NAV (id, effective_date, nav,
masalah sinkronisasi database yang telah di tangani mutualfund_code, status, created_at, created_by)
yang ada di Product service berfungsi sebagai master
Satu, dkk, Judul singkat … 3

data akan di kirim ke Transaction service melalui PostgreSQL sudah didukung oleh banyak platform
Kafka dan bebas lisensi [7]. PostgreSQL merupakan
2. Kafka akan mengirmkan data ke Transaction database relasional yang mendukung perintah
service sebagai proses sinkronisasi data produk NAV. perintah SQL maupun PL/pgSQL (Procedural
3. Data transaksi (transaction id, date, product code, Language). Selain PostgreSQL juga memiliki
product name, nav, amount) akan mengirimkan data komunitas yang besar, dokumentasi yang lengkap,
ke Payment Gateway dan cara pararel nasabah akan serta didukung berbagai bahasa pemrograman seperti
melakukan pembayaran via Virtual Account / C++, Java, Perl, PHP, Python, dan Tcl [8].
Ewallet.
4. Payment Gateway akan mengirimkan status 3.3. Apache Kafka
pembayaran agar status transaksi menjadi status
Apache Kafka adalah platform open-source yang di
COMPLETED jika proses pembayaran tersebut
berhasil. Status REJECT apabila proses pembayaran rancang untuk mengelola pengiriman data secara
gagal. real-time dan saat ini merupakan bagian dari yayasan
Apache Software Foundation. Tujuannya adalah
memungkinkan pertukaran data yang efisien antara
3. KAJIAN PUSTAKA
producer and consumer serta menangani volume data
3.1. Sinkronisasi
yang signifikan [4]. Struktur Apache Kafka di
Proses sinkronisasi data memastikan bahwa data di gambarkan pada Gambar 3.
satu server adalah sama dengan di server lainnya.
Proses ini menyalin data ke dalam table dan skema
database lain yang memungkinkan data di satu
database di perbaharui secara langsung maupun
berkala di database lain. Metode ini adalah sumber
konsep replikasi database modern. Untuk mengubah
data pada skema secara langsung, mekanisme
sinkronisasi ini di perlukan. Data yang di perbaharui
pada skema global ini terdiri dari data pada skema
local yang di peroleh dari database yang terdistribusi.
Skema struktur data antara skema local dan skema
global dapat sama atau berbeda. Proses sinkronisasi Gambar 3. Arsitektur Apache Kafka
database harus memiliki kemampuan untuk
mengubah struktur da yang ada di masing-masing Konsep publish-subscribe yang digunakan Apache
database, ini di perlu di lakukan untuk memastikan Kafka memungkinkan produser mengirimkan data ke
bahwa informasi akurat [1]. topik, dan producer dapat men-subscribe ke topic
Penelitian serupa di lakukan oleh John Arissaputra tersebut untuk mendapatkan data secara instan.
untuk menyelesaikan masalah tersebut. Untuk Semua data Apache Kafka di simpan dalam commit
mengidentifikasi perubahan dalam setiap basis data, log, sebuah struktur log yang teroganisir yang
dia menggunakan Binary Log dan kemudian memberi nomor urut kepada setiap pesan yang di
mengirimkan perubahan tersebut ke host lain, yang terima, yang memungkinkan akses cepat dan efektif
menggunakan socket untuk mereplikasi basis data ke data. Karena Kafka sangat mahir dalam mengirim
tersebut. Masalah koneksi jaringan dan host offline pesan, setiap pesan yang di terima dan di simpan
selama proses replikasi di bahas dalam penelitian ini dalam log yang terus-menerus dan kuat.
[2]. Seseorang hanya dapat menghapus pesan setelah
Hanafi Ahmad melakukan penelitian tentang cara periode retensi selesai atau sesuai dengan kebijakan
menyinkronkan database dengan API third party penghapusan. Ini memastikan bahwa data tetap dapat
Dropbox, karena kebutuhan system untuk reliabilitas di akses dan tidak hilang. Guo Fu melakukan
dan kemampuan multitasking yang tinggi, database penelitian yang membandingkan lima system queue
dapat di gunakan sebagai perantara untuk pertukaran pesan yaitu: RabbitMQ, Apache Kafka, RocketMQ,
dan penyimpanan data. Proses pertukaran data ActiveMQ dan Pulsar. Studi tersebut memeriksa
menggunakan Dropbox sebagai perantara yang masing-masing system dalam berbagai hal, seperti
mengirimkan pesan ke alamat pengiriman melalui throughput, keterlambatan, multifungsi, pesan
identifikasi email pengguna Dropbox yang transaksi, jaminan pengiriman, realibility dan
memastikan bahwa pesan di sinkronkan ke dalam jaminan pesanan [5]. Hasil penelitian menunjukkan
database penerima [3]. bahwa Apache Kafka memiliki throughput tertinggi
dan direkomendasikan untuk system menangani
3.2. PostgreSQL Database pesan.
PostgreSQL merupakan database yang
dikembangkan oleh University of California di
Berkeley Computer Science Department.
4 Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK), Vol. x, No. x, April 2014, hlm. x-y

3.4. Java Spring bot melakukan sinkronisaasi database setelah proses


selesai [11].
Diakses secara luas untuk semua pegembangan
Spring, Spring Boot menawarkan pengalaman
4. HASIL DAN PEMBAHASAN
pembangunan applikasi jauh lebih cepat dan
4.1. Client Server menggunakan socket
menawarkan berbagai fitur non-fungsional yang
umum untuk proyek kelas besar, seperti keamanan,
pemeriksaan kesehatan, konfigurasi eksternal dan
server tertanam [9].

3.5 Hibernate Framework


Setelah Gavin King mendirikan Hibernate pada tahun
2001, proyek ini mendapat perhatian besar setelah
dipekerjakan oleh JBoss, yang kemudian
mengerahkan lebih banyak pasukan untuk mengelola
Hibernate dengan baik. Hibernate sangat efektif
sehingga menjadi lebih terkenal daripada konsep
ORM itu sendiri.Sejak versi 3.5, Hibernate telah
dilengkapi dengan HibernateAnnotation dan secara
resmi menjadi salah satu implementasi JPA. Namun,
JPA sendiri hanyalah sekumpulan interface seperti
JDBC, dan Hibernate Annotation dapat digunakan
dalam tiga cara:
Gambar 4. Skema sinkronisasi
1. Menggunakan HibernateAnnotation;
2. Menggunakan HibernateAnnotation dan JPA; Penelitian ini menggunakan DBMS MySQL. Seperti
3. Menggunakan JPA Annotation pada Gambaar 4, proses sinkronisasi di lakukan
Selain itu, ada proyek Hibernate Search yang dengan menggunakan arsitekur client-server dan
bertujuan untuk membuat indeks teks penuh dari pengiriman data di lakukan dengan menggunakan
tabel-tabel yang dikelola Hibernate, sehingga socket stream.
pencarian teks penuh terhdap tabel tersebut dapat Client merupakan software yang diinstal dimana
dilakukan. Selanjutnya, proyek Hibernate Shards database yang akan disinkronkan digunakan.
bertujuan untuk memberikan kemampuan untuk Konfigurasi koneksi pada client adalah file yang
memisahkan tabel dalam beberapa instance database, berisi konfigurasi koneksi ke DBMS dimana
yang merupakan alias database yang didistribusikan didalamnya terdapat database yang akan
[10]. disinkronkan dan konfigurasi koneksi seperti alamat
ip, port dan otentikasi pengguna diperlukan untuk
3.6 HQL (Hibernate Query Language) melakukan komunikasi dengan menggunakan soket
Hibernate menggunakan bahasa pertanyaan yang [12].
kuat (HQL), sebanding dengan SQL dan lebih Applikasi client menggunakan satu database yang
berorientasi object. HQL memahami pengertian terdiri dari beberapa tabel konfigurasi, yaitu tabel
seperti hubungan, polimorfisme dan pewarisan. untuk menyimpan data yang diterima dari client lain,
Selain nama class dan property Java seperti case- tabel untuk menyimpan data yang akan dikirim ke
sensitive, HQL sensitive. Meskipun SeLect dan client lain, serta tabel konfigurasi sinkronisasi master
sELEct mungkin berbeda org.hibernate.eg.FOO dan dan slave.
foo.barSet tidak sama. Pengiriman dan eksekusi data menggunakan
Query HQL ditulis dengan huruf kecil atau besar algoritma pengurutan tradisional, artinya data yang
yang tidak sensitif, karena konversi ini tidak dimasukkan terlebih dahulu akan diproses terlebih
berfungsi dengan perintah yang sudah ada dalam code dahulu (FIFO) [13]. Secara umum, aplikasi client dan
Java, tidak disarankan untuk menggunakan huruf server mempunyai fungsi utama sebagai pengirim
besar dalam code tertentu. Contoh sederhananya dan penerima data. Dalam hal pengiriman data,
adalah queryhibenarte:from eg.Cat yang aplikasi akan menentukan apa dan kemana akan
mengembalikan contoh dari class eg.Cat. Biasanya dikirim. Dalam hal penerimaan data, aplikasi akan
karena auto import telah di lakukan jadi cukup lebih banyak bekerja menunggu data untuk mengatur
menuliskan Cat. proses apa yang harus dilakukan terhadap data
Hibernate, perusahaan yang menghasilkan bahasa tersebut [14].
baru. Salah satu perbedaan utamanya adalah HQL Selain itu, setiap client dapat menyinkronkan lebih
menggunakan nama class dan property daripada dari satu database di dalam satu jaringan lokal.
nama table dan kolom seperti database SQL [10]. Terdapat dua jenis konfigurasi yang dapat dilakukan,
Hibernate juga akan mengidentifikasi setiap yaitu konfigurasi sebagai master dan sebagai slave.
perubahan pada object yang persistence state dan Jika dikonfigurasi sebagai master, maka pengaturan
Satu, dkk, Judul singkat … 5

koneksi database dan tabel tersinkronisasi harus


ditentukan. Untuk konfigurasi sebagai slave, client Proses simulasi dilakukan untuk mengetahui
harus mendaftarkan client lain yang mengontrol bagaimana Event Trigger dan Changelog Trigger
database sebagai master pada konfigurasi database, berfungsi.
kemudian melakukan permintaan data dari client
master berupa database dan daftar tabel yang perlu
dipilih dan disinkronkan. Ketika slave memastikan
untuk menyelesaikan pemilihan database dan tabel,
master client akan mendaftarkan slave ke dalam
database konfigurasi, ini selanjutnya akan digunakan
untuk mengetahui ke mana harus mengirim tabel
audit.

4.1.1 Masalah Sinkronisasi Gambar 6 Trigger Auditlog


Beberapa potensi masalah dalam penerapan
sinkronisasi dengan client-server, di antaranya : Gambar 6 menunjukkan bahwa trigger-trigger
1. Client gagal terhubung ke Server bertanggung jawab untuk mengelola event insert,
2. Client tidak terhubung ke jaringan / off update, dan delete pada tabel transaksi.
3. Data Rekonsiliasi Pengujian dilakukan dalam tiga tahap: insert, update,
4. Keamanan data saat proses pengiriman dan delete. Hasil pengujian sistem disajikan dalam
table.
5. Terjadinya penumpukan data di table Audit Log

4.2 Tabel Audit Log


Audit Log adalah mekanisme untuk menyimpan
aktivitas pengguna, seperti perintah SQL yang di Tabel 2 Hasil Pengujian
jalankan di database SQL.Tabel tersebut di gunakan
pada database MySQL dengan menggunakan trigger 4.3 ORM (Object Relational Mapping)
dan table. Setiap table memiliki 3 trigger: insert, Hibernate adalah implementasi layanan ORM yang
update dan delete event. Algoritma trigger bersifat open source yang memungkinkan
menunjukkan cara mencatat perubahan database. pengembang berkonsentrasi pada masalah logika
bisnis dengan mediasi interaksi applikasi dengan
database relasional, karena Hibernate dapat
mengintegrasikan applikasi baru dengan applikasi
yang sudah ada tanpa mengubahnya.

4.3.1 Producer Service


Salah satu fungsi Producer Service yang bertanggung
jawab untuk mengirimkan pesan yang
menginformasikan perubahan database ke Broker.

Gambar 5 Flowchart Trigger

Trigger akan berjalan saat terjadi event pada table


database. Semua yang di lakukan untuk event insert
adalah menentukan nilai kolom uuid. Proses
generate event query menghasilkan sintaks query
SQL berdasarkan kejadian yang terjadi. Trigger di
gunakan untuk menyimpan sintaks query SQL ke
table audit_changelog. Struktur table dapat di lihat
Gambar 7 Producer product service
sebagai berikut:
Producer service akan terus mengecek data produk
NAV di table mutual_fund_nav berdasarkan tanggal
effektif dan status APPROVED setiap hari.
Semua pesan yang dikirm oleh Producer Service
berada dalam parition dengan topic mutual-fund-nav
Tabel 1 Struktur Tabel Audit Changelog pada Apache Kafka Broker. Jumlah pesan yang
6 Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK), Vol. x, No. x, April 2014, hlm. x-y

berada dalam Broker sama dengan jumlah pesan yang


di kirim oleh Producer Serivce. Product service mengirimkan data sejumlah n ke
Transaction service melaui apache kafka secara
4.3.2 Consumer Service realtime. Di dalam 2 service tersebut memiliki table
Consumer Service merupakan service yang yang memiliki struktur data yang sama yaitu
bertanggung jawab untuk mengumpulkan pesan dari mutual_fund_nav untuk di sinkronisasi .Struktur dari
Broker dengan topic mutual-fund-nav table mutual_fund_nav dapat di lihat di Gambar 12.

Gambar 8 Consumer transaction service

4.3.3 Java Persistence API


Proses sinkronisasi dengan melakukan inisiasi data
dari semua attribute object berdasarkan data yang
telah di terima di consumer service.

Gambar 12 Struktur table mutual_fund_nav

5. HASIL PENGUJIAN SISTEM


Hasil dari pengujian dapat di lihat di Tabel 3

Gambar 9 JPA transaction service

Class Repository dilakukan setelah


mengimplementasikan semua table dari database ke Tabel 3 Hasil pengujian
dalam class java. Class Repository merupakan class
Pengujian di lakukan dengan melakukan dengan
Interface yang berguna untuk menghubungkan class
mencatat waktu yang di perlukan untuk sinkronisasi
service dengan class Entities.
data sejumlah n. Hasil pengujian menunjukkan
system sinkronisasi memerlukan 4 detik untuk 250
data, 7 detik untuk 500 data, 11 detik untuk 1000 data
dan 13 detik untuk 1500. Hal ini menunjukkan bahwa
system sinkronisasi yang di buat cukup stabil untuk
menangani jumlah data yang terus meningkat.
Gamber 10 JPA Repository
6. KESIMPULAN
4.3 Pengujian Sistem
Menghitung waktu yang di perlukan untuk Dengan menggunakan Apache Kafka sebagai media
sinkronisasi adalah cara pengujian di lakukan. pengiriman pesan dalam arsitektur microservise,
Gambar 11 menunjukkan scenario pengujian metode ini dapat digunakan untuk membuat sistem
sinkronisasi database. Sistem sinkronisasi yang
dibuat memiliki kemampuan yang stabil dalam
menangani jumlah data yang besar yang terus
meningkat.
Penggunaan hibernate framework untuk mendeteksi
perubahan data yang terjadi pada database adalah
bagian yang paling penting.

7. DAFTAR PUSTAKA
Gambar 11 Skenario Pengujian
Satu, dkk, Judul singkat … 7

[1] G.H. Surya, I.M. Sukarsa, and I.G.M.A. Sasmita.


Two Ways Database Synchronization In
Homogenous Binary Log. Journal of Theoretical and
Applied Information Technology. 2014;
65(1): 76-82.
[2] I.G.J Arissaputra, I.M. Sukarsa, P.W. Buana,
N.W. Wisswani. Binary Log Design for One-
Way Data Replication with ZeroMQ. International
Journal of Modern Education and Computer
Science. 2018; 10(10): 22–30.
[3] H. Ahmad, I.M. Sukarsa, and A.A. Ketut Agung
Cahyawan Wiranatha. Pertukaran Data An tar
Database Dengan Menggunakan Teknologi API.
Lontar Komputer : Jurnal Ilmiah Teknologi
Informasi. 2017; 8(1): 22-30.
[4] K. Jay. Kafka : a Distributed Messaging System
for Log Processing. 2011.
[5] G. Fu, Y. Zhang, G. Yu. A Fair Comparison of
Message Queuing Systems. IEEE Access.
2021; 9:421-432.
[6] I Wayan Gus Arisna , I Made Sukarsa , Putu Wira
Buana, Model Sinkronisasi Database Satu Arah
dengan Metode Audit Log Menggunakan Apache
Kafka.
[7] “PostgreSQL:About.” https://
www.postgresql.org/about/ (accessed Nov. 15,
2021).
[8] “Introduction · Bootstrap v4.6.”
https://getbootstrap.com/docs/4.6/gettingstarted/
introduction/ (accessed Feb. 10, 2022).
[9] Jovanović, Željko., Jagodić, Dijana., Vujičić,
Dejan., Ranšić, Siniša. 2017, Java Spring Boot Rest
Web Service Integration with Java Artificial
Intelligence Weka Framework. Gabrovo:
International Scientific Conference.
[10] Seddighi, Ahmad Reza. Spring Persistence with
Hibernate: robust and reliable persistence solutions
for your enterprise Java application. Birmingham:
Packt Publishing Ltd
[11] Agostino Cortesi, Raju Halder, Information-
Flow Analysis of Hibernate Query Language
[12] Abhijit A. Sawant, Dr. B. B. Meshram. Network
Programming in Java Using Socket. International
Journal of Engineering Research and Applications
Vol 3, issue 1, 2013, pp. 1299-1304.
[13] JinGang Shi, YuBin Bao, FangLing Leng, Ge
Yu. Priority-based Balance Scheduling in Real-Time
Data Warehouse. Hybrid Intelligent Systems, Ninth
International Conference, Vol. 3, 2009, pp. 301.
[14] Sameena Naaz, Afshar Alam, Ranjit Biswas.
Load Balancing Algorithms for Peer to Peer and
Client Server Distributed Environments.
International Journal of Computer Applications, Vol.
47, No. 8, June 2012, pp. 18.

Anda mungkin juga menyukai