Protobuf? Apaan sih sebenernya? Kok gak pernah denger?
Oke oke. Jadi ceritanya ni protobuf adalah sebuah software / library yang dikembangin oleh google, yang tujuannya untuk mempermudah pembuatan program yang memakai RPC (remote procedure call). Protobuf ini mirip mirip dengan apache thrift. Untuk installnya, ikutin aja script berikut:
#!/bin/bash # dependencies # Java JDK yum install "Development Tools" yum install libtool # clone protobuf git clone https://github.com/google/protobuf.git cd protobuf ./autogen.sh ./configure make make check sudo make install # compile protobuf java cd java yum install maven mvn test mvn install mvn package # compile grpc java git clone https://github.com/grpc/grpc-java.git cd grpc-java ./gradlew build ./gradlew install # compile grpc java compiler cd compiler ../gradlew java_pluginExecutable >& log.javacompiler sudo ln -s /home/protobuf/grpc-java/compiler/build/binaries/java_pluginExecutable/protoc-gen-grpc-java /usr/local/bin/
Setelah protobuf udah tercompcompile dengan benar, maka akan ada file protoc dan file protoc-gen-grpc-java.Langkah berikutnya adalah membuat file .proto. Contoh filenya adalah seperti berikut
package tutorial; option java_package = "com.example.tutorial"; option java_outer_classname = "AddressBookProtos"; message Person { required string name = 1; required int32 id = 2; optional string email = 3; enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2; } message PhoneNumber { required string number = 1; optional PhoneType type = 2 [default = HOME]; } repeated PhoneNumber phone = 4; } message AddressBook { repeated Person person = 1; }
Untuk menggunakannya, cukup menggunakan script berikut:
cd mkdir out protoc hello_world.proto --grpc-java_out=out --java_out=out
Setelah itu, di folder out akan ada file *.java yang dapat dipakai untuk membuat program menggunakan RPC 😀
Â
Tutorial ini seharusnya bisa jalan di linux apapun, asalkan memiliki arsitektur 64 bit. Saat dicoba compile di Ubuntu 32 bit, ada error ketika gradlew dijalankan.
Halo semua Github memiliki fitur terkait Pull Request yang cukup luar biasa, yaitu dapat melakukan…
Hello everyone! 👋 Welcome to our step-by-step guide on using kubeadm to install Kubernetes. It's…
Proxmox adalah hypervisor yang populer digunakan karena penggunaannya yang cukup simpel jika dibandingkan dengan hypervisor…
This post is mirror of https://forums.rancher.com/t/failed-upgrade-from-v0-8-1-to-v1-0-0-caused-by-pv-created-before-v0-6-2/17586 I scale down all pods that has vpc to…
Ubuntu Konfigurasi network pada Ubuntu Server 18.04 berbeda dengan ubuntu versi sebelumnya. Versi sebelumnya menggunakan…
For detailed problems, see https://notulensiku.com/2019/02/fix-integrated-terminal-font-vscode/ To solve on mac, you need to install powerline fonts…