DEV Community

Cover image for En İyi BloomRPC Alternatifi
Tobias Hoffmann
Tobias Hoffmann

Posted on Originally published at apidog.com

En İyi BloomRPC Alternatifi

BloomRPC, her gRPC geliştiricisinin sonunda sorduğu soruya yanıt veriyordu: “gRPC için Postman'ım nerede?” Bir .proto dosyası yükleyin, düzenlenebilir JSON istek gövdesi alın ve isteği gönderin. Basit, ücretsiz ve odaklıydı; yaklaşık 9.000 GitHub yıldızı kazandı. Ancak depo 4 Ocak 2023'te arşivlendi. README açıkça projenin durduğunu, sorunların biriktiğini ve kullanımının artık önerilmediğini belirtiyor.

Apidog'u bugün deneyin

Doğrudan alternatif arıyorsanız, Apidog çoğu ekip için güçlü bir BloomRPC alternatifidir. Yalnızca .proto yükleyip çağrı göndermenizi sağlamaz; dört gRPC çağrı türünü destekler, proto tanımlarını birden fazla yolla içe aktarır ve gRPC çalışmalarını REST, WebSocket ve GraphQL uç noktalarınızla aynı projede toplar. Bu yazıda BloomRPC'nin neden emekliye ayrılması gerektiğini, Apidog'a nasıl geçileceğini ve daha dar ihtiyaçlar için hangi araçların uygun olduğunu adım adım ele alacağız.

BloomRPC neydi ve neden artık kullanılmamalı?

BloomRPC, 2018'de yayımlanan Electron tabanlı bir gRPC masaüstü istemcisiydi. Temel iş akışı şuydu:

  1. .proto dosyasını içe aktarın.
  2. Hizmeti ve RPC metodunu seçin.
  3. Oluşturulan JSON istek gövdesini düzenleyin.
  4. Meta veri ekleyin.
  5. İsteği gönderin.

Tek yönlü çağrılar ve temel akış senaryoları için yeterliydi. Ancak arşivlenmiş bir Electron uygulaması yalnızca “yeni özellik gelmiyor” anlamına gelmez. Bağımlılık güncellemeleri, güvenlik düzeltmeleri ve yeni gRPC/proto özellikleri için destek de durur.

BloomRPC'nin özellikle proto içe aktarma ve bazı akış senaryolarında uzun süredir açık sorunları vardı. Bakımı yapılmayan bir istemciyi yeni projelerde kullanmak yerine, aktif geliştirilen bir araca geçmek daha güvenlidir.

Asıl sorun yalnızca BloomRPC'nin arşivlenmesi değildir. Çoğu ekip gRPC'nin yanında REST, GraphQL veya WebSocket API'leri de kullanır. Bu protokolleri ayrı ve bağlantısız araçlarda test etmek; yapılandırmaların, koleksiyonların ve hata ayıklama bağlamının dağılmasına yol açar. İyi bir gRPC istemcisi, artık sadece proto yükleyip çağrı göndermekten fazlasını sunmalıdır.

Cevap: Apidog

Apidog, API tasarımı, hata ayıklama, test, sahte veri ve dokümantasyon iş akışlarını tek platformda birleştirir. Resmi gRPC belgelerine göre BloomRPC'nin temel kullanım senaryolarını kapsar ve ek olarak şu özellikleri sağlar:

  1. Dört gRPC çağrı türü
    • Tek yönlü
    • Sunucu akışı
    • İstemci akışı
    • Çift yönlü akış

Akış çağrılarında isteği canlı bir oturum olarak açabilir, Mesaj sekmesinden yeni mesajlar gönderebilir ve gönderilen/alınan mesajları zaman çizelgesinde izleyebilirsiniz.

  1. Proto tanımlarını içe aktarmak için üç yöntem
    • Yerel .proto dosyası yükleme
    • URL'den içe aktarma
    • Sunucu yansıması ile çalışan gRPC sunucusundan servisleri alma

Proto dosyalarınız başka protolara bağlıysa bağımlılık dizinini ekleyebilirsiniz.

  1. JSON ile istek ve yanıt yönetimi

