New

Buka masa depan AI dengan APISIX – Gateway AI sepenuhnya open-source untuk Agen AI dan LLM!Pelajari Lebih Lanjut

Pelajari Lebih Lanjut

OpenResty (NGINX + Lua)

Apa Perbedaan Antara OpenResty dan NGINX?

OpenResty (NGINX + Lua)

September 9, 2022

Apa Perbedaan Antara OpenResty dan NGINX?

Apa itu OpenResty dan mengapa OpenResty digunakan oleh begitu banyak perusahaan saat ini? Baca postingan ini untuk mempelajari fitur dinamis dan non-blocking-nya.

Program OpenResty Pertama Anda: Hello World

OpenResty (NGINX + Lua)

September 9, 2022

Program OpenResty Pertama Anda: Hello World

Follow this post to implement Hello World in OpenResty!

Subprojects di Balik OpenResty

OpenResty (NGINX + Lua)

September 12, 2022

Subprojects di Balik OpenResty

Post ini memperkenalkan struktur direktori OpenResty dan alat-alat terkait, seperti NGINX C Modules, test-nginx, proyek lua-resty, dan lainnya.

Cara Mengelola Paket Pihak Ketiga OpenResty Melalui LuaRocks dan OPM?

OpenResty (NGINX + Lua)

September 17, 2022

Cara Mengelola Paket Pihak Ketiga OpenResty Melalui LuaRocks dan OPM?

Kita dapat menggunakan OPM atau LuaRocks untuk mengelola paket pihak ketiga OpenResty. Pelajari lebih lanjut dengan membaca artikel ini.

Pengetahuan tentang NGINX yang Digunakan dalam OpenResty

OpenResty (NGINX + Lua)

September 17, 2022

Pengetahuan tentang NGINX yang Digunakan dalam OpenResty

Nginx menyediakan model Master-Worker dan fase eksekusi permintaan. Dengan membaca postingan ini, Anda dapat lebih memahami dasar-dasar Nginx.

Memulai dengan Lua

OpenResty (NGINX + Lua)

September 23, 2022

Memulai dengan Lua

Lua adalah bahasa pemrograman ringan dan tingkat tinggi yang dirancang terutama untuk penggunaan tertanam dalam aplikasi. Mulai belajar Lua dari sini!

Apa Perbedaan Antara LuaJIT dan Lua Standar?

OpenResty (NGINX + Lua)

September 23, 2022

Apa Perbedaan Antara LuaJIT dan Lua Standar?

LuaJIT adalah Just-In-Time Compiler (JIT) untuk bahasa pemrograman Lua. Apa yang membuat LuaJIT lebih cepat daripada Lua? Apa perbedaan di antara keduanya?

Why Does lua-resty-core Perform Better?

OpenResty (NGINX + Lua)

September 30, 2022

Why Does lua-resty-core Perform Better?

The lua-resty-core is a new FFI-based API for lua-nginx-module, which provides higher performance. Learn more from this post.

Kelemahan JIT Compiler: Mengapa Harus Menghindari NYI?

OpenResty (NGINX + Lua)

September 30, 2022

Kelemahan JIT Compiler: Mengapa Harus Menghindari NYI?

LuaJIT memiliki beberapa fitur yang belum diimplementasikan (LuaJIT NYI), pelajari dengan baik untuk menulis kode Lua yang berkinerja tinggi.

Apa itu table dan metatable dalam Lua?

OpenResty (NGINX + Lua)

October 11, 2022

Apa itu table dan metatable dalam Lua?

Table adalah satu-satunya mekanisme struktur data di Lua. Kita dapat menggunakan table untuk merepresentasikan array biasa, symbol table, set, record, queue, dan struktur data lainnya. Pelajari lebih lanjut dari postingan ini.

Tips Terbaik: Mengidentifikasi Konsep Unik dan Jebakan dalam Lua

OpenResty (NGINX + Lua)

October 12, 2022

Tips Terbaik: Mengidentifikasi Konsep Unik dan Jebakan dalam Lua

Berikut adalah beberapa konsep unik dalam Lua, misalnya Weak Table, Closure, dan upvalue.

Bagaimana jika ada konflik antara aturan Lua dan konfigurasi NGINX?

OpenResty (NGINX + Lua)

October 13, 2022

