From 01ab89a871ea26dff5c46a8b483d694d705b5fc8 Mon Sep 17 00:00:00 2001 From: DanilSukach Date: Wed, 18 Feb 2026 16:11:36 +0400 Subject: [PATCH 1/7] =?UTF-8?q?1=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D0=B0=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client.Wasm/Components/StudentCard.razor | 8 +- Client.Wasm/wwwroot/appsettings.json | 2 +- CloudDevelopment.sln | 40 ++++- CreditApp.Api/Controllers/CreditController.cs | 36 +++++ CreditApp.Api/CreditApp.Api.csproj | 24 +++ CreditApp.Api/Program.cs | 51 ++++++ CreditApp.Api/Properties/launchSettings.json | 38 +++++ CreditApp.Api/appsettings.Development.json | 8 + CreditApp.Api/appsettings.json | 16 ++ .../CreditApp.Application.csproj | 18 +++ .../Interfaces/ICreditApplicationGenerator.cs | 18 +++ .../Interfaces/ICreditService.cs | 19 +++ .../Services/CreditService.cs | 43 +++++ CreditApp.Domain/CreditApp.Domain.csproj | 9 ++ .../Dictionaries/CreditDictionaries.cs | 39 +++++ .../Entities/CreditApplication.cs | 48 ++++++ .../CreditApp.Infrastructure.csproj | 17 ++ .../Generators/CreditApplicationGenerator.cs | 53 +++++++ CreditApp/CreditApp.AppHost/AppHost.cs | 15 ++ .../CreditApp.AppHost.csproj | 23 +++ .../Properties/launchSettings.json | 29 ++++ .../appsettings.Development.json | 8 + CreditApp/CreditApp.AppHost/appsettings.json | 9 ++ .../CreditApp.ServiceDefaults.csproj | 22 +++ .../CreditApp.ServiceDefaults/Extensions.cs | 128 +++++++++++++++ Directory.Packages.props | 6 + README.md | 148 ++++-------------- 27 files changed, 752 insertions(+), 123 deletions(-) create mode 100644 CreditApp.Api/Controllers/CreditController.cs create mode 100644 CreditApp.Api/CreditApp.Api.csproj create mode 100644 CreditApp.Api/Program.cs create mode 100644 CreditApp.Api/Properties/launchSettings.json create mode 100644 CreditApp.Api/appsettings.Development.json create mode 100644 CreditApp.Api/appsettings.json create mode 100644 CreditApp.Application/CreditApp.Application.csproj create mode 100644 CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs create mode 100644 CreditApp.Application/Interfaces/ICreditService.cs create mode 100644 CreditApp.Application/Services/CreditService.cs create mode 100644 CreditApp.Domain/CreditApp.Domain.csproj create mode 100644 CreditApp.Domain/Dictionaries/CreditDictionaries.cs create mode 100644 CreditApp.Domain/Entities/CreditApplication.cs create mode 100644 CreditApp.Infrastructure/CreditApp.Infrastructure.csproj create mode 100644 CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs create mode 100644 CreditApp/CreditApp.AppHost/AppHost.cs create mode 100644 CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj create mode 100644 CreditApp/CreditApp.AppHost/Properties/launchSettings.json create mode 100644 CreditApp/CreditApp.AppHost/appsettings.Development.json create mode 100644 CreditApp/CreditApp.AppHost/appsettings.json create mode 100644 CreditApp/CreditApp.ServiceDefaults/CreditApp.ServiceDefaults.csproj create mode 100644 CreditApp/CreditApp.ServiceDefaults/Extensions.cs create mode 100644 Directory.Packages.props diff --git a/Client.Wasm/Components/StudentCard.razor b/Client.Wasm/Components/StudentCard.razor index 661f118..a493183 100644 --- a/Client.Wasm/Components/StudentCard.razor +++ b/Client.Wasm/Components/StudentCard.razor @@ -4,10 +4,10 @@ - Номер №X "Название лабораторной" - Вариант №Х "Название варианта" - Выполнена Фамилией Именем 65ХХ - Ссылка на форк + Номер №1 "Кэширование" + Вариант №2 "Кредитная заявка" + Выполнил Сукач Данил 6511 + Ссылка на форк diff --git a/Client.Wasm/wwwroot/appsettings.json b/Client.Wasm/wwwroot/appsettings.json index 4dda7c0..55c76b5 100644 --- a/Client.Wasm/wwwroot/appsettings.json +++ b/Client.Wasm/wwwroot/appsettings.json @@ -6,5 +6,5 @@ } }, "AllowedHosts": "*", - "BaseAddress": "https://localhost:7170/land-plot" + "BaseAddress": "https://localhost:7084/api/Credit" } \ No newline at end of file diff --git a/CloudDevelopment.sln b/CloudDevelopment.sln index cb48241..c35b184 100644 --- a/CloudDevelopment.sln +++ b/CloudDevelopment.sln @@ -1,10 +1,22 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.14.36811.4 +# Visual Studio Version 18 +VisualStudioVersion = 18.3.11505.172 d18.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client.Wasm", "Client.Wasm\Client.Wasm.csproj", "{AE7EEA74-2FE0-136F-D797-854FD87E022A}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.AppHost", "CreditApp\CreditApp.AppHost\CreditApp.AppHost.csproj", "{595C6305-ACA3-4E87-8CBF-27A4C92BAE97}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.ServiceDefaults", "CreditApp\CreditApp.ServiceDefaults\CreditApp.ServiceDefaults.csproj", "{A7B14B5D-B738-B77E-404F-CF5182E30A41}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Api", "CreditApp.Api\CreditApp.Api.csproj", "{E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Domain", "CreditApp.Domain\CreditApp.Domain.csproj", "{2B736CD0-1260-4F6F-854F-5F35E0CBC260}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Application", "CreditApp.Application\CreditApp.Application.csproj", "{69FCFAEE-907C-4365-897A-EF120A644131}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Infrastructure", "CreditApp.Infrastructure\CreditApp.Infrastructure.csproj", "{C5A26B57-58ED-45E9-9371-AAF64F30C3A8}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -15,6 +27,30 @@ Global {AE7EEA74-2FE0-136F-D797-854FD87E022A}.Debug|Any CPU.Build.0 = Debug|Any CPU {AE7EEA74-2FE0-136F-D797-854FD87E022A}.Release|Any CPU.ActiveCfg = Release|Any CPU {AE7EEA74-2FE0-136F-D797-854FD87E022A}.Release|Any CPU.Build.0 = Release|Any CPU + {595C6305-ACA3-4E87-8CBF-27A4C92BAE97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {595C6305-ACA3-4E87-8CBF-27A4C92BAE97}.Debug|Any CPU.Build.0 = Debug|Any CPU + {595C6305-ACA3-4E87-8CBF-27A4C92BAE97}.Release|Any CPU.ActiveCfg = Release|Any CPU + {595C6305-ACA3-4E87-8CBF-27A4C92BAE97}.Release|Any CPU.Build.0 = Release|Any CPU + {A7B14B5D-B738-B77E-404F-CF5182E30A41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A7B14B5D-B738-B77E-404F-CF5182E30A41}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A7B14B5D-B738-B77E-404F-CF5182E30A41}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A7B14B5D-B738-B77E-404F-CF5182E30A41}.Release|Any CPU.Build.0 = Release|Any CPU + {E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E7D4CA8B-53EA-9676-D96D-BE2F0CB11054}.Release|Any CPU.Build.0 = Release|Any CPU + {2B736CD0-1260-4F6F-854F-5F35E0CBC260}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2B736CD0-1260-4F6F-854F-5F35E0CBC260}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2B736CD0-1260-4F6F-854F-5F35E0CBC260}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2B736CD0-1260-4F6F-854F-5F35E0CBC260}.Release|Any CPU.Build.0 = Release|Any CPU + {69FCFAEE-907C-4365-897A-EF120A644131}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {69FCFAEE-907C-4365-897A-EF120A644131}.Debug|Any CPU.Build.0 = Debug|Any CPU + {69FCFAEE-907C-4365-897A-EF120A644131}.Release|Any CPU.ActiveCfg = Release|Any CPU + {69FCFAEE-907C-4365-897A-EF120A644131}.Release|Any CPU.Build.0 = Release|Any CPU + {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/CreditApp.Api/Controllers/CreditController.cs b/CreditApp.Api/Controllers/CreditController.cs new file mode 100644 index 0000000..b53031f --- /dev/null +++ b/CreditApp.Api/Controllers/CreditController.cs @@ -0,0 +1,36 @@ +using CreditApp.Application.Interfaces; +using Microsoft.AspNetCore.Mvc; + +namespace CreditApp.Api.Controllers; + +/// +/// Контроллер для работы с кредитными заявками через HTTP API. +/// Реализует конечную точку получения заявки по идентификатору. +/// Сервис для получения данных кредитных заявок. +/// Логгер для записи событий и ошибок. +/// +[Route("api/[controller]")] +[ApiController] +public class CreditController( + ICreditService creditService, + ILogger logger + ) : ControllerBase +{ + /// + /// Получает кредитную заявку по идентификатору. + /// + /// Идентификатор запрашиваемой заявки (передаётся в строке запроса). + /// Токен отмены для асинхронной операции. + /// HTTP 200 с объектом заявки при успешном получении. + [HttpGet] + public async Task Get([FromQuery] int id, CancellationToken ct) + { + logger.LogInformation("Request for credit {CreditId} started", id); + + var result = await creditService.GetAsync(id, ct); + + logger.LogInformation("Request for credit {CreditId} completed", id); + + return Ok(result); + } +} diff --git a/CreditApp.Api/CreditApp.Api.csproj b/CreditApp.Api/CreditApp.Api.csproj new file mode 100644 index 0000000..a98eea8 --- /dev/null +++ b/CreditApp.Api/CreditApp.Api.csproj @@ -0,0 +1,24 @@ + + + + net8.0 + enable + enable + true + $(NoWarn);1591 + + + + + + + + + + + + + + + + diff --git a/CreditApp.Api/Program.cs b/CreditApp.Api/Program.cs new file mode 100644 index 0000000..caf1309 --- /dev/null +++ b/CreditApp.Api/Program.cs @@ -0,0 +1,51 @@ +using CreditApp.Application.Interfaces; +using CreditApp.Application.Services; +using CreditApp.Infrastructure.Generators; +using Microsoft.OpenApi; +using System.Reflection; + +var builder = WebApplication.CreateBuilder(args); + +builder.AddRedisDistributedCache("credit-cache"); + +var centralBankRate = builder.Configuration.GetValue("CreditGenerator:CentralBankRate", 16.0); + +builder.Services.AddSingleton( + new CreditApplicationGenerator(centralBankRate)); + +builder.Services.AddScoped(); + +builder.Services.AddControllers(); +builder.Services.AddEndpointsApiExplorer(); +builder.Services.AddSwaggerGen(options => +{ + var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; + var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); + options.IncludeXmlComments(xmlPath); +}); + +builder.Services.AddCors(options => +{ + options.AddPolicy("DefaultCors", + policy => policy.AllowAnyOrigin() + .AllowAnyHeader() + .AllowAnyMethod()); +}); + +var app = builder.Build(); + +if (app.Environment.IsDevelopment()) +{ + app.UseSwagger(); + app.UseSwaggerUI(c => + { + c.SwaggerEndpoint("/swagger/v1/swagger.json", "V1"); + c.RoutePrefix = string.Empty; + }); +} + +app.UseCors("DefaultCors"); + +app.MapControllers(); + +app.Run(); diff --git a/CreditApp.Api/Properties/launchSettings.json b/CreditApp.Api/Properties/launchSettings.json new file mode 100644 index 0000000..a9a106e --- /dev/null +++ b/CreditApp.Api/Properties/launchSettings.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:53917", + "sslPort": 44347 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5022", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7084;http://localhost:5022", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/CreditApp.Api/appsettings.Development.json b/CreditApp.Api/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/CreditApp.Api/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/CreditApp.Api/appsettings.json b/CreditApp.Api/appsettings.json new file mode 100644 index 0000000..89cde0c --- /dev/null +++ b/CreditApp.Api/appsettings.json @@ -0,0 +1,16 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "ConnectionStrings": { + "redis": "localhost:6379" + } + , + "CreditGenerator": { + "CentralBankRate": 16.0 + } +} diff --git a/CreditApp.Application/CreditApp.Application.csproj b/CreditApp.Application/CreditApp.Application.csproj new file mode 100644 index 0000000..9720842 --- /dev/null +++ b/CreditApp.Application/CreditApp.Application.csproj @@ -0,0 +1,18 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + diff --git a/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs b/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs new file mode 100644 index 0000000..eb1cd57 --- /dev/null +++ b/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs @@ -0,0 +1,18 @@ +using CreditApp.Domain.Entities; + +namespace CreditApp.Application.Interfaces; + +/// +/// Генерирует объекты заявок на кредит для тестирования, заполнения демонстрационных данных или инициализации. +/// Реализации должны создавать и возвращать готовый к использованию экземпляр . +/// +public interface ICreditApplicationGenerator +{ + /// + /// Асинхронно генерирует заявку на кредит с указанным идентификатором. + /// + /// Идентификатор создаваемой заявки. + /// Токен отмены для асинхронной операции. + /// Сгенерированный экземпляр . + public Task GenerateAsync(int id, CancellationToken ct); +} diff --git a/CreditApp.Application/Interfaces/ICreditService.cs b/CreditApp.Application/Interfaces/ICreditService.cs new file mode 100644 index 0000000..213bb4f --- /dev/null +++ b/CreditApp.Application/Interfaces/ICreditService.cs @@ -0,0 +1,19 @@ +using CreditApp.Domain.Entities; + +namespace CreditApp.Application.Interfaces; + +/// +/// Сервис для работы с объектами кредитных заявок. +/// Предоставляет операции получения и управления заявками в приложении. +/// +public interface ICreditService +{ + /// + /// Асинхронно получает заявку на кредит по её идентификатору. + /// + /// Идентификатор заявки. + /// Токен отмены для асинхронной операции. + /// Экземпляр , соответствующий запрошенному идентификатору. + public Task GetAsync(int id, CancellationToken ct); + +} diff --git a/CreditApp.Application/Services/CreditService.cs b/CreditApp.Application/Services/CreditService.cs new file mode 100644 index 0000000..b85a144 --- /dev/null +++ b/CreditApp.Application/Services/CreditService.cs @@ -0,0 +1,43 @@ +using System.Text.Json; +using CreditApp.Application.Interfaces; +using CreditApp.Domain.Entities; +using Microsoft.Extensions.Caching.Distributed; +using Microsoft.Extensions.Logging; + +namespace CreditApp.Application.Services; + +public class CreditService(IDistributedCache distributedCache, + ICreditApplicationGenerator generator, + ILogger logger) + : ICreditService +{ + public async Task GetAsync(int id, CancellationToken ct) + { + var cacheKey = $"Credit_{id}"; + + var cached = await distributedCache.GetStringAsync(cacheKey, ct); + + if (!string.IsNullOrEmpty(cached)) + { + logger.LogInformation("Cache HIT {CacheKey}", cacheKey); + return JsonSerializer.Deserialize(cached)!; + } + + logger.LogInformation("Cache MISS {CacheKey}", cacheKey); + + var credit = await generator.GenerateAsync(id, ct); + + var options = new DistributedCacheEntryOptions + { + AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(10) + }; + + await distributedCache.SetStringAsync( + cacheKey, + JsonSerializer.Serialize(credit), + options, + ct); + + return credit; + } +} diff --git a/CreditApp.Domain/CreditApp.Domain.csproj b/CreditApp.Domain/CreditApp.Domain.csproj new file mode 100644 index 0000000..fa71b7a --- /dev/null +++ b/CreditApp.Domain/CreditApp.Domain.csproj @@ -0,0 +1,9 @@ + + + + net8.0 + enable + enable + + + diff --git a/CreditApp.Domain/Dictionaries/CreditDictionaries.cs b/CreditApp.Domain/Dictionaries/CreditDictionaries.cs new file mode 100644 index 0000000..4c11577 --- /dev/null +++ b/CreditApp.Domain/Dictionaries/CreditDictionaries.cs @@ -0,0 +1,39 @@ +namespace CreditApp.Domain.Dictionaries; + +/// +/// Статический справочник типов кредитов и статусов заявок. +/// Содержит массивы доступных типов кредитов и статусов, а также утилиту для проверки терминального статуса. +/// +public static class CreditDictionaries +{ + /// + /// Доступные типы кредитов. + /// Порядок и значения используются в пользовательском интерфейсе и бизнес-логике приложения. + /// + public static readonly string[] CreditTypes = + [ + "Потребительский", + "Ипотека", + "Автокредит" + ]; + + /// + /// Возможные статусы кредитной заявки. + /// Последние два статуса считаются терминальными (завершёнными). + /// + public static readonly string[] Statuses = + [ + "Новая", + "В обработке", + "Одобрена", + "Отклонена" + ]; + + /// + /// Определяет, является ли указанный статус терминальным (завершённым). + /// + /// Строковое представление статуса заявки. + /// True, если статус равен "Одобрена" или "Отклонена". + public static bool IsTerminal(string status) + => status is "Одобрена" or "Отклонена"; +} diff --git a/CreditApp.Domain/Entities/CreditApplication.cs b/CreditApp.Domain/Entities/CreditApplication.cs new file mode 100644 index 0000000..06d451a --- /dev/null +++ b/CreditApp.Domain/Entities/CreditApplication.cs @@ -0,0 +1,48 @@ +namespace CreditApp.Domain.Entities; + +/// +/// Кредитная заявка +/// +public class CreditApplication +{ + /// + /// Идентификатор в системе + /// + public int Id { get; init; } + /// + /// Тип кредита + /// + public required string CreditType { get; init; } + /// + /// Запрашиваемая сумма + /// + public decimal RequestedAmount { get; init; } + /// + /// Срок в месяцах + /// + public int TermMonths { get; init; } + /// + /// Процентная ставка + /// + public double InterestRate { get; init; } + /// + /// Дата подачи + /// + public DateOnly SubmissionDate { get; init; } + /// + /// Необходимость страховки + /// + public bool HasInsurance { get; init; } + /// + /// Статус заявки + /// + public required string Status { get; init; } + /// + /// Дата решения + /// + public DateOnly? DecisionDate { get; init; } + /// + /// Одобренная сумма + /// + public decimal? ApprovedAmount { get; init; } +} diff --git a/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj b/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj new file mode 100644 index 0000000..eed02d5 --- /dev/null +++ b/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj @@ -0,0 +1,17 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + diff --git a/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs b/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs new file mode 100644 index 0000000..5547937 --- /dev/null +++ b/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs @@ -0,0 +1,53 @@ +using Bogus; +using CreditApp.Application.Interfaces; +using CreditApp.Domain.Dictionaries; +using CreditApp.Domain.Entities; + +namespace CreditApp.Infrastructure.Generators; + +public class CreditApplicationGenerator(double centralBankRate) + : ICreditApplicationGenerator +{ + public Task GenerateAsync(int id, CancellationToken ct) + { + var faker = new Faker(); + + var status = faker.PickRandom(CreditDictionaries.Statuses); + + var submissionDate = DateOnly.FromDateTime( + faker.Date.Between(DateTime.Now.AddYears(-2), DateTime.Now)); + + DateOnly? decisionDate = null; + decimal? approvedAmount = null; + + var requested = Math.Round(faker.Random.Decimal(100_000, 10_000_000), 2); + + if (CreditDictionaries.IsTerminal(status)) + { + decisionDate = submissionDate.AddDays(faker.Random.Int(1, 30)); + + if (status == "Одобрена") + { + approvedAmount = Math.Round( + faker.Random.Decimal(10_000, requested), 2); + } + } + + var interestRate = Math.Round( + faker.Random.Double(centralBankRate, centralBankRate + 10), 2); + + return Task.FromResult(new CreditApplication + { + Id = id, + CreditType = faker.PickRandom(CreditDictionaries.CreditTypes), + RequestedAmount = requested, + TermMonths = faker.Random.Int(6, 360), + InterestRate = interestRate, + SubmissionDate = submissionDate, + HasInsurance = faker.Random.Bool(), + Status = status, + DecisionDate = decisionDate, + ApprovedAmount = approvedAmount + }); + } +} diff --git a/CreditApp/CreditApp.AppHost/AppHost.cs b/CreditApp/CreditApp.AppHost/AppHost.cs new file mode 100644 index 0000000..224b545 --- /dev/null +++ b/CreditApp/CreditApp.AppHost/AppHost.cs @@ -0,0 +1,15 @@ +var builder = DistributedApplication.CreateBuilder(args); + +var redis = builder.AddRedis("credit-cache") + .WithRedisInsight(containerName: "credit-redis-insight"); + +var api = builder.AddProject("credit-api") + .WithReference(redis) + .WaitFor(redis); + +builder.AddProject("client") + .WithReference(api) + .WaitFor(api); + +builder.Build().Run(); + diff --git a/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj b/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj new file mode 100644 index 0000000..b6d2633 --- /dev/null +++ b/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj @@ -0,0 +1,23 @@ + + + + + + Exe + net8.0 + enable + enable + 70c1c02b-8ca4-435d-8e0e-594485960c89 + + + + + + + + + + + + + diff --git a/CreditApp/CreditApp.AppHost/Properties/launchSettings.json b/CreditApp/CreditApp.AppHost/Properties/launchSettings.json new file mode 100644 index 0000000..171fa4f --- /dev/null +++ b/CreditApp/CreditApp.AppHost/Properties/launchSettings.json @@ -0,0 +1,29 @@ +{ + "$schema": "https://json.schemastore.org/launchsettings.json", + "profiles": { + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:17005;http://localhost:15107", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "DOTNET_ENVIRONMENT": "Development", + "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "https://localhost:21196", + "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "https://localhost:22132" + } + }, + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:15107", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "DOTNET_ENVIRONMENT": "Development", + "ASPIRE_DASHBOARD_OTLP_ENDPOINT_URL": "http://localhost:19106", + "ASPIRE_RESOURCE_SERVICE_ENDPOINT_URL": "http://localhost:20243" + } + } + } +} diff --git a/CreditApp/CreditApp.AppHost/appsettings.Development.json b/CreditApp/CreditApp.AppHost/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/CreditApp/CreditApp.AppHost/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/CreditApp/CreditApp.AppHost/appsettings.json b/CreditApp/CreditApp.AppHost/appsettings.json new file mode 100644 index 0000000..31c092a --- /dev/null +++ b/CreditApp/CreditApp.AppHost/appsettings.json @@ -0,0 +1,9 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning", + "Aspire.Hosting.Dcp": "Warning" + } + } +} diff --git a/CreditApp/CreditApp.ServiceDefaults/CreditApp.ServiceDefaults.csproj b/CreditApp/CreditApp.ServiceDefaults/CreditApp.ServiceDefaults.csproj new file mode 100644 index 0000000..1b6e209 --- /dev/null +++ b/CreditApp/CreditApp.ServiceDefaults/CreditApp.ServiceDefaults.csproj @@ -0,0 +1,22 @@ + + + + net8.0 + enable + enable + true + + + + + + + + + + + + + + + diff --git a/CreditApp/CreditApp.ServiceDefaults/Extensions.cs b/CreditApp/CreditApp.ServiceDefaults/Extensions.cs new file mode 100644 index 0000000..c572403 --- /dev/null +++ b/CreditApp/CreditApp.ServiceDefaults/Extensions.cs @@ -0,0 +1,128 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Diagnostics.HealthChecks; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Diagnostics.HealthChecks; +using Microsoft.Extensions.Hosting; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.ServiceDiscovery; +using OpenTelemetry; +using OpenTelemetry.Metrics; +using OpenTelemetry.Trace; + +namespace CreditApp.ServiceDefaults; + +// Adds common Aspire services: service discovery, resilience, health checks, and OpenTelemetry. +// This project should be referenced by each service project in your solution. +// To learn more about using this project, see https://aka.ms/dotnet/aspire/service-defaults +public static class Extensions +{ + private const string HealthEndpointPath = "/health"; + private const string AlivenessEndpointPath = "/alive"; + + public static TBuilder AddServiceDefaults(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + builder.ConfigureOpenTelemetry(); + + builder.AddDefaultHealthChecks(); + + builder.Services.AddServiceDiscovery(); + + builder.Services.ConfigureHttpClientDefaults(http => + { + // Turn on resilience by default + http.AddStandardResilienceHandler(); + + // Turn on service discovery by default + http.AddServiceDiscovery(); + }); + + // Uncomment the following to restrict the allowed schemes for service discovery. + // builder.Services.Configure(options => + // { + // options.AllowedSchemes = ["https"]; + // }); + + return builder; + } + + public static TBuilder ConfigureOpenTelemetry(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + builder.Logging.AddOpenTelemetry(logging => + { + logging.IncludeFormattedMessage = true; + logging.IncludeScopes = true; + }); + + builder.Services.AddOpenTelemetry() + .WithMetrics(metrics => + { + metrics.AddAspNetCoreInstrumentation() + .AddHttpClientInstrumentation() + .AddRuntimeInstrumentation(); + }) + .WithTracing(tracing => + { + tracing.AddSource(builder.Environment.ApplicationName) + .AddAspNetCoreInstrumentation(tracing => + // Exclude health check requests from tracing + tracing.Filter = context => + !context.Request.Path.StartsWithSegments(HealthEndpointPath) + && !context.Request.Path.StartsWithSegments(AlivenessEndpointPath) + ) + // Uncomment the following line to enable gRPC instrumentation (requires the OpenTelemetry.Instrumentation.GrpcNetClient package) + //.AddGrpcClientInstrumentation() + .AddHttpClientInstrumentation(); + }); + + builder.AddOpenTelemetryExporters(); + + return builder; + } + + private static TBuilder AddOpenTelemetryExporters(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + var useOtlpExporter = !string.IsNullOrWhiteSpace(builder.Configuration["OTEL_EXPORTER_OTLP_ENDPOINT"]); + + if (useOtlpExporter) + { + builder.Services.AddOpenTelemetry().UseOtlpExporter(); + } + + // Uncomment the following lines to enable the Azure Monitor exporter (requires the Azure.Monitor.OpenTelemetry.AspNetCore package) + //if (!string.IsNullOrEmpty(builder.Configuration["APPLICATIONINSIGHTS_CONNECTION_STRING"])) + //{ + // builder.Services.AddOpenTelemetry() + // .UseAzureMonitor(); + //} + + return builder; + } + + public static TBuilder AddDefaultHealthChecks(this TBuilder builder) where TBuilder : IHostApplicationBuilder + { + builder.Services.AddHealthChecks() + // Add a default liveness check to ensure app is responsive + .AddCheck("self", () => HealthCheckResult.Healthy(), ["live"]); + + return builder; + } + + public static WebApplication MapDefaultEndpoints(this WebApplication app) + { + // Adding health checks endpoints to applications in non-development environments has security implications. + // See https://aka.ms/dotnet/aspire/healthchecks for details before enabling these endpoints in non-development environments. + if (app.Environment.IsDevelopment()) + { + // All health checks must pass for app to be considered ready to accept traffic after starting + app.MapHealthChecks(HealthEndpointPath); + + // Only health checks tagged with the "live" tag must pass for app to be considered alive + app.MapHealthChecks(AlivenessEndpointPath, new HealthCheckOptions + { + Predicate = r => r.Tags.Contains("live") + }); + } + + return app; + } +} diff --git a/Directory.Packages.props b/Directory.Packages.props new file mode 100644 index 0000000..a3895d3 --- /dev/null +++ b/Directory.Packages.props @@ -0,0 +1,6 @@ + + + + 9.5.2 + + \ No newline at end of file diff --git a/README.md b/README.md index dcaa5eb..449939e 100644 --- a/README.md +++ b/README.md @@ -1,128 +1,44 @@ -# Современные технологии разработки программного обеспечения -[Таблица с успеваемостью](https://docs.google.com/spreadsheets/d/1an43o-iqlq4V_kDtkr_y7DC221hY9qdhGPrpII27sH8/edit?usp=sharing) +# Лабораторная работа №1 -## Задание -### Цель -Реализация проекта микросервисного бекенда. +## «Кэширование» --- Реализация сервиса генерации контрактов -### Задачи -* Реализация межсервисной коммуникации, -* Изучение работы с брокерами сообщений, -* Изучение архитектурных паттернов, -* Изучение работы со средствами оркестрации на примере .NET Aspire, -* Повторение основ работы с системами контроля версий, -* Интеграционное тестирование. +## Что было сделано -### Лабораторные работы -
-1. «Кэширование» - Реализация сервиса генерации контрактов, кэширование его ответов -
- -В рамках первой лабораторной работы необходимо: -* Реализовать сервис генерации контрактов на основе Bogus, -* Реализовать кеширование при помощи IDistributedCache и Redis, -* Реализовать структурное логирование сервиса генерации, -* Настроить оркестрацию Aspire. - -
-
-2. «Балансировка нагрузки» - Реализация апи гейтвея, настройка его работы -
- -В рамках второй лабораторной работы необходимо: -* Настроить оркестрацию на запуск нескольких реплик сервиса генерации, -* Реализовать апи гейтвей на основе Ocelot, -* Имплементировать алгоритм балансировки нагрузки согласно варианту. +В рамках первой лабораторной работы реализован микросервис генерации +контрактов с использованием кэширования и оркестрации. -
-
-
-3. «Интеграционное тестирование» - Реализация файлового сервиса и объектного хранилища, интеграционное тестирование бекенда -
+### 1. Реализован сервис генерации контрактов -В рамках третьей лабораторной работы необходимо: -* Добавить в оркестрацию объектное хранилище, -* Реализовать файловый сервис, сериализующий сгенерированные данные в файлы и сохраняющий их в объектном хранилище, -* Реализовать отправку генерируемых данных в файловый сервис посредством брокера, -* Реализовать интеграционные тесты, проверяющие корректность работы всех сервисов бекенда вместе. +- Создан ASP.NET Core Web API сервис. +- Реализована генерация контрактов с использованием библиотеки Bogus. +- Контракт содержит основные поля: Id, номер, имя клиента, дата, + сумма, статус. +- Добавлен endpoint для получения контракта по идентификатору. -
-
-
-4. (Опционально) «Переход на облачную инфраструктуру» - Перенос бекенда в Yandex Cloud -
- -В рамках четвертой лабораторной работы необходимо перенестиервисы на облако все ранее разработанные сервисы: -* Клиент - в хостинг через отдельный бакет Object Storage, -* Сервис генерации - в Cloud Function, -* Апи гейтвей - в Serverless Integration как API Gateway, -* Брокер сообщений - в Message Queue, -* Файловый сервис - в Cloud Function, -* Объектное хранилище - в отдельный бакет Object Storage, +### 2. Реализовано кэширование через Redis -
-
+- Подключён Redis. +- Настроен IDistributedCache. +- Реализована логика: + - При первом запросе контракт генерируется и сохраняется в Redis. + - При повторном запросе данные возвращаются из кэша. +- Настроено время жизни кэша (TTL). -## Задание. Общая часть -**Обязательно**: -* Реализация серверной части на [.NET 8](https://learn.microsoft.com/ru-ru/dotnet/core/whats-new/dotnet-8/overview). -* Оркестрация проектов при помощи [.NET Aspire](https://learn.microsoft.com/ru-ru/dotnet/aspire/get-started/aspire-overview). -* Реализация сервиса генерации данных при помощи [Bogus](https://github.com/bchavez/Bogus). -* Реализация тестов с использованием [xUnit](https://xunit.net/?tabs=cs). -* Создание минимальной документации к проекту: страница на GitHub с информацией о задании, скриншоты приложения и прочая информация. +### 4. Настроена оркестрация через .NET Aspire -**Факультативно**: -* Перенос бекенда на облачную инфраструктуру Yandex Cloud +- Создан проект AppHost. +- Подключён сервис генерации контрактов. +- Добавлен Redis как зависимость. +- Настроены связи между сервисами. +- Запуск всей инфраструктуры осуществляется через Aspire. -Внимательно прочитайте [дискуссии](https://github.com/itsecd/cloud-development/discussions/1) о том, как работает автоматическое распределение на ревью. -Сразу корректно называйте свои pr, чтобы они попали на ревью нужному преподавателю. +## Используемые технологии -По итогу работы в семестре должна получиться следующая информационная система: -
-C4 диаграмма -Современные_технологии_разработки_ПО_drawio -
- -## Варианты заданий -Номер варианта задания присваивается в начале семестра. Изменить его нельзя. Каждый вариант имеет уникальную комбинацию из предметной области, базы данных и технологии для общения сервиса генерации данных и сервера апи. - -[Список вариантов](https://docs.google.com/document/d/1WGmLYwffTTaAj4TgFCk5bUyW3XKbFMiBm-DHZrfFWr4/edit?usp=sharing) -[Список предметных областей и алгоритмов балансировки](https://docs.google.com/document/d/1PLn2lKe4swIdJDZhwBYzxqFSu0AbY2MFY1SUPkIKOM4/edit?usp=sharing) - -## Схема сдачи - -На каждую из лабораторных работ необходимо сделать отдельный [Pull Request (PR)](https://docs.github.com/en/pull-requests). - -Общая схема: -1. Сделать форк данного репозитория -2. Выполнить задание -3. Сделать PR в данный репозиторий -4. Исправить замечания после code review -5. Получить approve - -## Критерии оценивания - -Конкурентный принцип. -Так как задания в первой лабораторной будут повторяться между студентами, то выделяются следующие показатели для оценки: -1. Скорость разработки -2. Качество разработки -3. Полнота выполнения задания - -Быстрее делаете PR - у вас преимущество. -Быстрее получаете Approve - у вас преимущество. -Выполните нечто немного выходящее за рамки проекта - у вас преимущество. -Не укладываетесь в дедлайн - получаете минимально возможный балл. - -### Шкала оценивания - -- **3 балла** за качество кода, из них: - - 2 балла - базовая оценка - - 1 балл (но не более) можно получить за выполнение любого из следующих пунктов: - - Реализация факультативного функционала - - Выполнение работы раньше других: первые 5 человек из каждой группы, которые сделали PR и получили approve, получают дополнительный балл - -## Вопросы и обратная связь по курсу - -Чтобы задать вопрос по лабораторной, воспользуйтесь [соответствующим разделом дискуссий](https://github.com/itsecd/cloud-development/discussions/categories/questions) или заведите [ишью](https://github.com/itsecd/cloud-development/issues/new). -Если у вас появились идеи/пожелания/прочие полезные мысли по преподаваемой дисциплине, их можно оставить [здесь](https://github.com/itsecd/cloud-development/discussions/categories/ideas). +- .NET 8 +- ASP.NET Core Web API +- Bogus +- Redis +- IDistributedCache +- .NET Aspire +- Docker From 761c6e5ded3d8cbd9b9c6c53dc12f4c36489f70d Mon Sep 17 00:00:00 2001 From: DanilSukach Date: Wed, 18 Feb 2026 16:14:07 +0400 Subject: [PATCH 2/7] update readme --- README.md | 9 +++++++++ images/1.png | Bin 0 -> 74790 bytes images/2.png | Bin 0 -> 52208 bytes 3 files changed, 9 insertions(+) create mode 100644 images/1.png create mode 100644 images/2.png diff --git a/README.md b/README.md index 449939e..38f247f 100644 --- a/README.md +++ b/README.md @@ -42,3 +42,12 @@ - .NET Aspire - Docker +## Скриншоты + +### Aspire Dashboard + +![Aspire Dashboard](images/1.png) + +### Web + +![Web](images/2.png) \ No newline at end of file diff --git a/images/1.png b/images/1.png new file mode 100644 index 0000000000000000000000000000000000000000..7c85ec786b0596be476f4769e5191cd750ac5cac GIT binary patch literal 74790 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 u{~{6f|2xj-e-bdbJ}-~{_Y<*{Ka+wAho0 Date: Fri, 27 Feb 2026 10:42:38 +0400 Subject: [PATCH 3/7] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client.Wasm/Components/StudentCard.razor | 2 +- Client.Wasm/Properties/launchSettings.json | 6 +- CreditApp.Api/Controllers/CreditController.cs | 5 +- CreditApp.Api/Program.cs | 26 ++++--- CreditApp.Api/appsettings.json | 6 ++ .../CreditApp.Application.csproj | 1 + .../Interfaces/ICreditApplicationGenerator.cs | 3 +- CreditApp.Application/Options/CacheOptions.cs | 8 +++ .../Services/CreditService.cs | 49 +++++++++---- CreditApp.Domain/CreditApp.Domain.csproj | 2 + .../Entities/CreditApplication.cs | 2 +- .../CreditApp.Infrastructure.csproj | 2 + .../Generators/CreditApplicationGenerator.cs | 70 ++++++++----------- 13 files changed, 110 insertions(+), 72 deletions(-) create mode 100644 CreditApp.Application/Options/CacheOptions.cs diff --git a/Client.Wasm/Components/StudentCard.razor b/Client.Wasm/Components/StudentCard.razor index a493183..b0948f7 100644 --- a/Client.Wasm/Components/StudentCard.razor +++ b/Client.Wasm/Components/StudentCard.razor @@ -5,7 +5,7 @@ Номер №1 "Кэширование" - Вариант №2 "Кредитная заявка" + Вариант №15 "Кредитная заявка" Выполнил Сукач Данил 6511 Ссылка на форк diff --git a/Client.Wasm/Properties/launchSettings.json b/Client.Wasm/Properties/launchSettings.json index 0d824ea..60120ec 100644 --- a/Client.Wasm/Properties/launchSettings.json +++ b/Client.Wasm/Properties/launchSettings.json @@ -12,7 +12,7 @@ "http": { "commandName": "Project", "dotnetRunMessages": true, - "launchBrowser": true, + "launchBrowser": false, "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "applicationUrl": "http://localhost:5127", "environmentVariables": { @@ -22,7 +22,7 @@ "https": { "commandName": "Project", "dotnetRunMessages": true, - "launchBrowser": true, + "launchBrowser": false, "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "applicationUrl": "https://localhost:7282;http://localhost:5127", "environmentVariables": { @@ -31,7 +31,7 @@ }, "IIS Express": { "commandName": "IISExpress", - "launchBrowser": true, + "launchBrowser": false, "inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" diff --git a/CreditApp.Api/Controllers/CreditController.cs b/CreditApp.Api/Controllers/CreditController.cs index b53031f..e0e232b 100644 --- a/CreditApp.Api/Controllers/CreditController.cs +++ b/CreditApp.Api/Controllers/CreditController.cs @@ -1,4 +1,5 @@ using CreditApp.Application.Interfaces; +using CreditApp.Domain.Entities; using Microsoft.AspNetCore.Mvc; namespace CreditApp.Api.Controllers; @@ -23,7 +24,9 @@ ILogger logger /// Токен отмены для асинхронной операции. /// HTTP 200 с объектом заявки при успешном получении. [HttpGet] - public async Task Get([FromQuery] int id, CancellationToken ct) + [ProducesResponseType(StatusCodes.Status200OK)] + [ProducesResponseType(StatusCodes.Status500InternalServerError)] + public async Task> Get([FromQuery] int id, CancellationToken ct) { logger.LogInformation("Request for credit {CreditId} started", id); diff --git a/CreditApp.Api/Program.cs b/CreditApp.Api/Program.cs index caf1309..3f2ef14 100644 --- a/CreditApp.Api/Program.cs +++ b/CreditApp.Api/Program.cs @@ -1,17 +1,19 @@ using CreditApp.Application.Interfaces; +using CreditApp.ServiceDefaults; +using CreditApp.Application.Options; using CreditApp.Application.Services; using CreditApp.Infrastructure.Generators; -using Microsoft.OpenApi; using System.Reflection; var builder = WebApplication.CreateBuilder(args); +builder.AddServiceDefaults(); builder.AddRedisDistributedCache("credit-cache"); -var centralBankRate = builder.Configuration.GetValue("CreditGenerator:CentralBankRate", 16.0); +builder.Services.AddSingleton(); -builder.Services.AddSingleton( - new CreditApplicationGenerator(centralBankRate)); +builder.Services.Configure( + builder.Configuration.GetSection(CacheOptions.SectionName)); builder.Services.AddScoped(); @@ -24,12 +26,19 @@ options.IncludeXmlComments(xmlPath); }); +var allowedOrigins = builder.Configuration.GetSection("Cors:AllowedOrigins").Get() ?? []; + builder.Services.AddCors(options => { - options.AddPolicy("DefaultCors", - policy => policy.AllowAnyOrigin() - .AllowAnyHeader() - .AllowAnyMethod()); + options.AddPolicy("DefaultCors", policy => + { + policy.AllowAnyHeader().AllowAnyMethod(); + + if (builder.Environment.IsDevelopment()) + policy.AllowAnyOrigin(); + else + policy.WithOrigins(allowedOrigins); + }); }); var app = builder.Build(); @@ -46,6 +55,7 @@ app.UseCors("DefaultCors"); +app.MapDefaultEndpoints(); app.MapControllers(); app.Run(); diff --git a/CreditApp.Api/appsettings.json b/CreditApp.Api/appsettings.json index 89cde0c..57779fd 100644 --- a/CreditApp.Api/appsettings.json +++ b/CreditApp.Api/appsettings.json @@ -12,5 +12,11 @@ , "CreditGenerator": { "CentralBankRate": 16.0 + }, + "Cache": { + "AbsoluteExpirationMinutes": 10 + }, + "Cors": { + "AllowedOrigins": [ "https://localhost:7282" ] } } diff --git a/CreditApp.Application/CreditApp.Application.csproj b/CreditApp.Application/CreditApp.Application.csproj index 9720842..d2c86d5 100644 --- a/CreditApp.Application/CreditApp.Application.csproj +++ b/CreditApp.Application/CreditApp.Application.csproj @@ -9,6 +9,7 @@ + diff --git a/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs b/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs index eb1cd57..163c971 100644 --- a/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs +++ b/CreditApp.Application/Interfaces/ICreditApplicationGenerator.cs @@ -12,7 +12,6 @@ public interface ICreditApplicationGenerator /// Асинхронно генерирует заявку на кредит с указанным идентификатором. /// /// Идентификатор создаваемой заявки. - /// Токен отмены для асинхронной операции. /// Сгенерированный экземпляр . - public Task GenerateAsync(int id, CancellationToken ct); + public Task GenerateAsync(int id); } diff --git a/CreditApp.Application/Options/CacheOptions.cs b/CreditApp.Application/Options/CacheOptions.cs new file mode 100644 index 0000000..ede3672 --- /dev/null +++ b/CreditApp.Application/Options/CacheOptions.cs @@ -0,0 +1,8 @@ +namespace CreditApp.Application.Options; + +public class CacheOptions +{ + public const string SectionName = "Cache"; + + public int AbsoluteExpirationMinutes { get; set; } = 10; +} diff --git a/CreditApp.Application/Services/CreditService.cs b/CreditApp.Application/Services/CreditService.cs index b85a144..90fefb4 100644 --- a/CreditApp.Application/Services/CreditService.cs +++ b/CreditApp.Application/Services/CreditService.cs @@ -1,13 +1,16 @@ using System.Text.Json; using CreditApp.Application.Interfaces; +using CreditApp.Application.Options; using CreditApp.Domain.Entities; using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Options; namespace CreditApp.Application.Services; public class CreditService(IDistributedCache distributedCache, ICreditApplicationGenerator generator, + IOptions cacheOptions, ILogger logger) : ICreditService { @@ -15,28 +18,46 @@ public async Task GetAsync(int id, CancellationToken ct) { var cacheKey = $"Credit_{id}"; - var cached = await distributedCache.GetStringAsync(cacheKey, ct); + try + { + var cached = await distributedCache.GetStringAsync(cacheKey, ct); - if (!string.IsNullOrEmpty(cached)) + if (!string.IsNullOrEmpty(cached)) + { + var deserialized = JsonSerializer.Deserialize(cached); + if (deserialized is not null) + { + logger.LogInformation("Cache HIT {CacheKey}", cacheKey); + return deserialized; + } + } + } + catch (Exception ex) { - logger.LogInformation("Cache HIT {CacheKey}", cacheKey); - return JsonSerializer.Deserialize(cached)!; + logger.LogWarning(ex, "Cache read failed for {CacheKey}", cacheKey); } logger.LogInformation("Cache MISS {CacheKey}", cacheKey); - var credit = await generator.GenerateAsync(id, ct); + var credit = await generator.GenerateAsync(id); + + try + { + var options = new DistributedCacheEntryOptions + { + AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(cacheOptions.Value.AbsoluteExpirationMinutes) + }; - var options = new DistributedCacheEntryOptions + await distributedCache.SetStringAsync( + cacheKey, + JsonSerializer.Serialize(credit), + options, + ct); + } + catch (Exception ex) { - AbsoluteExpirationRelativeToNow = TimeSpan.FromMinutes(10) - }; - - await distributedCache.SetStringAsync( - cacheKey, - JsonSerializer.Serialize(credit), - options, - ct); + logger.LogWarning(ex, "Cache write failed for {CacheKey}", cacheKey); + } return credit; } diff --git a/CreditApp.Domain/CreditApp.Domain.csproj b/CreditApp.Domain/CreditApp.Domain.csproj index fa71b7a..1d2bd2c 100644 --- a/CreditApp.Domain/CreditApp.Domain.csproj +++ b/CreditApp.Domain/CreditApp.Domain.csproj @@ -4,6 +4,8 @@ net8.0 enable enable + true + $(NoWarn);1591 diff --git a/CreditApp.Domain/Entities/CreditApplication.cs b/CreditApp.Domain/Entities/CreditApplication.cs index 06d451a..699f3e4 100644 --- a/CreditApp.Domain/Entities/CreditApplication.cs +++ b/CreditApp.Domain/Entities/CreditApplication.cs @@ -8,7 +8,7 @@ public class CreditApplication ///