Protobuf mesajlarını ikili biçimde elle üretmek yerine JSON olarak düzenleyebilirsiniz. Protobuf ve JSON arasındaki dönüşümü daha iyi anlamak için protobuf'tan JSON'a rehberine bakın.

  1. TLS, meta veri ve kimlik doğrulama

Her istek için grpc:// veya grpcs:// kullanabilir; meta veri ve kimlik doğrulama yapılandırmalarını isteğe ekleyebilirsiniz. Token ve mTLS senaryoları için gRPC kimlik doğrulama en iyi uygulamaları rehberini kullanın.

  1. Kaydedilebilir ve paylaşılabilir istekler

Sunucu adresi, istek gövdesi ve meta verilerle birlikte gRPC çağrılarını kaydedebilirsiniz. Böylece ekip üyeleri aynı hata ayıklama kurulumunu tekrar oluşturmak zorunda kalmaz.

BloomRPC'den Apidog'a günlük iş akışı

BloomRPC kullanıyorsanız temel çağrı akışı tanıdık gelecektir.

1. Proto dosyanızı içe aktarın

Projenizi oluşturun ve aşağıdaki seçeneklerden birini kullanın:

  • Yerel .proto dosyasını yükleyin.
  • Proto dosyasının URL'sini ekleyin.
  • Sunucuda reflection etkinse sunucu yansımasını kullanın.

Bağımlı proto dosyaları varsa, ilgili import dizinlerini de ekleyin.

2. Hizmet ve metodu seçin

İçe aktarma tamamlandığında servisleri ve RPC metotlarını seçin. Apidog, protobuf şemasına göre düzenlenebilir JSON istek gövdesini oluşturur.

Örneğin tek yönlü bir RPC çağrısında düzenleyeceğiniz gövde şu yapıda olabilir:

{
  "userId": "42",
  "includeDetails": true
}
Enter fullscreen mode Exit fullscreen mode

3. Sunucu adresini ve bağlantı türünü ayarlayın

Hedef gRPC sunucusunu girin ve bağlantı şemasını seçin:

  • Geliştirme ortamları için: grpc://
  • TLS kullanan ortamlar için: grpcs://

4. Meta veri ve kimlik doğrulama ekleyin

BloomRPC'de kullandığınız başlıkları ve token'ları yeniden oluşturun. Örneğin:

authorization: Bearer <token>
x-request-id: debug-001
Enter fullscreen mode Exit fullscreen mode

Bu yapılandırmayı istekle birlikte kaydedin. Böylece sonraki çağrılarda yeniden yazmanız gerekmez.

5. İsteği gönderin ve yanıtı inceleyin

Tek yönlü çağrılarda yanıt panelini kullanın. gRPC hata durumlarını yorumlarken HTTP durum kodlarıyla aynı mantığı kullanmayın; gRPC durum kodu referansını elinizin altında tutun.

Akış kullanan servislerde geçiş

Akış, BloomRPC'den geçişte en önemli farklardan biridir. BloomRPC'nin istemci akışı ve çift yönlü akış tarafında bilinen sorunları vardı. Apidog'da ise akış çağrıları canlı oturum mantığıyla çalışır.

Akış tabanlı bir metod için:

  1. RPC metodunu seçin.
  2. Akış oturumunu başlatın.
  3. Mesaj gövdesini girin.
  4. Mesajı gönderin.
  5. Gönderilen ve alınan mesajları zaman çizelgesinden takip edin.
  6. Gerekirse yeni mesajlar göndermeye devam edin.

Hangi akış türünü ne zaman kullanmanız gerektiğini gözden geçirmek için gRPC akışı açıklandı makalesine bakın.

Sunucu yansımasını kullanın

BloomRPC, servisleri keşfetmek için .proto dosyalarına ihtiyaç duyuyordu. Apidog, sunucu yansımasını da destekler.

Bu özellikle şu durumda pratiktir:

  • Elinizde doğru proto revizyonu yoksa
  • Hazırlık ortamındaki bir servisi hızlıca incelemek istiyorsanız
  • Başka bir ekibin yönettiği gRPC sunucusunu test ediyorsanız

