ini adalah praktik di UDP Multicasting, dan eksperimen DHT di localhost. idenya adalah menjalankan daemon ini sebanyak yang Anda inginkan, dan semua instance akan menemukan satu sama lain melalui udp multicast dan membangun jaringan dht. setiap rekan jaringan menghasilkan pasangan kunci ed25519, dan mengikat ke port acak. portnya adalah layanan http yang menerima permintaan pada titik akhir berikut:
titik akhir /dht melayani permintaan rpc websocket
titik akhir /api melayani permintaan https curl. saat ini satu-satunya panggilan rpc yang diterapkan adalah "ping"
itu semua masih dalam proses. lebih banyak pekerjaan yang akan ditambahkan segera.
karena setiap instance ini dijalankan di jaringan (atau di komputer yang sama), setiap 5 detik instance tersebut menyiarkan paket UDP yang berisi kunci publik yang baru dibuat, port layanan acak, dan akibatnya alamat ipnya sendiri dari paket IP. setiap kali sebuah instance menerima paket multicast UDP, ia memeriksa kunci publik rekan baru tersebut terhadap peta, jika itu adalah rekan yang baru ditemukan, ia akan mencatatnya ke stdout, dan menambahkannya ke peta di memori. ember dicetak setiap 5 detik
git clone
proyek ini, atau unduh di sini: master.zip./build.sh
untuk membangun buruh pelabuhan, atau cukup gunakan go build
./demo.sh
untuk menelurkan sepuluh instance curl -kvs https://localhost:port/api/ping
^^^ ini akan memberitahu rekan untuk melakukan ping RPC ke tiga rekan terdekat dalam keranjang.
beberapa hal yang perlu diperhatikan: