Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Giriş
gRPC dil belirsiz, yüksek performanslı bir Uzaktan Yordam Çağrısı (RPC) çerçevesidir. HTTP/2'nin üzerine kurulmuştur ve YARP aracılığıyla proksid edilebilir. YARP'nin gRPC iletilerinin farkında olması gerekmez ancak doğru HTTP protokolünün etkinleştirildiğinden emin olmanız gerekir. gRPC HTTP/2 gerektirir ve YARP HTTP/2 isteklerini göndermek ve almak için doğru şekilde yapılandırılmadıysa gRPC çağrıları başarısız olur.
YARP'nin Gelen Protokollerini Yapılandırma
gRPC çoğu senaryo için HTTP/2 gerektirir. HTTP/1.1 ve HTTP/2, ASP.NET Core sunucularında (YARP'nin ön ucu) varsayılan olarak etkinleştirilir, ancak HTTP/2 için https (TLS) gerektirir, bu nedenle YARP'nin https://
URL'sinde dinliyor olması gerekir.
http üzerinden HTTP/2 (TLS olmayan) yalnızca Kestrel desteklenir ve belirli ayarlar gerektirir. Daha fazla bilgi için bkz: ASP.NET Core ile gRPC hizmetleri.
Bu, http (TLS olmayan) üzerinden HTTP/2 kullanmak için Kestrel yapılandırmayı gösterir:
{
"Kestrel": {
"Endpoints": {
"http": {
"Url": "http://localhost:5000",
"Protocols": "Http2"
}
}
}
}
YARP'nin Giden Protokollerini Yapılandırma
YARP, giden ara sunucu istekleri için HTTP/1.1 veya HTTP/2'yi otomatik olarak, ancak yalnızca HTTPS (TLS) için müzakere eder. http üzerinden HTTP/2 (TLS olmayan) ek ayarlar gerektirir. Giden protokollerin gelen protokollerden bağımsız olduğunu unutmayın. Örneğin https gelen bağlantı için ve http giden bağlantı için kullanılabilir; buna TLS sonlandırma denir. Yapılandırma detayları için bkz. YARP HTTP İstemci Yapılandırması.
Giden proxy isteğini HTTP/2 kullanacak şekilde yapılandırmanın nasıl yapılacağını aşağıda görebilirsiniz:
"cluster1": {
"HttpRequest": {
"Version": "2",
"VersionPolicy": "RequestVersionExact"
},
"Destinations": {
"cluster1/destination1": {
"Address": "http://localhost:6000/"
}
}
},
gRPC-Web
gRPC-Web, HTTP/1.1 ile uyumlu gRPC için alternatif bir kablo biçimidir.
-
application/grpc
- HTTP/2 üzerinden gRPC, gRPC'nin genellikle nasıl kullanıldığıdır. -
application/grpc-web
- gRPC-Web, gRPC protokolunu HTTP/1.1 ile uyumlu olacak şekilde değiştirir. gRPC-Web daha fazla yerde kullanılabilir. gRPC-Web, tarayıcı uygulamaları tarafından ve HTTP/2 için tam destek olmadan ağlarda kullanılabilir. İki gelişmiş gRPC özelliği desteklenmez: istemci akışı ve çift yönlü akış.
gRPC-Web, özel bir husus olmadan YARP'nin varsayılan yapılandırması tarafından proksid edilebilir.
ASP.NET Core