/// Идентификатор в системе /// - public int Id { get; init; } + public int Id { get; set; } /// /// Тип кредита /// diff --git a/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj b/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj index eed02d5..395531f 100644 --- a/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj +++ b/CreditApp.Infrastructure/CreditApp.Infrastructure.csproj @@ -8,6 +8,8 @@ + + diff --git a/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs b/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs index 5547937..36c7a32 100644 --- a/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs +++ b/CreditApp.Infrastructure/Generators/CreditApplicationGenerator.cs @@ -1,53 +1,39 @@ -using Bogus; +using Bogus; using CreditApp.Application.Interfaces; using CreditApp.Domain.Dictionaries; using CreditApp.Domain.Entities; +using Microsoft.Extensions.Configuration; namespace CreditApp.Infrastructure.Generators; -public class CreditApplicationGenerator(double centralBankRate) - : ICreditApplicationGenerator +public class CreditApplicationGenerator : ICreditApplicationGenerator { - public Task GenerateAsync(int id, CancellationToken ct) - { - var faker = new Faker(); - - var status = faker.PickRandom(CreditDictionaries.Statuses); - - var submissionDate = DateOnly.FromDateTime( - faker.Date.Between(DateTime.Now.AddYears(-2), DateTime.Now)); - - DateOnly? decisionDate = null; - decimal? approvedAmount = null; - - var requested = Math.Round(faker.Random.Decimal(100_000, 10_000_000), 2); + private readonly Faker _faker; - if (CreditDictionaries.IsTerminal(status)) - { - decisionDate = submissionDate.AddDays(faker.Random.Int(1, 30)); - - if (status == "Одобрена") - { - approvedAmount = Math.Round( - faker.Random.Decimal(10_000, requested), 2); - } - } - - var interestRate = Math.Round( - faker.Random.Double(centralBankRate, centralBankRate + 10), 2); + public CreditApplicationGenerator(IConfiguration configuration) + { + var centralBankRate = configuration.GetValue("CreditGenerator:CentralBankRate", 16.0); + + _faker = new Faker() + .RuleFor(c => c.CreditType, f => f.PickRandom(CreditDictionaries.CreditTypes)) + .RuleFor(c => c.RequestedAmount, f => Math.Round(f.Random.Decimal(100_000, 10_000_000), 2)) + .RuleFor(c => c.TermMonths, f => f.Random.Int(6, 360)) + .RuleFor(c => c.InterestRate, f => Math.Round(f.Random.Double(centralBankRate, centralBankRate + 10), 2)) + .RuleFor(c => c.SubmissionDate, f => DateOnly.FromDateTime(f.Date.Between(DateTime.Now.AddYears(-2), DateTime.Now))) + .RuleFor(c => c.HasInsurance, f => f.Random.Bool()) + .RuleFor(c => c.Status, f => f.PickRandom(CreditDictionaries.Statuses)) + .RuleFor(c => c.DecisionDate, (f, c) => CreditDictionaries.IsTerminal(c.Status) + ? c.SubmissionDate.AddDays(f.Random.Int(1, 30)) + : null) + .RuleFor(c => c.ApprovedAmount, (f, c) => c.Status == "Одобрена" + ? Math.Round(f.Random.Decimal(10_000, c.RequestedAmount), 2) + : null); + } - return Task.FromResult(new CreditApplication - { - Id = id, - CreditType = faker.PickRandom(CreditDictionaries.CreditTypes), - RequestedAmount = requested, - TermMonths = faker.Random.Int(6, 360), - InterestRate = interestRate, - SubmissionDate = submissionDate, - HasInsurance = faker.Random.Bool(), - Status = status, - DecisionDate = decisionDate, - ApprovedAmount = approvedAmount - }); + public Task GenerateAsync(int id) + { + var application = _faker.Generate(); + application.Id = id; + return Task.FromResult(application); } } From 47bf8e4f7a747c329f11bb1dd6f838ac9466449d Mon Sep 17 00:00:00 2001 From: DanilSukach Date: Tue, 3 Mar 2026 17:50:16 +0400 Subject: [PATCH 4/7] =?UTF-8?q?2=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D0=B0=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Client.Wasm/Components/StudentCard.razor | 4 +- Client.Wasm/wwwroot/appsettings.json | 2 +- CloudDevelopment.sln | 8 +- CreditApp.Api/Program.cs | 4 + CreditApp.Api/appsettings.json | 2 +- CreditApp.Gateway/CreditApp.Gateway.csproj | 17 ++++ .../AspireServiceDiscoveryExtensions.cs | 65 +++++++++++++++ .../WeightedRoundRobinBalancer.cs | 83 +++++++++++++++++++ CreditApp.Gateway/Program.cs | 46 ++++++++++ .../Properties/launchSettings.json | 38 +++++++++ .../appsettings.Development.json | 8 ++ CreditApp.Gateway/appsettings.json | 18 ++++ CreditApp.Gateway/ocelot.json | 21 +++++ CreditApp/CreditApp.AppHost/AppHost.cs | 38 +++++++-- .../CreditApp.AppHost.csproj | 3 +- 15 files changed, 345 insertions(+), 12 deletions(-) create mode 100644 CreditApp.Gateway/CreditApp.Gateway.csproj create mode 100644 CreditApp.Gateway/Extensions/AspireServiceDiscoveryExtensions.cs create mode 100644 CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs create mode 100644 CreditApp.Gateway/Program.cs create mode 100644 CreditApp.Gateway/Properties/launchSettings.json create mode 100644 CreditApp.Gateway/appsettings.Development.json create mode 100644 CreditApp.Gateway/appsettings.json create mode 100644 CreditApp.Gateway/ocelot.json diff --git a/Client.Wasm/Components/StudentCard.razor b/Client.Wasm/Components/StudentCard.razor index b0948f7..21c4ad2 100644 --- a/Client.Wasm/Components/StudentCard.razor +++ b/Client.Wasm/Components/StudentCard.razor @@ -4,8 +4,8 @@ - Номер №1 "Кэширование" - Вариант №15 "Кредитная заявка" + Номер №2 "Кэширование" + Вариант №15 "Балансировка нагрузки" Выполнил Сукач Данил 6511 Ссылка на форк diff --git a/Client.Wasm/wwwroot/appsettings.json b/Client.Wasm/wwwroot/appsettings.json index 55c76b5..a305898 100644 --- a/Client.Wasm/wwwroot/appsettings.json +++ b/Client.Wasm/wwwroot/appsettings.json @@ -6,5 +6,5 @@ } }, "AllowedHosts": "*", - "BaseAddress": "https://localhost:7084/api/Credit" + "BaseAddress": "https://localhost:7201/api/Credit" } \ No newline at end of file diff --git a/CloudDevelopment.sln b/CloudDevelopment.sln index c35b184..99966b9 100644 --- a/CloudDevelopment.sln +++ b/CloudDevelopment.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 18 -VisualStudioVersion = 18.3.11505.172 d18.3 +VisualStudioVersion = 18.3.11505.172 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Client.Wasm", "Client.Wasm\Client.Wasm.csproj", "{AE7EEA74-2FE0-136F-D797-854FD87E022A}" EndProject @@ -17,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Application", "Cr EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Infrastructure", "CreditApp.Infrastructure\CreditApp.Infrastructure.csproj", "{C5A26B57-58ED-45E9-9371-AAF64F30C3A8}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CreditApp.Gateway", "CreditApp.Gateway\CreditApp.Gateway.csproj", "{3BA8A38C-6AFF-C134-67A1-BC28FDD7ACF1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -51,6 +53,10 @@ Global {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Debug|Any CPU.Build.0 = Debug|Any CPU {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Release|Any CPU.ActiveCfg = Release|Any CPU {C5A26B57-58ED-45E9-9371-AAF64F30C3A8}.Release|Any CPU.Build.0 = Release|Any CPU + {3BA8A38C-6AFF-C134-67A1-BC28FDD7ACF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3BA8A38C-6AFF-C134-67A1-BC28FDD7ACF1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3BA8A38C-6AFF-C134-67A1-BC28FDD7ACF1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3BA8A38C-6AFF-C134-67A1-BC28FDD7ACF1}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/CreditApp.Api/Program.cs b/CreditApp.Api/Program.cs index 3f2ef14..e3a84c9 100644 --- a/CreditApp.Api/Program.cs +++ b/CreditApp.Api/Program.cs @@ -24,6 +24,10 @@ var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml"; var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile); options.IncludeXmlComments(xmlPath); + + var domainXmlPath = Path.Combine(AppContext.BaseDirectory, "CreditApp.Domain.xml"); + if (File.Exists(domainXmlPath)) + options.IncludeXmlComments(domainXmlPath); }); var allowedOrigins = builder.Configuration.GetSection("Cors:AllowedOrigins").Get() ?? []; diff --git a/CreditApp.Api/appsettings.json b/CreditApp.Api/appsettings.json index 57779fd..c7e86d0 100644 --- a/CreditApp.Api/appsettings.json +++ b/CreditApp.Api/appsettings.json @@ -17,6 +17,6 @@ "AbsoluteExpirationMinutes": 10 }, "Cors": { - "AllowedOrigins": [ "https://localhost:7282" ] + "AllowedOrigins": [ "https://localhost:7282", "http://localhost:7200" ] } } diff --git a/CreditApp.Gateway/CreditApp.Gateway.csproj b/CreditApp.Gateway/CreditApp.Gateway.csproj new file mode 100644 index 0000000..aefd36b --- /dev/null +++ b/CreditApp.Gateway/CreditApp.Gateway.csproj @@ -0,0 +1,17 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + diff --git a/CreditApp.Gateway/Extensions/AspireServiceDiscoveryExtensions.cs b/CreditApp.Gateway/Extensions/AspireServiceDiscoveryExtensions.cs new file mode 100644 index 0000000..75c7000 --- /dev/null +++ b/CreditApp.Gateway/Extensions/AspireServiceDiscoveryExtensions.cs @@ -0,0 +1,65 @@ +namespace CreditApp.Gateway.Extensions; + +/// +/// Расширения для интеграции Aspire service discovery с Ocelot. +/// Динамически разрешает адреса downstream-сервисов из переменных окружения Aspire +/// и переопределяет маршруты Ocelot через in-memory конфигурацию. +/// +public static class AspireServiceDiscoveryExtensions +{ + /// + /// Разрешает адреса downstream-сервисов из Aspire service discovery + /// и переопределяет конфигурацию Ocelot. + /// + /// WebApplicationBuilder с загруженной конфигурацией. + /// + /// Маппинг host:port → имя сервиса для привязки весов в балансировщике. + /// + public static Dictionary ResolveDownstreamServices(this WebApplicationBuilder builder) + { + var generatorNames = builder.Configuration + .GetSection("GeneratorServices") + .Get() ?? []; + + var addressOverrides = new List>(); + var hostPortToServiceName = new Dictionary(); + var schemeResolved = false; + + for (var i = 0; i < generatorNames.Length; i++) + { + var name = generatorNames[i]; + + var url = builder.Configuration[$"services:{name}:http:0"] + ?? builder.Configuration[$"services:{name}:https:0"]; + + string resolvedHost, resolvedPort; + + if (!string.IsNullOrEmpty(url) && Uri.TryCreate(url, UriKind.Absolute, out var uri)) + { + resolvedHost = uri.Host; + resolvedPort = uri.Port.ToString(); + + addressOverrides.Add(new($"Routes:0:DownstreamHostAndPorts:{i}:Host", resolvedHost)); + addressOverrides.Add(new($"Routes:0:DownstreamHostAndPorts:{i}:Port", resolvedPort)); + + if (!schemeResolved) + { + addressOverrides.Add(new($"Routes:0:DownstreamScheme", uri.Scheme)); + schemeResolved = true; + } + } + else + { + resolvedHost = builder.Configuration[$"Routes:0:DownstreamHostAndPorts:{i}:Host"] ?? "localhost"; + resolvedPort = builder.Configuration[$"Routes:0:DownstreamHostAndPorts:{i}:Port"] ?? "0"; + } + + hostPortToServiceName[$"{resolvedHost}:{resolvedPort}"] = name; + } + + if (addressOverrides.Count > 0) + builder.Configuration.AddInMemoryCollection(addressOverrides); + + return hostPortToServiceName; + } +} diff --git a/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs b/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs new file mode 100644 index 0000000..08bb071 --- /dev/null +++ b/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs @@ -0,0 +1,83 @@ +using Ocelot.Errors; +using Ocelot.LoadBalancer.Interfaces; +using Ocelot.Responses; +using Ocelot.ServiceDiscovery.Providers; +using Ocelot.Values; + +namespace CreditApp.Gateway.LoadBalancing; + +/// +/// Кастомный балансировщик нагрузки, реализующий алгоритм Weighted Round Robin. +/// Каждый downstream-хост получает количество запросов, пропорциональное его весу. +/// Веса привязаны к именам сервисов через маппинг hostPort → serviceName. +/// +public class WeightedRoundRobinBalancer( + IServiceDiscoveryProvider serviceDiscoveryProvider, + Dictionary replicaWeights, + Dictionary hostPortToServiceName) : ILoadBalancer +{ + private readonly List _weightedServices = + BuildWeightedList(serviceDiscoveryProvider, replicaWeights, hostPortToServiceName); + + private int _currentIndex = -1; + private readonly object _lock = new(); + + public string Type => nameof(WeightedRoundRobinBalancer); + + /// + /// Строит развёрнутый список хостов: хост с весом 3 появляется 3 раза. + /// + private static List BuildWeightedList( + IServiceDiscoveryProvider provider, + Dictionary replicaWeights, + Dictionary hostPortToServiceName) + { + var services = provider.GetAsync().Result; + var list = new List(); + + foreach (var service in services) + { + var key = $"{service.HostAndPort.DownstreamHost}:{service.HostAndPort.DownstreamPort}"; + var weight = 1; + + if (hostPortToServiceName.TryGetValue(key, out var serviceName) + && replicaWeights.TryGetValue(serviceName, out var configuredWeight)) + { + weight = configuredWeight; + } + + for (var i = 0; i < weight; i++) + list.Add(service.HostAndPort); + } + + return list; + } + + /// + /// Выбирает следующий хост по алгоритму Weighted Round Robin. + /// + public Task> LeaseAsync(HttpContext httpContext) + { + lock (_lock) + { + if (_weightedServices.Count == 0) + { + return Task.FromResult>( + new ErrorResponse(new List())); + } + + _currentIndex = (_currentIndex + 1) % _weightedServices.Count; + var selected = _weightedServices[_currentIndex]; + + var key = $"{selected.DownstreamHost}:{selected.DownstreamPort}"; + var serviceName = hostPortToServiceName.GetValueOrDefault(key, key); + + httpContext.Items["SelectedService"] = serviceName; + + return Task.FromResult>( + new OkResponse(selected)); + } + } + + public void Release(ServiceHostAndPort hostAndPort) { } +} diff --git a/CreditApp.Gateway/Program.cs b/CreditApp.Gateway/Program.cs new file mode 100644 index 0000000..e52b666 --- /dev/null +++ b/CreditApp.Gateway/Program.cs @@ -0,0 +1,46 @@ +using CreditApp.Gateway.Extensions; +using CreditApp.Gateway.LoadBalancing; +using CreditApp.ServiceDefaults; +using Ocelot.DependencyInjection; +using Ocelot.Middleware; + +var builder = WebApplication.CreateBuilder(args); + +builder.AddServiceDefaults(); + +builder.Configuration.AddJsonFile("ocelot.json", optional: false, reloadOnChange: true); + +var hostPortToServiceName = builder.ResolveDownstreamServices(); + +var replicaWeights = builder.Configuration + .GetSection("ReplicaWeights") + .Get>() ?? []; + +builder.Services + .AddOcelot(builder.Configuration) + .AddCustomLoadBalancer((route, serviceDiscovery) => + new WeightedRoundRobinBalancer(serviceDiscovery, replicaWeights, hostPortToServiceName)); + +var allowedOrigins = builder.Configuration.GetSection("Cors:AllowedOrigins").Get() ?? []; + +builder.Services.AddCors(options => +{ + options.AddPolicy("GatewayCors", policy => + { + policy.AllowAnyHeader().AllowAnyMethod(); + + if (builder.Environment.IsDevelopment()) + policy.AllowAnyOrigin(); + else + policy.WithOrigins(allowedOrigins); + }); +}); + +var app = builder.Build(); + +app.UseCors("GatewayCors"); +app.MapDefaultEndpoints(); + +await app.UseOcelot(); + +app.Run(); diff --git a/CreditApp.Gateway/Properties/launchSettings.json b/CreditApp.Gateway/Properties/launchSettings.json new file mode 100644 index 0000000..3b61428 --- /dev/null +++ b/CreditApp.Gateway/Properties/launchSettings.json @@ -0,0 +1,38 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "iisSettings": { + "windowsAuthentication": false, + "anonymousAuthentication": true, + "iisExpress": { + "applicationUrl": "http://localhost:60672", + "sslPort": 44348 + } + }, + "profiles": { + "http": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "http://localhost:5096", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "https": { + "commandName": "Project", + "dotnetRunMessages": true, + "launchBrowser": true, + "applicationUrl": "https://localhost:7040;http://localhost:5096", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "IIS Express": { + "commandName": "IISExpress", + "launchBrowser": true, + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development" + } + } + } +} diff --git a/CreditApp.Gateway/appsettings.Development.json b/CreditApp.Gateway/appsettings.Development.json new file mode 100644 index 0000000..0c208ae --- /dev/null +++ b/CreditApp.Gateway/appsettings.Development.json @@ -0,0 +1,8 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + } +} diff --git a/CreditApp.Gateway/appsettings.json b/CreditApp.Gateway/appsettings.json new file mode 100644 index 0000000..cb4951d --- /dev/null +++ b/CreditApp.Gateway/appsettings.json @@ -0,0 +1,18 @@ +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + } + }, + "AllowedHosts": "*", + "GeneratorServices": [ "credit-api-1", "credit-api-2", "credit-api-3" ], + "ReplicaWeights": { + "credit-api-1": 3, + "credit-api-2": 2, + "credit-api-3": 1 + }, + "Cors": { + "AllowedOrigins": [ "https://localhost:7282" ] + } +} diff --git a/CreditApp.Gateway/ocelot.json b/CreditApp.Gateway/ocelot.json new file mode 100644 index 0000000..296bf46 --- /dev/null +++ b/CreditApp.Gateway/ocelot.json @@ -0,0 +1,21 @@ +{ + "Routes": [ + { + "DownstreamPathTemplate": "/api/Credit", + "DownstreamScheme": "http", + "DownstreamHostAndPorts": [ + { "Host": "localhost", "Port": 7001 }, + { "Host": "localhost", "Port": 7002 }, + { "Host": "localhost", "Port": 7003 } + ], + "UpstreamPathTemplate": "/api/Credit", + "UpstreamHttpMethod": [ "GET" ], + "LoadBalancerOptions": { + "Type": "WeightedRoundRobinBalancer" + } + } + ], + "GlobalConfiguration": { + "BaseUrl": "https://localhost:7201" + } +} diff --git a/CreditApp/CreditApp.AppHost/AppHost.cs b/CreditApp/CreditApp.AppHost/AppHost.cs index 224b545..0833ee4 100644 --- a/CreditApp/CreditApp.AppHost/AppHost.cs +++ b/CreditApp/CreditApp.AppHost/AppHost.cs @@ -3,13 +3,39 @@ var redis = builder.AddRedis("credit-cache") .WithRedisInsight(containerName: "credit-redis-insight"); -var api = builder.AddProject("credit-api") - .WithReference(redis) - .WaitFor(redis); +var replicaPorts = new Dictionary +{ + ["credit-api-1"] = (7001, 7081), + ["credit-api-2"] = (7002, 7082), + ["credit-api-3"] = (7003, 7083), +}; + +var apiReplicas = new List>(); + +foreach (var (name, (httpPort, httpsPort)) in replicaPorts) +{ + var replica = builder.AddProject(name) + .WithEndpoint("http", endpoint => endpoint.Port = httpPort) + .WithEndpoint("https", endpoint => endpoint.Port = httpsPort) + .WithReference(redis) + .WaitFor(redis); + + apiReplicas.Add(replica); +} + +var gateway = builder.AddProject("creditapp-gateway") + .WithEndpoint("http", endpoint => endpoint.Port = 7200) + .WithEndpoint("https", endpoint => endpoint.Port = 7201) + .WithExternalHttpEndpoints(); + +foreach (var replica in apiReplicas) +{ + gateway.WithReference(replica) + .WaitFor(replica); +} builder.AddProject("client") - .WithReference(api) - .WaitFor(api); + .WithReference(gateway) + .WaitFor(gateway); builder.Build().Run(); - diff --git a/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj b/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj index b6d2633..e09671b 100644 --- a/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj +++ b/CreditApp/CreditApp.AppHost/CreditApp.AppHost.csproj @@ -1,4 +1,4 @@ - + @@ -18,6 +18,7 @@ + From 6ccec54937e75c2d860eb58228aa8e515e5031e4 Mon Sep 17 00:00:00 2001 From: DanilSukach Date: Tue, 3 Mar 2026 17:56:57 +0400 Subject: [PATCH 5/7] =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8=D0=BB?= =?UTF-8?q?=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 55 ++++++++++++++++++++++++++++----------------------- images/1.png | Bin 74790 -> 77631 bytes images/2.png | Bin 52208 -> 53455 bytes 3 files changed, 30 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index 38f247f..d768ce2 100644 --- a/README.md +++ b/README.md @@ -1,46 +1,51 @@ -# Лабораторная работа №1 +# Лабораторная работа №2 -## «Кэширование» --- Реализация сервиса генерации контрактов +## «Балансировка нагрузки» --- API Gateway с Weighted Round Robin ## Что было сделано -В рамках первой лабораторной работы реализован микросервис генерации -контрактов с использованием кэширования и оркестрации. +В рамках второй лабораторной работы реализован API Gateway с балансировкой нагрузки между репликами сервиса генерации контрактов. -### 1. Реализован сервис генерации контрактов +### 1. Создан API Gateway на базе Ocelot -- Создан ASP.NET Core Web API сервис. -- Реализована генерация контрактов с использованием библиотеки Bogus. -- Контракт содержит основные поля: Id, номер, имя клиента, дата, - сумма, статус. -- Добавлен endpoint для получения контракта по идентификатору. +- Реализован проект CreditApp.Gateway. +- Настроена маршрутизация запросов через ocelot.json. +- Gateway принимает запросы на `/api/Credit` и перенаправляет их на downstream-сервисы. +- Настроен HTTPS-эндпоинт на порту 7201. -### 2. Реализовано кэширование через Redis +### 2. Реализована балансировка нагрузки Weighted Round Robin -- Подключён Redis. -- Настроен IDistributedCache. -- Реализована логика: - - При первом запросе контракт генерируется и сохраняется в Redis. - - При повторном запросе данные возвращаются из кэша. -- Настроено время жизни кэша (TTL). +- Реализован кастомный балансировщик `WeightedRoundRobinBalancer`. +- Каждая реплика получает количество запросов, пропорциональное её весу. +- Настроены веса реплик: credit-api-1 = 3, credit-api-2 = 2, credit-api-3 = 1. -### 4. Настроена оркестрация через .NET Aspire +### 3. Развёрнуто 3 реплики API-сервиса -- Создан проект AppHost. -- Подключён сервис генерации контрактов. -- Добавлен Redis как зависимость. -- Настроены связи между сервисами. -- Запуск всей инфраструктуры осуществляется через Aspire. +- credit-api-1 (порты 7001/7081) +- credit-api-2 (порты 7002/7082) +- credit-api-3 (порты 7003/7083) +- Все реплики подключены к общему Redis-кэшу. + +### 4. Реализована интеграция с Aspire Service Discovery + +- Создано расширение `AspireServiceDiscoveryExtensions` для динамического разрешения адресов downstream-сервисов из переменных окружения Aspire. +- Адреса реплик переопределяются в конфигурации Ocelot автоматически. + +### 7. Оркестрация через .NET Aspire + +- В AppHost настроены 3 реплики API, Gateway и клиент. +- Настроены зависимости и порядок запуска через `WaitFor`. ## Используемые технологии - .NET 8 - ASP.NET Core Web API +- Ocelot API Gateway +- Blazor WebAssembly - Bogus - Redis - IDistributedCache - .NET Aspire -- Docker ## Скриншоты @@ -50,4 +55,4 @@ ### Web -![Web](images/2.png) \ No newline at end of file +![Web](images/2.png) diff --git a/images/1.png b/images/1.png index 7c85ec786b0596be476f4769e5191cd750ac5cac..c7607bd51660ff32bda953638506310eb80d1d8f 100644 GIT binary patch literal 77631 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∨;P^2`A3>jd|FVcu_hS1=Y2C(APm?~j% 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 No^t%T;^gID{tX*GNdN!< literal 52208 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 u{~{6f|2xj-e-bdbJ}-~{_Y<*{Ka+wAho0 Date: Wed, 4 Mar 2026 19:01:43 +0400 Subject: [PATCH 6/7] =?UTF-8?q?=D0=BF=D0=BE=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WeightedRoundRobinBalancer.cs | 41 ++++++++++++------- CreditApp/CreditApp.AppHost/AppHost.cs | 2 +- 2 files changed, 27 insertions(+), 16 deletions(-) diff --git a/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs b/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs index 08bb071..cee7859 100644 --- a/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs +++ b/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs @@ -1,4 +1,4 @@ -using Ocelot.Errors; +using Ocelot.LoadBalancer.Errors; using Ocelot.LoadBalancer.Interfaces; using Ocelot.Responses; using Ocelot.ServiceDiscovery.Providers; @@ -16,7 +16,7 @@ public class WeightedRoundRobinBalancer( Dictionary replicaWeights, Dictionary hostPortToServiceName) : ILoadBalancer { - private readonly List _weightedServices = + private readonly (List<(ServiceHostAndPort Host, int Weight)> Services, int TotalWeight) _config = BuildWeightedList(serviceDiscoveryProvider, replicaWeights, hostPortToServiceName); private int _currentIndex = -1; @@ -27,13 +27,14 @@ public class WeightedRoundRobinBalancer( ///

