Closed ahern2012 closed 6 months ago
这种就是你使用的方式有问题?
QueueServer代码
var builder = WebApplication.CreateBuilder(args).Inject();
// 配置服务
builder.Services
.AddJT808Configure()
.AddWebApiClientTool(builder.Configuration)
.AddGateway(builder.Configuration)
.AddServerKafkaMsgProducer(builder.Configuration)
.AddServerKafkaMsgReplyConsumer(builder.Configuration)
.AddServerKafkaSessionProducer(builder.Configuration)
.AddTcp()
.AddUdp();
builder.Services.AddCors(options =>
options.AddPolicy("jt808", builder =>
builder.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()
.SetIsOriginAllowed(o => true)));
// 配置WebHost
builder.WebHost.ConfigureKestrel((context, options) =>
{
var jT808Configuration = context.Configuration.GetSection(nameof(JT808Configuration)).Get<JT808Configuration>();
options.ListenAnyIP(jT808Configuration.WebApiPort);
});
// 添加控制器
builder.Services.AddControllers().AddInject();
var app = builder.Build();
app.UseCors();
app.UseAuthorization();
app.UseInject();
app.MapControllers().RequireCors("jt808");
await app.RunAsync();
var builder = WebApplication.CreateBuilder(args).Inject();
QueueService代码
var builder = WebApplication.CreateBuilder(args).Inject();
// 配置服务
builder.Services.AddJT808Configure()
.AddClientKafka()
.AddMsgConsumer(builder.Configuration)
.AddMsgReplyProducer(builder.Configuration)
.AddSessionConsumer(builder.Configuration)
.AddReplyMessage<JT808QueueReplyMessageHandlerImpl>()
.AddSessionNotice<JT808SessionNoticeServiceImpl>();
builder.Services.AddRemoteRequest();
builder.Services.AddHostedService<SendCommandJob>();
builder.Services.AddHostedService<AlarmMessageConsumerJob>();
// 添加控制器
builder.Services.AddControllers().AddInject();
var app = builder.Build();
app.UseInject();
app.MapControllers();
await app.RunAsync();
请大佬帮忙分析下哪里有不对
是QueueServer代码有问题还是QueueService代码有问题,这个看不出来喔,你可以用dotnet的dump分析下是哪个对象引起的。
好的,谢谢大佬
windows环境下使用kafka队列接入1200多台终端,QueueServerHosting占用内存会越来越大,大概每秒0.1M的速度增长,直至占用内存100%,始终找不到是哪出问题了