Bagaimana jika ada konflik antara aturan Lua dan konfigurasi NGINX?

Beberapa tanya jawab tentang OpenResty, API Gateway, dan Lua.

Apa yang membuat OpenResty begitu istimewa

OpenResty (NGINX + Lua)

October 14, 2022

Apa yang membuat OpenResty begitu istimewa

OpenResty dibangun dengan NGINX dan LuaJIT, mulai dari sini untuk mempelajari konsep dasarnya dan cara kerjanya.

Dokumentasi dan Test Cases: Alat Kuat untuk Menyelesaikan Masalah Pengembangan OpenResty

OpenResty (NGINX + Lua)

October 23, 2022

Dokumentasi dan Test Cases: Alat Kuat untuk Menyelesaikan Masalah Pengembangan OpenResty

OpenResty tidak hanya menyediakan dokumentasi lengkap dengan parameter API, tipe nilai kembali, dan contoh kode, tetapi juga telah diuji secara menyeluruh dengan kasus uji, yang sangat membantu pengembang dalam menggunakan OpenResty.

OpenResty Adalah NGINX yang Ditingkatkan dengan Permintaan dan Respons Dinamis

OpenResty (NGINX + Lua)

October 23, 2022

OpenResty Adalah NGINX yang Ditingkatkan dengan Permintaan dan Respons Dinamis

OpenResty adalah NGINX yang ditingkatkan dengan kemampuan untuk menangani permintaan dan respons dinamis, dan artikel ini menjelaskan API untuk memanipulasi Request dan Response di OpenResty, seperti "ngx.req.set_method", "ngx.req.set_uri_args", "ngx.req.set_header", dan lain-lain.

Keajaiban komunikasi antara worker NGINX: salah satu struktur data terpenting `shared dict`

OpenResty (NGINX + Lua)

October 27, 2022

Keajaiban komunikasi antara worker NGINX: salah satu struktur data terpenting shared dict

shared dict adalah struktur data penting dalam NGINX dan OpenResty.

Inti dari OpenResty: cosocket

OpenResty (NGINX + Lua)

October 28, 2022

Inti dari OpenResty: cosocket

Cosocket adalah dasar dari berbagai library non-blocking lua-resty-*. Artikel ini memperkenalkan konsep dasar dan API umum dari cosocket.

Melampaui Web Server: Proses Berhak Istimewa dan Tugas Timer

OpenResty (NGINX + Lua)

November 3, 2022

Melampaui Web Server: Proses Berhak Istimewa dan Tugas Timer

Privileged Process dan Timer Tasks adalah fitur penting yang membedakan OpenResty dari NGINX dan server web lainnya.

Pengenalan API Umum dalam OpenResty

OpenResty (NGINX + Lua)

November 4, 2022

Pengenalan API Umum dalam OpenResty

Artikel ini akan memperkenalkan Anda pada penggunaan API umum OpenResty untuk manipulasi waktu, ekspresi reguler, dan masalah umum lainnya.

Menangani Layer 4 dari Traffic dan Menerapkan Memcached Server dengan OpenResty

OpenResty (NGINX + Lua)

November 10, 2022

Menangani Layer 4 dari Traffic dan Menerapkan Memcached Server dengan OpenResty

OpenResty mudah untuk mengimplementasikan Memcached Server menggunakan modul stream yang disediakan oleh NGINX, yang dapat menangani traffic di layer 4.

OpenResty FAQ | Izin Proses Privileged, Fase Eksekusi, dan Lainnya

OpenResty (NGINX + Lua)

November 11, 2022

OpenResty FAQ | Izin Proses Privileged, Fase Eksekusi, dan Lainnya

FAQ NGINX + Lua (OpenResty) menjawab pertanyaan tentang izin proses yang memiliki hak istimewa, fase dan debugging, praktik penggunaan ngx.exit, variabel, serta kondisi race condition.

Hambatan dalam Berkontribusi Kode: `test::nginx`

OpenResty (NGINX + Lua)

November 17, 2022

Hambatan dalam Berkontribusi Kode: test::nginx

test::nginx adalah DSL yang digunakan untuk TDD di OpenResty, dan dapat digunakan untuk pengujian NGINX dan HTTP.

Metode Pengujian `test::nginx`: Konfigurasi, Mengirim Permintaan, dan Menangani Respons

