BloomRPC, her gRPC geliştiricisinin sonunda sorduğu bir sorunun cevabıydı: “gRPC için Postman'ım nerede?” Bir .proto dosyası yükle, düzenlenebilir bir JSON istek gövdesi al, gönder tuşuna bas. Basitti, ücretsizdi ve tek bir şeyi iyi yaparak yaklaşık 9.000 GitHub yıldızı kazandı. Ardından, 4 Ocak 2023'te depo arşivlendi. README açık konuşuyor: proje durdu, sorunlar birikti ve geliştiriciler artık açıkça “kullanımının artık önerilmediğini” belirtiyorlar. Sizi awesome-grpc listesine yönlendiriyorlar ve başarılar diliyorlar.
İşte doğrudan cevap: Apidog, çoğu ekip için en iyi BloomRPC alternatifidir, çünkü sadece .proto yükleme penceresini değiştirmekle kalmaz. Dört gRPC çağrı türünün tamamını (tek yönlü, sunucu akışı, istemci akışı ve çift yönlü akışı) destekler, .proto dosyalarını yerel bir yoldan, bir URL'den veya sunucu yansımasından içe aktarır ve gRPC çalışmanızı REST, WebSocket ve GraphQL uç noktalarınızla aynı projeye belgeler, işbirliği ve kaydedilmiş hata ayıklama kurulumları dahil olarak yerleştirir. Sadece terminalden tek seferlik bir çağrıya ihtiyacınız varsa, daha hafif araçlar mevcuttur ve bunları da dürüstçe ele alacağız. Bu makale, BloomRPC ile nelerin son bulduğunu, yerine neyin geleceğini ve tam olarak nasıl geçiş yapılacağını açıklıyor.
düğme
BloomRPC neydi ve neden yok oldu?
BloomRPC, 2018'de tek bir işlevi olan bir Electron masaüstü uygulaması olarak piyasaya sürüldü: istemci yazmadan gRPC çağrıları yapmak. .proto dosyalarınızı içe aktarıyordunuz, hizmetleri ve yöntemleri listeliyordu, her istek mesajı için bir JSON iskeleti oluşturuyordu ve meta verileri düzenleyip göndermenize olanak tanıyordu. Tek yönlü çağrılar ve temel akış için uygundu ve "uygun ve ücretsiz" olması, yıllarca varsayılan gRPC GUI'si olmasını sağladı.
Arşiv bildirimi bu dönemi tertemiz bir şekilde sona erdiriyor. Arşivlenmiş bir depo, hata düzeltmeleri, bağımlılık güncellemeleri ve yeni sürümler olmadığı anlamına gelir. Bir Electron uygulaması için bu tarafsız bir durum değildir: paketlenmiş Chromium ve Node sürümlerinin güvenlik desteği sona erer, daha yeni proto sözdizimi ve gRPC özellikleri ele alınmaz ve bilinen hatalar (BloomRPC'nin proto içe aktarmaları ve belirli akış akışları etrafında uzun süreli sorunları vardı) tam da oldukları yerde kalır. Sürdürücüler bu konuda dürüsttü, ki bu birçok ölü projenin başardığından daha fazlasıdır. Mesaj şudur: bunu yüklemeyi bırakın.
İnsanlar hala BloomRPC'yi arıyor çünkü aracın şekli doğruydu. Soru, şekli (başka bir bağımsız gRPC penceresi) mi değiştireceğiniz, yoksa temel parçalanmayı mı düzelteceğinizdir: gRPC çalıştıran çoğu ekip aynı zamanda REST de çalıştırır ve bunları iki bağlantısız araçta test etmek, BloomRPC'nin sessizce aldığı bir bedeldi. Daha önce iyi bir gRPC istemcisini neyin oluşturduğu hakkında yazmıştık; kısa versiyonu, "proto'ları yükler, çağrıları gönderir" artık temel bir beklenti olduğu ve farklılaştırıcıların bunun üzerinde yer aldığıdır.
Cevap: Apidog
Apidog, tasarım, hata ayıklama, test, sahtecilik ve dokümantasyonu kapsayan, 500.000'den fazla geliştirici tarafından kullanılan bir API geliştirme platformudur. Resmi belgelere göre gRPC desteği, BloomRPC'nin yaptıklarını ve BloomRPC'nin hiçbir zaman bitiremediği kısımları kapsar:
- Dört çağrı türünün tamamı. Tek yönlü, sunucu akışı, istemci akışı ve çift yönlü akışın tümü desteklenir. Akış çağrıları bir WebSocket oturumu gibi çalışır: çağrıyı açın, ardından bir Mesaj sekmesinden mesajları yazın ve gönderin, bu sırada bir zaman çizelgesi görünümü gönderilen ve alınan mesajları sırayla gösterir. BloomRPC'nin akış desteği sonunda kısmi ve hatalıydı; burada ise belgelenmiş bir özelliktir.
- API tanımınızı içe aktarmanın üç yolu. Yerel bir .proto dosyası yükleyin, bir URL'den içe aktarın veya sunucu yansımasını kullanarak çalışan bir gRPC sunucusundan doğrudan hizmetleri çekin, elinizde proto dosyaları olmasa bile. Proto'larınız başka proto'lara bağlıysa, bağımlılık dizinini bir kez eklersiniz.
- JSON girişi, JSON çıkışı. BloomRPC gibi, Apidog da protobuf mesajlarını düzenlenebilir JSON olarak oluşturur, böylece ikili yükleri elle kodlamazsınız. Bu eşlemeyi anlamanız gerekiyorsa, protobuf'tan JSON'a makalesine bakın.
- TLS, meta veri ve kimlik doğrulama. Her istek için grpc:// veya grpcs:// arasında geçiş yapın ve gerçek hizmetlerin sahip olduğu kurulumlar için meta veri ve kimlik doğrulama yapılandırması ekleyin. Token ve mTLS kalıpları için, gRPC kimlik doğrulama kılavuzumuz bununla iyi gider.
- Çıkmaz sokak değil. Kaydedilmiş gRPC çağrıları (sunucu URL'si, mesajlar, meta veriler) ekip arkadaşlarınızla paylaşılabilir ve REST uç noktalarınız, test senaryolarınız ve yayınlanmış belgelerinizle aynı çalışma alanında yaşar. Bu, hiçbir bağımsız gRPC penceresinin sunmadığı kısımdır.
Özellik özellik geçiş nasıl görünüyor
Çağrı Yapmak
Günlük kullanım tanıdık gelecektir. Proto'ları içe aktarın, bir hizmet ve metot seçin, oluşturulan JSON gövdesini düzenleyin, sunucu adresini ayarlayın, gönderin. Tek yönlü çağrılar bir yanıt paneli döndürür; akış çağrıları ise mesajları gönderdiğiniz ve zaman çizelgesini izlediğiniz bir oturum açar. Durum kodları, HTTP'den farklı okunan gRPC durum kodları olarak geri döner; ilk hafta için gRPC durum kodu referansını el altında bulundurun.
Özellikle Akış
Bu, en keskin yükseltmedir. BloomRPC'nin istemci tarafı ve çift yönlü akışı, açık sorunlarının yaygın kaynaklarıydı. Apidog, dört modu da belgeler ve bir akış çağrısını tek seferlik bir istek yerine canlı bir oturum olarak ele alır. Hizmetleriniz akışlara dayanıyorsa, bu fark tüm karardır; modların kendileri hakkında daha fazla bilgi için gRPC akışı açıklandı makalesine bakın.
Sunucu yansıması
BloomRPC, proto dosyaları gerektiriyordu. Apidog ayrıca sunucu yansımasını da destekler, böylece onu yansıma özellikli bir sunucuya yönlendirebilir ve doğru proto revizyonunu aramak zorunda kalmadan hizmetlerine göz atabilirsiniz. Başka birine ait bir hazırlık sunucusunu hızlıca incelemek için bu, en sinir bozucu adımı ortadan kaldırır.
İstemcinin Ötesinde
İşte kategori atlaması. BloomRPC'de, bir hata ayıklama çağrısı pencereyi kapattığınızda buharlaşırdı. Apidog'da ise gRPC hizmetleri bir projenin içinde yer alır: ekip arkadaşlarınız proto'ları yeniden içe aktarmak ve meta verileri yeniden yazmak yerine kaydedilmiş hata ayıklama kurulumunuzu yeniden kullanır ve aynı çalışma alanı REST ve WebSocket çalışmalarınızı, otomatik gRPC API testlerinizi, HTTP uç noktalarınız için sahte sunucuları ve yayınlanabilir belgeleri barındırır. Çoğu gRPC arka ucu bir yerlerde REST veya GraphQL de sunar; bu protokol sınırlarını değerlendiriyorsanız, onları REST vs GraphQL vs gRPC makalesinde karşılaştırdık ve gRPC vs REST makalesinde ödünleşimleri inceledik.
BloomRPC vs Apidog: Bir Bakışta
| BloomRPC | Apidog | |
|---|---|---|
| Durum | Ocak 2023'te arşivlendi; README: 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 | Hepsi desteklenir, zaman çizelgeli oturum tarzı |
| Proto içe aktarma | Yerel .proto dosyaları | Yerel dosya, URL, sunucu yansıması |
| TLS | Temel | İstek başına grpc:// / grpcs:// geçişi |
| Meta veri ve kimlik doğrulama | Meta veri düzenleme | Meta veri artı kimlik doğrulama yapılandırması |
| Ekip paylaşımı | Yok (sadece yerel) | Kaydedilmiş çağrılar ekip çalışma alanında paylaşılır |
| Diğer protokoller | Sadece gRPC | REST, WebSocket, SSE, GraphQL, gRPC |
| Belgeler, testler, sahte sunucular | Yok | Aynı platform, aynı proje |
| Fiyat | Ücretsiz (terk edilmiş) | 4 kullanıcıya kadar ücretsiz plan |
BloomRPC'den Geçiş
Dürüst geçiş notu: dışa aktarılacak hiçbir şey yok. BloomRPC anlamlı taşınabilir bir durum tutmuyordu, bu da onu terk etmeyi önemsiz kılıyor:
- .proto dosyalarınızı toplayın. Bunlar BloomRPC'de değil, deponuzda bulunur. "Dışa aktarma"nın tamamı budur.
- Apidog'a aktarın. Bir proje oluşturun, proto'ları (veya URL'lerini) ekleyin ve proto'larınız başkalarını içe aktarıyorsa bağımlılık dizinlerini ekleyin. Hizmetler ve rpc metotları hizmetler ve metotlar olarak görünür. Veya dosyaları tamamen atlayın ve çalışan bir sunucuya karşı sunucu yansıması kullanın.
- Sunucu adresini ve TLS'yi ayarlayın. Hedef URL'yi girin ve grpc:// veya grpcs:// seçin.
- Meta verileri ve kimlik doğrulamayı yeniden oluşturun. BloomRPC'ye yapıştırdığınız başlıkları ve jetonları yeniden ekleyin, bu sefer istek ile kaydedilmiş olarak böylece onları bir kez yazarsınız.
- Kaydet ve paylaş. Kaydedilen çağrılar, ekibin paylaşılan hata ayıklama kurulumu haline gelir ki, bunun daha önce hiç sahip olmadığınız ilk şey olduğunu fark edeceksiniz.
Çalışan bir BloomRPC kullanıcısı, 1'den 3'e kadar olan adımlar zaten bildiğiniz aynı ritüel olduğu için Apidog'da on dakika içinde çağrı gönderebiliyor olmalıdır.
Bilinmesi Gereken Diğer BloomRPC Alternatifleri
Tam bir API platformunun içinde gRPC istiyorsanız cevap Apidog'dur. İhtiyacınız daha darsa, dar kapsamlı araçlara karşı dürüst olun:
- grpcurl: gRPC için curl. Kabuk komut dosyaları, CI kontrolleri ve yansıma özellikli sunuculara karşı tek satırlık komutlar için doğru araç; bir GUI değildir ve öyle olduğunu iddia etmez. En iyi grpcurl alternatifi makalesinde bunu derinlemesine karşılaştırdık.
- grpcui: grpcurl'ün, tek bir sunucu için geçici bir web kullanıcı arayüzü sunan kardeşidir. Beş dakikalık hızlı bir deneme için iyidir, tasarım gereği kaydedilmiş durumu yoktur.
- Kreya: cilalı bir proto iş akışı ve ücretsiz katmanı olan gRPC ve REST için özel bir masaüstü istemcisidir; özellikle bağımsız bir istemci istiyorsanız doğrudan bir BloomRPC halefine en yakın şeydir. Sınırlarının nerede olduğunu öğrenmek için Kreya nedir ve en iyi Kreya alternatifi makalelerine bakın.
- Postman: 2022'de gRPC desteği ekledi, bu yüzden ekibiniz zaten bunun için ödeme yapıyorsa çalışır; olağan Postman fiyatlandırması ve çalışma alanı ödünleşimleri geçerlidir, bunlar en iyi Postman alternatifi makalesinde ele alınmıştır.
- evans: etkileşimli moda sahip gRPC için bir terminal REPL'dir. tmux'ta yaşayan insanlar tarafından sevilir; BloomRPC'nin GUI'sini isteyen herkes için uygun değildir.
Desen: Otomasyon için CLI'lar, izole gRPC çalışmaları için tek amaçlı GUI'ler, gRPC'nin birkaç protokol arasında sadece biri olduğu ve çağrıları, testleri ve belgeleri tek bir yerde istediğinizde Apidog.
Sıkça Sorulan Sorular
BloomRPC hala bakımı yapılıyor mu?
Hayır. Depo 4 Ocak 2023'te arşivlendi ve README'si kullanımının artık önerilmediğini belirtiyor. Güncellemeler, güvenlik düzeltmeleri veya yeni sürümler gelmiyor. Herhangi bir güncel gRPC istemci karşılaştırması, yeni kurulumlar için bir seçenek olarak onu dışlamalıdır.
BloomRPC kurulumumu Apidog'a aktarabilir miyim?
İçe aktarma dosyası yok çünkü BloomRPC taşınabilir hiçbir şey depolamadı. Geçiş, .proto dosyalarını deponuzdan yeniden içe aktarmak (veya sunucu yansımasını kullanmak), ardından sunucu adresini, TLS şemasını ve meta verileri ayarlamak anlamına gelir. Bu on dakikalık bir iştir ve sonrasında yapılandırma tek bir makinede kalmak yerine kaydedilir ve paylaşılabilir.
Apidog gRPC akışını destekliyor mu?
Evet, dört çağrı türünün tamamını: tek yönlü, sunucu akışı, istemci akışı ve çift yönlü akışı destekler. Akış çağrıları, mesaj gönderdiğiniz ve trafiğin bir zaman çizelgesini izlediğiniz canlı oturumlar olarak çalışır. Her modun ne zaman uygun olduğuna dair bir hatırlatma için gRPC akışı makalesine bakın.
Ya sadece hızlı komut satırı gRPC çağrılarına ihtiyacım varsa?
grpcurl kullanın. Komut dosyalı ve geçici çağrıları iyi bir şekilde ele alır, özellikle yansıma özellikli sunuculara karşı ve hangi GUI'yi seçerseniz seçin CI'da yer almalıdır. grpcurl alternatif rehberimiz, yeterli olmadığı durumları kapsar.
gRPC ve REST API'lerini aynı araçta test edebilir miyim?
Apidog'da evet: gRPC, REST, WebSocket, SSE ve GraphQL tek bir projede bulunur, bu nedenle hem gRPC hem de REST yüzeylerini gösteren bir hizmet tek bir yuvaya sahip olur. gRPC API'lerini test etme rehberimiz iş akışını baştan sona gösterir.
Arşivlenmiş istemciyi emekli edin
BloomRPC size gitmenizi söyledi; tek soru nereye gideceğiniz. Apidog'u .proto dosyalarınıza veya yansıma özellikli bir sunucuya yönlendirin, ilk tek yönlü ve akış çağrılarınızı yapın ve bunları API çalışmalarınızın geri kalanının yanında kaydedin. Apidog'u ücretsiz indirin; 4 kişilik bir ekip hiçbir şey ödemez ve proto'larınız ihtiyacınız olan tek geçiş dosyasıdır.
