Distributed Tracing dengan Jaeger di Go

Distributed tracing digunakan oleh software engineer untuk memonitor atau men-debug aplikasi. Ini sangat berguna untuk menemukan proses mana yang memakan waktu paling banyak, atau fungsi apa yang paling banyak terjadi error. Salah satu system untuk melakukan distributed tracing adalah Jaeger. Artikel ini akan menunjukkan bagaimana menjalankan Jaeger di local environment dan melakukan tracing aplikasi Go. Apa itu distributed tracing? Berdasarkan opentracing.io, distributed tracing adalah metode untuk mem-profile dan memonitor aplikasi, terutama aplikasi-aplikasi yang dibuat menggunakan architecture microservice. [Read More]

Golang Function Timeout Dengan Context

Timeout bisa sangat berguna pada suatu aplikasi. Dia dapat membatasi berapa lama durasi maksimum suatu proses. Kita dapat menghemat resource dengan menghentikan proses ketika waktu timeout sudah terlewati. Pada bahasa pemrograman Go, kita dapat menggunakan context untuk mengatur timeout pada suatu fungsi.

[Read More]

Menjalankan PostgreSQL Database Dengan Docker

Menjalankan PostgreSQL di docker bisa sangat berguna terutama untuk keperluan testing. Dia bisa dijalankan di mana pun. Kita dapat menjalankannya dengan data testing, menggunakannya kemudian menghapusnya dengan mudah ketika testing selesai. Menjalankan Postgres di docker juga dapat mempermudah integration testing dan automation testing.

[Read More]

Zero Downtime Reload Menggunakan Socketmaster

Zero downtime reload sudah menjadi keharusan pada kebanyakan sistem, terutama sistem yang diakses user sepanjang waktu. User menginginkan sistem yang memilik high availability. Jadi merupakan hal buruk apabila sistem memerlukan downtime untuk reload walaupun hanya dalam hitungan milisecond. Socketmaster hadir untuk membantu kita membuat sistem dengan zero downtime reload.

[Read More]

Handle Panic di HTTP Server dengan Middleware Go

Kalau kalian pernah coding di Go, kemungkinan besar pernah kena panic. Panic bisa mematikan aplikasi mu kalau tidak di recover. Untungnya di HTTP server bawaan Go sudah ada recovery untuk panic, jadi server tetap bisa berjalan walaupun ada panic. Tapi dari sisi client tidak mendapat response apa-apa kalau server kena panic. Jadi lebih baik kalau kita menggunakan panic recovery kita sendiri yang memberikan response dengan error message ketika ada panic.

[Read More]
go  http 

Menunggu Beberapa Goroutine Selesai Dengan WaitGroup

Goroutine sangat berguna untuk menjalan proses secara asynchronous. Kita juga bisa menggunakan beberapa goroutine untuk menjalankan beberapa proses dalam waktu bersamaan. Tapi bagaimana kalau kita ingin menunggu goroutine tersebut selesai sebelum melanjutkan ke proses berikutnya? Kita dapat menggunakan WaitGroup untuk mengunggu goroutine selesai dijalankan.

[Read More]
go 

NGINX Custom Error Response

Dalam menggunakan NGINX sebagai proxy, kita mungkin perlu untuk membuat custom error response, karena error response default dari NGINX kurang cakep untuk dilihat. Artikel ini akan menunjukkan cara membuat custom error response di NGINX.

[Read More]

Menambahkan HTTPS ke WordPress dengan AWS CloudFront

Kenapa harus menambahkan HTTPS ke situs WordPress mu?

HTTPS mengamankan data yang ditransfer pada jaringan dengan meng-enkripsi data tersebut sehingga intruder tidak dapat melihat dan mengubah data. Menambahkan HTTPS ke situs kita adalah hal yang penting, baik situs kita adalah sebuah web ecommerce besar maupun sebuah blog sederhana. Pada artikel ini akan dijelaskan cara untuk menambahkan HTTPS ke situs WordPress menggunakan Amazon CloudFront.

[Read More]