Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Tartalmazza: hosting-integráció —&—
Client integráció
NATS egy nagy teljesítményű, biztonságos, elosztott üzenetküldő rendszer. A .NET AspireNATS integráció lehetővé teszi a meglévő NATS példányokhoz való csatlakozást, és új példányok létrehozását .NET a docker.io/library/nats
tárolóképmássegítségével.
Üzemeltetési integráció
NATS .NET Aspire modellje a NATS kiszolgálót mint NatsServerResource típusú integrációt kezeli. A típus eléréséhez telepítse a 📦Aspire.Hosting.Nats NuGet-csomagot az alkalmazásgazda projektben, majd adja hozzá az építővel.
dotnet add package Aspire.Hosting.Nats
További információért lásd: dotnet add package vagy csomagfüggőségek kezelése a .NET alkalmazásokban.
NATS kiszolgálói erőforrás hozzáadása
Az alkalmazásgazdaprojektben hívja meg AddNats a builder
-példányon egy NATS kiszolgálóerőforrás hozzáadásához:
var builder = DistributedApplication.CreateBuilder(args);
var nats = builder.AddNats("nats");
builder.AddProject<Projects.ExampleProject>()
.WithReference(nats);
// After adding all resources, run the app...
Amikor .NET.NET Aspire egy konténerképet ad hozzá az alkalmazás gazdagépéhez, ahogyan az a docker.io/library/nats
-konténerkép előző példájában is látható, létrehoz egy új NATS szerverpéldányt a helyi gépen. A NATS szerverre (a nats
változóra) mutató hivatkozás hozzáadásra kerül a ExampleProject
-höz.
A WithReference metódus konfigurál egy kapcsolatot a ExampleProject
-ben, amely a "nats"
nevet viseli. További információért lásd: Tárolóerőforrás-életciklus.
Borravaló
Ha inkább egy meglévő NATS kiszolgálóhoz szeretne csatlakozni, hívja meg inkább a AddConnectionString. További információért lásd: A meglévő erőforrások hivatkozása.
NATS kiszolgálói erőforrás hozzáadása a JetStream szolgáltatással
A NATS JetStreamNATS kiszolgálói erőforráshoz való hozzáadásához hívja meg a WithJetStream metódust:
var builder = DistributedApplication.CreateBuilder(args);
var nats = builder.AddNats("nats");
.WithJetStream();
builder.AddProject<Projects.ExampleProject>()
.WithReference(nats);
// After adding all resources, run the app...
A NATS JetStream funkció egy JetStream nevű beépített adatmegőrzési motort biztosít, amely lehetővé teszi az üzenetek későbbi tárolását és lejátszását.
NATS kiszolgálói erőforrás hozzáadása hitelesítési paraméterekkel
Ha explicit módon meg szeretné adni a felhasználónevet és a jelszót, paraméterekként is megadhatja őket. Tekintse meg a következő alternatív példát:
var builder = DistributedApplication.CreateBuilder(args);
var username = builder.AddParameter("username");
var password = builder.AddParameter("password", secret: true);
var nats = builder.AddNats(
name: "nats",
userName: username,
password: password);
builder.AddProject<Projects.ExampleProject>()
.WithReference(nats);
// After adding all resources, run the app...
További információ: Külső paraméterek.
Adjon hozzá NATS szerverkiszolgálói erőforrást adatmennyiséggel
Ha adatkötetet szeretne hozzáadni a NATS kiszolgálóerőforráshoz, hívja meg a WithDataVolume metódust a NATS kiszolgálóerőforráson:
var builder = DistributedApplication.CreateBuilder(args);
var nats = builder.AddNats("nats");
.WithDataVolume(isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(nats);
// After adding all resources, run the app...
Az adatkötet a tároló életciklusán kívüli NATS kiszolgálóadatok megőrzésére szolgál. Az adatkötet a /var/lib/nats
elérési útra van csatlakoztatva a NATS szerver tárolójában. A rendszer véletlenszerűen hoz létre nevet, kivéve, ha megadja a name
paramétert. További információ az adatmennyiségekről és arról, hogy miért előnyben részesítik őket a bind mountokkal szemben, lásd a Docker dokumentumot: Kötetek.
NATS szerver erőforrás hozzáadása adathalmaz csatolással
Ha adatkötési csatlakoztatást szeretne hozzáadni a NATS kiszolgálóerőforráshoz, hívja meg a WithDataBindMount metódust:
var builder = DistributedApplication.CreateBuilder(args);
var nats = builder.AddNats("nats");
.WithDataBindMount(
source: @"C:\NATS\Data",
isReadOnly: false);
builder.AddProject<Projects.ExampleProject>()
.WithReference(nats);
// After adding all resources, run the app...
Fontos
Az adat csatolások korlátozott funkcionalitással rendelkeznek a kötetekhez képest, amelyek jobb teljesítményt, hordozhatóságot és biztonságot nyújtanak, így jobban alkalmasak éles környezetben. A kötési csatlakoztatások azonban lehetővé teszik a fájlok közvetlen elérését és módosítását a gazdarendszeren, ami ideális fejlesztési és tesztelési célokra, ahol valós idejű módosításokra van szükség.
Az adat kötőpontok a gazdagép fájlrendszerére támaszkodnak, hogy a konténer újraindításakor megőrizzék a NATS kiszolgáló adatait. Az adatkötés csatlakoztatása a Windows C:\NATS\Data
(vagy /NATS/Data
Unix) gazdaszámítógépének NATS kiszolgálótárolójában található elérési útjára van csatlakoztatva. Az adatkötési csatlakoztatásokkal kapcsolatos további információkért lásd Docker dokumentumokat: Kötési csatlakoztatások.
Integrációs állapotellenőrzések üzemeltetése
A NATS üzemeltetési integráció automatikusan hozzáad egy állapotellenőrzést a NATS kiszolgálói erőforráshoz. Az állapot-ellenőrzés ellenőrzi, hogy a NATS kiszolgáló fut-e, és hogy létre lehet-e hozni vele kapcsolatot.
Az üzemeltetési integráció a 📦 AspNetCore.HealthChecks.Nats NuGet-csomagra támaszkodik.
Client integráció
Az .NET AspireNATS ügyfélintegráció első lépéseihez telepítse a 📦Aspire.NATS.Net- NuGet-csomagot az ügyfélfogyasztó projektben, vagyis a NATS ügyfelet használó alkalmazás projektjében. A NATS ügyfélintegráció regisztrál egy INatsConnection-példányt, amelyet a NATS-mal való interakcióhoz használhat.
dotnet add package Aspire.NATS.Net
NATS-ügyfél hozzáadása
Az ügyfélprojekt Program.cs fájljában bármelyik AddNatsClient-en hívja meg a IHostApplicationBuilder bővítménymetódust, hogy egy INatsConnection
-at regisztráljon a függőséginjektálási konténer használatára. A metódus egy kapcsolatnévparamétert használ.
builder.AddNatsClient(connectionName: "nats");
Borravaló
A connectionName
paraméternek meg kell egyeznie a NATS kiszolgálói erőforrás alkalmazásgazdaprojektben való hozzáadásakor használt névvel. További információért lásd: NATS szerver erőforrás hozzáadása.
Ezután függőséginjektálással lekérheti a INatsConnection
-példányt. Például az ügyfél adatainak lekérése egy szolgáltatásból:
public class ExampleService(INatsConnection connection)
{
// Use connection...
}
További információ a függőséginjektálásról: .NET függőséginjektálás.
Kulccsal rendelkező NATS ügyfél hozzáadása
Előfordulhatnak olyan helyzetek, amikor több INatsConnection
példányt szeretne regisztrálni különböző kapcsolatnevekkel. A kulcsos NATS ügyfelek regisztrálásához hívja meg a AddKeyedNatsClient metódust:
builder.AddKeyedNatsClient(name: "chat");
builder.AddKeyedNatsClient(name: "queue");
Ezután függőséginjektálással lekérheti a IConnection
példányokat. Ha például egy példaszolgáltatásból szeretné lekérni a kapcsolatot:
public class ExampleService(
[FromKeyedServices("chat")] INatsConnection chatConnection,
[FromKeyedServices("queue")] INatsConnection queueConnection)
{
// Use connections...
}
További információ a kulcsos szolgáltatásokról: .NET függőséginjektálás: Kulcsos szolgáltatások.
Konfiguráció
A .NET AspireNATS integráció több lehetőséget is kínál a NATS kapcsolat konfigurálására a projekt követelményei és konvenciói alapján.
Kapcsolat karakterlánc használata
Amikor a builder.AddNatsClient
-t hívja, adja meg a kapcsolati karakterlánc nevét:
builder.AddNatsClient(connectionName: "nats");
A kapcsolati sztring lekérése a ConnectionStrings
konfigurációs szakaszból történik:
{
"ConnectionStrings": {
"nats": "nats://nats:4222"
}
}
A kapcsolati sztring formázásáról további információt a ConnectionString dokumentációjában talál.
Konfigurációs szolgáltatók használata
A .NET AspireNATS integráció támogatja a Microsoft.Extensions.Configuration. Konfigurációból tölti be a NatsClientSettings-t a Aspire:Nats:Client
kulccsal. Az alábbi kódrészlet egy példa egy appsettings.json fájlra, amely konfigurál néhány beállítást:
{
"Aspire": {
"Nats": {
"Client": {
"ConnectionString": "nats://nats:4222",
"DisableHealthChecks": true,
"DisableTracing": true
}
}
}
}
A teljes NATS ügyfél-integrációs JSON sémát lásd: Aspire.NATS.Net/ConfigurationSchema.json.
Beágyazott delegátok használata
Adja át a Action<NatsClientSettings> configureSettings
delegáltat, hogy beállítson néhány vagy az összes beállítást azonos helyen, például letilthatja az egészségügyi ellenőrzéseket a kód által.
builder.AddNatsClient(
"nats",
static settings => settings.DisableHealthChecks = true);
NATS a .NET Aspire jegyzékben
NATS nem része a .NET Aspireüzembehelyezési jegyzék. Ajánlott, hogy NATS biztonságos éles kiszolgálót .NET Aspirekívül helyezzen el.
Client integrációs állapotfelmérés
Alapértelmezés szerint az .NET.NET Aspire integrációk lehetővé teszik állapotellenőrzéseket az összes szolgáltatás esetében. További információ: .NET.NET Aspire integrációk áttekintése.
A .NET AspireNATS integráció a következőket kezeli:
- Integrálható a
/health
HTTP-végponttal, amely meghatározza, hogy az összes regisztrált állapot-ellenőrzésnek át kell mennie ahhoz, hogy az alkalmazás készen álljon a forgalom elfogadására.
Megfigyelhetőség és telemetria
.NET .NET Aspire integrációk automatikusan beállítják a naplózási, nyomkövetési és metrikakonfigurációkat, amelyeket más néven a megfigyelhetőség alappillérei. Az integráció megfigyelhetőségéről és telemetriáról további információt .NET.NET Aspire integrációk áttekintésében. A háttérszolgáltatástól függően egyes integrációk csak bizonyos funkciókat támogatnak. Egyes integrációk például támogatják a naplózást és a nyomkövetést, a metrikákat azonban nem. A telemetriai funkciók a Konfiguráció szakaszban ismertetett technikákkal is letilthatók.
Fakitermelés
Az .NET AspireNATS integráció a következő naplókategóriákat használja:
NATS
Nyomkövetés
A .NET AspireNATS integráció a következő nyomkövetési tevékenységeket bocsátja ki:
NATS.Net