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.
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.
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
7. DAFTAR PUSTAKA
Gambar 11 Skenario Pengujian
Satu, dkk, Judul singkat … 7