Sunucu yansıması etkin bir hedefe bağlanarak servisleri ve RPC metotlarını doğrudan keşfedebilirsiniz.

gRPC'nin ötesinde: aynı projede REST, test ve dokümantasyon

BloomRPC'de yaptığınız hata ayıklama çağrıları yerel pencerenizde kalıyordu. Apidog'da ise gRPC servisleri proje içinde tutulur. Bu yaklaşım şunları kolaylaştırır:

  • Kaydedilmiş gRPC çağrılarını ekip ile paylaşma
  • REST, WebSocket, SSE, GraphQL ve gRPC uç noktalarını aynı projede yönetme
  • gRPC API testleri oluşturma
  • HTTP uç noktaları için sahte sunucu kullanma
  • API dokümantasyonu yayımlama

gRPC, REST ve GraphQL arasında seçim yapıyorsanız REST vs GraphQL vs gRPC karşılaştırmasını; gRPC ve REST arasındaki teknik ödünleşimler için de gRPC vs REST rehberini inceleyin.

BloomRPC vs Apidog: bir bakışta

Özellik BloomRPC Apidog
Durum Ocak 2023'te arşivlendi; kullanım önerilmiyor Aktif olarak geliştiriliyor
Tek yönlü çağrılar Evet Evet
Sunucu / istemci / çift yönlü akış Kısmi, bilinen sorunlarla Tümü desteklenir; zaman çizelgeli oturum
Proto içe aktarma Yerel .proto dosyaları Yerel dosya, URL, sunucu yansıması
TLS Temel İstek başına grpc:// / grpcs:// seçimi
Meta veri ve kimlik doğrulama Meta veri düzenleme Meta veri ve kimlik doğrulama yapılandırması
Ekip paylaşımı Yok, yalnızca yerel Kaydedilmiş çağrılar çalışma alanında paylaşılabilir
Diğer protokoller Yalnızca gRPC REST, WebSocket, SSE, GraphQL, gRPC
Dokümantasyon, test, sahte sunucu Yok Aynı platform ve proje içinde
Fiyat Ücretsiz, ancak terk edilmiş 4 kullanıcıya kadar ücretsiz plan

BloomRPC'den geçiş: 5 adım

BloomRPC'den dışa aktarılacak anlamlı bir yapılandırma dosyası yoktur. Geçiş için ihtiyacınız olan temel varlık proto dosyalarınızdır.

  1. .proto dosyalarınızı bulun

Proto dosyalarınız BloomRPC'nin içinde değil, genellikle kaynak kod deponuzda bulunur.

  1. Apidog projesi oluşturun ve protoları içe aktarın

Yerel dosya, URL veya sunucu yansıması seçeneklerinden uygun olanı kullanın. İçe aktarılan servisler ve RPC metotları arayüzde görünür.

  1. Sunucu adresini ve TLS yapılandırmasını ayarlayın

Hedef adresi girin ve grpc:// ya da grpcs:// seçin.

  1. Meta veri ve kimlik doğrulama bilgilerini yeniden ekleyin

BloomRPC'de kullandığınız token, başlık ve diğer meta verileri isteğe ekleyin.

  1. Çağrıyı kaydedin ve ekiple paylaşın

Kaydedilmiş çağrı; sunucu URL'si, istek gövdesi ve meta verilerden oluşan ortak hata ayıklama kurulumunuz olur.

BloomRPC kullanıcısıysanız ilk üç adım zaten bildiğiniz iş akışına benzer. Çoğu durumda birkaç dakika içinde ilk çağrınızı gönderebilirsiniz.

Bilinmesi gereken diğer BloomRPC alternatifleri

