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.
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…
Untuk mengaktifkan Forward Secrecy pada web browser Apache, versi minimum yang dibutuhkan adalah: OpenSSL 1.0.1c+Apache…