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.
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:
-
.protodosyasını içe aktarın. - Hizmeti ve RPC metodunu seçin.
- Oluşturulan JSON istek gövdesini düzenleyin.
- Meta veri ekleyin.
- İ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:
-
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.
-
Proto tanımlarını içe aktarmak için üç yöntem
- Yerel
.protodosyası yükleme - URL'den içe aktarma
- Sunucu yansıması ile çalışan gRPC sunucusundan servisleri alma
- Yerel
Proto dosyalarınız başka protolara bağlıysa bağımlılık dizinini ekleyebilirsiniz.
- 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.
- 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.
- 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
.protodosyası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
}
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
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:
- RPC metodunu seçin.
- Akış oturumunu başlatın.
- Mesaj gövdesini girin.
- Mesajı gönderin.
- Gönderilen ve alınan mesajları zaman çizelgesinden takip edin.
- 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.
.protodosyalarınızı bulun
Proto dosyalarınız BloomRPC'nin içinde değil, genellikle kaynak kod deponuzda bulunur.
- 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.
- Sunucu adresini ve TLS yapılandırmasını ayarlayın
Hedef adresi girin ve grpc:// ya da grpcs:// seçin.
- 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.
- Ç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
curlyaklaşı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)