Sayangnya ada perbedaan pendapat tentang arti hulu / hilir. Ketika berbicara tentang arsitektur sistem, saya mendefinisikannya sebagai berikut:
Dengan adanya sistem yang memprihatinkan, sistem yang memulai pertukaran pesan / data ke sistem yang menjadi perhatian adalah sistem hulu, dan sistem yang bergantung pada sistem yang menjadi perhatian (yaitu sistem yang digunakan oleh saya untuk memulai pertukaran data) adalah sistem hilir.
Tautan dari ibm yang menjelaskan interaksi dengan salah satu produk ini menguatkan pandangan ini:
Mengintegrasikan dengan sistem hulu dan hilir https://www.ibm.com/support/knowledgecenter/en/SSWSR9_11.3.0/com.ibm.pim.dev.doc /integration/pim_con_dev_creatingjobsforintegrationcontainer.html
Sistem upstream adalah sistem apa pun yang mengirim data ke sistem Server Kolaborasi. Sistem hilir adalah sistem yang menerima data dari sistem Server Kolaborasi.
Mengingat terminologi 'hulu' dan 'hilir' mungkin membantu untuk membuat analogi dengan sungai. Jika Anda menjatuhkan pesan (data) di sungai itu mengalir dari hulu (inisiator) ke hilir (penerima).
Secara anekdot, saya menemukan bahwa arsitek dan pengembang middleware menggunakan definisi ini dan pengembang web sebaliknya (mungkin karena 'unggah').
Dengan jadwal acara, acara adalah hulu ketika terjadi sebelum titik pada timeline (yaitu memicu acara lain) dan hilir ketika itu terjadi sesudahnya (yaitu menerima acara). Apa yang hulu dan apa yang hilir dalam urutan peristiwa, oleh karena itu, tergantung di mana Anda berada di timeline. Suatu peristiwa dapat bersifat downstream dan upstream, tergantung pada apakah titik awal Anda sebelum atau sesudahnya.
Seperti @Jack mencatat RFC7230 tools.ietf.org/html/rfc7230#section-2.3 memiliki ini:
Istilah "hulu" dan "hilir" digunakan untuk menggambarkan
persyaratan arah sehubungan dengan aliran pesan: semua
pesan mengalir dari hulu ke hilir
Saya akan tertarik untuk melihat suara, yang penggunaan paling umum adalah!