/// Строит развёрнутый список хостов: хост с весом 3 появляется 3 раза. /// - private static List BuildWeightedList( + private static (List<(ServiceHostAndPort Host, int Weight)> Services, int TotalWeight) BuildWeightedList( IServiceDiscoveryProvider provider, Dictionary replicaWeights, Dictionary hostPortToServiceName) { var services = provider.GetAsync().Result; - var list = new List(); + var list = new List<(ServiceHostAndPort Host, int Weight)>(); + var totalWeight = 0; foreach (var service in services) { @@ -46,11 +47,11 @@ private static List BuildWeightedList( weight = configuredWeight; } - for (var i = 0; i < weight; i++) - list.Add(service.HostAndPort); + list.Add((service.HostAndPort, weight)); + totalWeight += weight; } - return list; + return (list, totalWeight); } /// @@ -60,22 +61,32 @@ public Task> LeaseAsync(HttpContext httpContext) { lock (_lock) { - if (_weightedServices.Count == 0) + if (_config.Services.Count == 0) { return Task.FromResult>( - new ErrorResponse(new List())); + new ErrorResponse(new ServicesAreEmptyError("Weighted services list is empty"))); } - _currentIndex = (_currentIndex + 1) % _weightedServices.Count; - var selected = _weightedServices[_currentIndex]; + _currentIndex = (_currentIndex + 1) % _config.TotalWeight; - var key = $"{selected.DownstreamHost}:{selected.DownstreamPort}"; - var serviceName = hostPortToServiceName.GetValueOrDefault(key, key); + var cumulative = 0; - httpContext.Items["SelectedService"] = serviceName; + foreach (var (host, weight) in _config.Services) + { + cumulative += weight; + if (_currentIndex < cumulative) + { + var key = $"{host.DownstreamHost}:{host.DownstreamPort}"; + var serviceName = hostPortToServiceName.GetValueOrDefault(key, key); + httpContext.Items["SelectedService"] = serviceName; + + return Task.FromResult>( + new OkResponse(host)); + } + } return Task.FromResult>( - new OkResponse(selected)); + new ErrorResponse(new ServicesAreEmptyError("Weighted services list is empty"))); } } diff --git a/CreditApp/CreditApp.AppHost/AppHost.cs b/CreditApp/CreditApp.AppHost/AppHost.cs index 0833ee4..9333aff 100644 --- a/CreditApp/CreditApp.AppHost/AppHost.cs +++ b/CreditApp/CreditApp.AppHost/AppHost.cs @@ -3,7 +3,7 @@ var redis = builder.AddRedis("credit-cache") .WithRedisInsight(containerName: "credit-redis-insight"); -var replicaPorts = new Dictionary +var replicaPorts = new Dictionary { ["credit-api-1"] = (7001, 7081), ["credit-api-2"] = (7002, 7082), From 15acc749512a13cf4b1845cee68f8ad4eb04f232 Mon Sep 17 00:00:00 2001 From: DanilSukach Date: Wed, 4 Mar 2026 19:38:19 +0400 Subject: [PATCH 7/7] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LoadBalancing/WeightedRoundRobinBalancer.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs b/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs index cee7859..a48b1b1 100644 --- a/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs +++ b/CreditApp.Gateway/LoadBalancing/WeightedRoundRobinBalancer.cs @@ -59,14 +59,14 @@ private static (List<(ServiceHostAndPort Host, int Weight)> Services, int TotalW /// public Task> LeaseAsync(HttpContext httpContext) { - lock (_lock) + if (_config.Services.Count == 0) { - if (_config.Services.Count == 0) - { - return Task.FromResult>( - new ErrorResponse(new ServicesAreEmptyError("Weighted services list is empty"))); - } + return Task.FromResult>( + new ErrorResponse(new ServicesAreEmptyError("Generator services list is empty, no hosts were discovered"))); + } + lock (_lock) + { _currentIndex = (_currentIndex + 1) % _config.TotalWeight; var cumulative = 0; @@ -86,7 +86,7 @@ public Task> LeaseAsync(HttpContext httpContext) } return Task.FromResult>( - new ErrorResponse(new ServicesAreEmptyError("Weighted services list is empty"))); + new ErrorResponse(new ServicesAreEmptyError("Could not match any service host within cumulative weight bounds"))); } }