OpenResty (NGINX + Lua)

November 18, 2022

Metode Pengujian test::nginx: Konfigurasi, Mengirim Permintaan, dan Menangani Respons

Artikel ini menjelaskan cara menggunakan test::nginx untuk mengirim permintaan dan menangani respons dalam sebuah test case.

Penggunaan `test::nginx` yang Jarang Diketahui

OpenResty (NGINX + Lua)

November 24, 2022

Penggunaan test::nginx yang Jarang Diketahui

test::nginx memiliki fitur seperti preprocessor, fungsi kustom, shuffle, dan reindex.

Pengujian Kinerja Akurat dengan `wrk`

OpenResty (NGINX + Lua)

November 25, 2022

Pengujian Kinerja Akurat dengan wrk

Artikel ini menjelaskan fitur-fitur dari alat pengujian performa `wrk` dan cara menggunakannya untuk melakukan pengujian performa yang efisien dan akurat.

OpenResty FAQ | Struktur Jaringan untuk Pengujian, Fitur Terkait SSL, DSL, Alat `ab`

OpenResty (NGINX + Lua)

December 1, 2022

OpenResty FAQ | Struktur Jaringan untuk Pengujian, Fitur Terkait SSL, DSL, Alat ab

Artikel ini menjelaskan cara membangun lingkungan jaringan uji, dukungan test::nginx untuk SSL, DSL, dan alat `ab`.

Non-blocking I/O - Kunci untuk meningkatkan performa OpenResty

OpenResty (NGINX + Lua)

December 2, 2022

Non-blocking I/O - Kunci untuk meningkatkan performa OpenResty

Hindari penggunaan operasi I/O yang bersifat blocking di OpenResty karena dapat memengaruhi performa. Beberapa operasi yang sering disalahgunakan antara lain: menjalankan perintah eksternal, menangani disk I/O, dan menggunakan lusockets.

Keuntungan dan Kerugian `string` di OpenResty

OpenResty (NGINX + Lua)

December 8, 2022

Keuntungan dan Kerugian string di OpenResty

Artikel ini memperkenalkan teknik optimasi yang harus diikuti dalam OpenResty: memproses permintaan dengan singkat, sederhana, dan cepat serta menghindari pembuatan data perantara. Artikel ini juga menunjukkan teknik optimasi untuk string.

Tips untuk Peningkatan Performa 10x di OpenResty: Struktur Data `Table`

OpenResty (NGINX + Lua)

December 9, 2022

Tips untuk Peningkatan Performa 10x di OpenResty: Struktur Data Table

Di openresty, table memiliki dampak yang signifikan terhadap performa. Artikel ini menjelaskan cara mengoptimalkan performa dengan memelihara subskrip secara manual, menggunakan kembali table, dan memanfaatkan tabelpool.

Panduan Gaya Pengodean OpenResty

OpenResty (NGINX + Lua)

December 15, 2022

Panduan Gaya Pengodean OpenResty

Panduan gaya OpenResty berisi aturan umum tentang "cara menulis" kode OpenResty, Lua, dan NGINX.

Berbagai Metode Debugging di OpenResty

OpenResty (NGINX + Lua)

December 16, 2022

Berbagai Metode Debugging di OpenResty

Artikel ini menjelaskan cara melakukan debugging di OpenResty menggunakan breakpoint dan print log, Binary Search Algorithm dan Comment, debugging dinamis, flame graph, dan sebagainya.

Kunci untuk Kinerja Tinggi: `shared dict` dan Cache `lru`

OpenResty (NGINX + Lua)

December 22, 2022

Kunci untuk Kinerja Tinggi: shared dict dan Cache lru

Artikel ini memperkenalkan Anda pada skenario penggunaan, cara penggunaan, dan prinsip implementasi dari `shared dict` dan cache `lru` di Openresty.

`systemtap-toolkit` dan `stapxx`: Bagaimana Menggunakan Data untuk Menyelesaikan Masalah yang Sulit?

OpenResty (NGINX + Lua)

December 22, 2022

systemtap-toolkit dan stapxx: Bagaimana Menggunakan Data untuk Menyelesaikan Masalah yang Sulit?

Perangkat berbasis systemtap: systemtap-toolkit dan stapxx dapat digunakan untuk memecahkan masalah dalam analisis dan diagnosis real-time untuk NGINX dan OpenResty.