Tam bir API platformunda gRPC kullanmak istiyorsanız Apidog uygun seçenektir. Ancak ihtiyacınız daha darsa, aşağıdaki araçlar daha doğru olabilir.

  • grpcurl: gRPC için curl yaklaşımıdır. Kabuk betikleri, CI kontrolleri ve reflection etkin sunuculara karşı tek satırlık çağrılar için uygundur. GUI değildir. Daha ayrıntılı değerlendirme için grpcurl alternatifleri rehberine bakın.

  • grpcui: grpcurl'ün tek bir sunucu için geçici web arayüzü sunan eşlikçisidir. Hızlı denemeler için kullanışlıdır; kalıcı ve kaydedilmiş durum yönetimi hedeflemez.

  • Kreya: gRPC ve REST için özel bir masaüstü istemcisidir. Bağımsız bir gRPC istemcisi istiyorsanız BloomRPC'nin halefine yakın bir seçenektir. Daha fazla bilgi için Kreya nedir? ve en iyi Kreya alternatifi yazılarını inceleyin.

  • Postman: 2022'de gRPC desteği ekledi. Ekibiniz zaten Postman kullanıyorsa iş görebilir. Fiyatlandırma ve çalışma alanı ödünleşimleri için en iyi Postman alternatifi karşılaştırmasına bakın.

  • evans: Etkileşimli modu olan terminal tabanlı bir gRPC REPL'idir. Terminal ağırlıklı çalışan geliştiriciler için uygundur; GUI arayan ekipler için doğru tercih olmayabilir.

Özetle: otomasyon için CLI araçları, izole gRPC denemeleri için tek amaçlı GUI'ler, birden fazla protokolü ve paylaşılan API iş akışlarını yönetmek için ise Apidog kullanın.

Sıkça sorulan sorular

BloomRPC hâlâ bakımı yapılıyor mu?

Hayır. Depo 4 Ocak 2023'te arşivlendi ve README, kullanımının artık önerilmediğini belirtiyor. Güncelleme, güvenlik düzeltmesi veya yeni sürüm beklemeyin. Yeni kurulumlarda güncel bir gRPC istemcisi kullanın.

BloomRPC kurulumumu Apidog'a aktarabilir miyim?

BloomRPC taşınabilir bir yapılandırma dosyası tutmadığı için doğrudan içe aktarma yoktur. .proto dosyalarını yeniden içe aktarın veya sunucu yansımasını kullanın; ardından sunucu adresini, TLS şemasını ve meta verileri ayarlayın. Sonrasında yapılandırmayı kaydedip paylaşabilirsiniz.

Apidog gRPC akışını destekliyor mu?

Evet. Tek yönlü, sunucu akışı, istemci akışı ve çift yönlü akış desteklenir. Akış çağrılarını canlı oturum olarak yönetebilir, mesaj gönderebilir ve trafiği zaman çizelgesinde izleyebilirsiniz. Ayrıntılar için gRPC akışı rehberine bakın.

Yalnızca hızlı komut satırı gRPC çağrılarına ihtiyacım varsa ne kullanmalıyım?

grpcurl kullanın. Özellikle betiklenmiş çağrılar, geçici kontroller ve reflection etkin sunucular için uygundur. CI süreçlerinde GUI aracından bağımsız olarak kullanılabilir. Sınırlarını görmek için grpcurl alternatif rehberini inceleyin.

gRPC ve REST API'lerini aynı araçta test edebilir miyim?

Apidog'da evet. gRPC, REST, WebSocket, SSE ve GraphQL aynı projede bulunabilir. Hem gRPC hem REST yüzeyi sunan servisleri tek çalışma alanında yönetebilirsiniz. Uygulama adımları için gRPC API'lerini test etme rehberini kullanın.

Arşivlenmiş istemciyi emekliye ayırın

BloomRPC'nin bakım dönemi sona erdi. Geçiş için .proto dosyalarınızı veya reflection etkin gRPC sunucunuzu kullanın, ilk tek yönlü ve akış çağrılarınızı oluşturun, ardından bu çağrıları API çalışmalarınızın geri kalanıyla birlikte kaydedin.

Apidog'u ücretsiz indirin. 4 kişilik ekipler ücretsiz planı kullanabilir; geçiş için ihtiyacınız olan temel dosyalar ise proto tanımlarınızdır.

Top comments (0)