Cara Menghindari Cache Stampede

OpenResty (NGINX + Lua)

December 29, 2022

Cara Menghindari Cache Stampede

Kita dapat menggunakan active update cache, lua-resty-lock, lua-resty-shcache, dan direktif NGINX untuk mengatasi cache stampede di NGINX dan OpenResty.

`lua-resty-*` Enkapsulasi Membebaskan Pengembang dari Multi-Level Caching

OpenResty (NGINX + Lua)

December 30, 2022

lua-resty-* Enkapsulasi Membebaskan Pengembang dari Multi-Level Caching

This article introduces the implementation principles and usage of two cache encapsulation libraries `lua-resty-memcached-shdict` and `lua-resty-mlcache`

Cara Menangani Lalu Lintas yang Melonjak: Algoritma Leaky Bucket dan Token Bucket

OpenResty (NGINX + Lua)

January 5, 2023

Cara Menangani Lalu Lintas yang Melonjak: Algoritma Leaky Bucket dan Token Bucket

Artikel ini menjelaskan cara menggunakan algoritma leaky bucket dan token bucket di NGINX dan OpenResty untuk mengatasi lalu lintas yang bersifat bursty.

Dynamic Rate-Limiting di OpenResty

OpenResty (NGINX + Lua)

January 6, 2023

Dynamic Rate-Limiting di OpenResty

Mari kita pelajari cara menggunakan implementasi `limit-req`, `limit-count`, `limit-conn`, dan `limit.traffic` dalam `lua-resty-limit-traffic` serta melakukan pembatasan laju (rate limiting) dengan mereka.

Fitur Andalan OpenResty: Dinamis

OpenResty (NGINX + Lua)

January 12, 2023

Fitur Andalan OpenResty: Dinamis

Openresty memungkinkan FaaS, Edge Computing, Dynamic Upstream, dan lainnya dengan fitur dinamis yang disediakan oleh LuaJIT.

Tiga Library Lua Resty yang Sering Digunakan di OpenResty

OpenResty (NGINX + Lua)

January 13, 2023

Tiga Library Lua Resty yang Sering Digunakan di OpenResty

Mari kita pelajari library Lua Resty yang umum digunakan di OpenResty: `lua-resty-ngxvar`, `lua-rapidjson`, dan `lua-resty-worker-events`.

OpenResty FAQ | Dynamic Load, NYI, dan Caching dari Shared Dict

OpenResty (NGINX + Lua)

January 19, 2023

OpenResty FAQ | Dynamic Load, NYI, dan Caching dari Shared Dict

Artikel ini menjelaskan tentang dynamic loading, blocking operations, NYI, dynamic upstream, dan caching dari shared dictionaries.

Bagian 1: Cara Membangun Microservices API gateway menggunakan OpenResty

OpenResty (NGINX + Lua)

January 20, 2023

Bagian 1: Cara Membangun Microservices API gateway menggunakan OpenResty

Artikel ini memperkenalkan peran, komponen inti, dan konsep dari microservice API gateway.

Bagian 2: Cara Membangun Microservices API Gateway Menggunakan OpenResty

OpenResty (NGINX + Lua)

February 2, 2023

Bagian 2: Cara Membangun Microservices API Gateway Menggunakan OpenResty

Pemilihan teknis dari empat komponen inti API Gateway: penyimpanan (storage), perutean (routing), skema (schema), dan plugin, diperkenalkan secara berturut-turut.

Bagian 3: Cara Membangun Microservices API Gateway Menggunakan OpenResty

OpenResty (NGINX + Lua)

February 3, 2023

Bagian 3: Cara Membangun Microservices API Gateway Menggunakan OpenResty

Contoh minimal tentang cara menjalankan API gateway melalui konfigurasi dan inisialisasi NGINX, mencocokkan rute dan plugin, memuat plugin, serta menulis plugin diperkenalkan.

OpenResty FAQ | Bagaimana OpenResty Digunakan dalam Praktik

OpenResty (NGINX + Lua)

February 10, 2023

OpenResty FAQ | Bagaimana OpenResty Digunakan dalam Praktik

Artikel ini menjelaskan bagaimana OpenResty digunakan dalam praktik, enkapsulasi database OpenResty, framework web OpenResty, serta masalah-masalah lainnya.