Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.9.2.5 #49

Merged
merged 36 commits into from
Jun 29, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
3cf2cc4
[feat]拆分AbstractWebApiDependencyRegistrar.cs的代码到多个文件。
AlphaYu Jun 23, 2022
39d4180
[feat]ThreadPoolSettings增加Name属性
AlphaYu Jun 24, 2022
dd43905
[feat]AbstractWebApiDependencyRegistrar.cs注册文件优化。
AlphaYu Jun 24, 2022
d6089e2
[feat]sAbstractApplicationDependencyRegistrar.cs拆分到多个分布类
AlphaYu Jun 24, 2022
02f3d8d
[feat]Adnc.Infra.Caching.csproj代码优化。
AlphaYu Jun 24, 2022
0ba0414
[fix]调整涉及adnc.infra.Caching相关代码。
AlphaYu Jun 24, 2022
620cc4b
[fix]调整涉及adnc.infra.Caching相关代码。
AlphaYu Jun 24, 2022
8aaacac
[fix]调整涉及adnc.infra.Caching相关代码。
AlphaYu Jun 24, 2022
26f32b0
[feat]AddHealthChecks调整
AlphaYu Jun 24, 2022
332729b
[feat]代码优化调整
AlphaYu Jun 25, 2022
51004a3
[feat]代码优化调整
AlphaYu Jun 25, 2022
2eaac10
[feat]代码优化调整
AlphaYu Jun 25, 2022
2d84497
[feat]变量名称调整。
AlphaYu Jun 25, 2022
d879a83
[feat]字典,配置代码调整。
AlphaYu Jun 25, 2022
777252a
[feat]完善字典,配置缓存预热相关代码。
AlphaYu Jun 26, 2022
3147048
[feat]代码优化
AlphaYu Jun 26, 2022
24d456a
[feat]代码优化调整
AlphaYu Jun 26, 2022
c0ef9b7
[feat]完善AbstractWebApiDependencyRegistrar.HealthChecks.cs
AlphaYu Jun 26, 2022
e107fb9
[feat]Adnc.Infra.EventBus注册代码优化
AlphaYu Jun 27, 2022
05bd439
[feat]adnc.infra.eventbus注册代码优化
AlphaYu Jun 27, 2022
8b5f5f6
[fix]删除无效代码
AlphaYu Jun 27, 2022
42c2d4e
[feat]PermissionAttribute => AdncAuthorizeAttribute
AlphaYu Jun 27, 2022
dfe678f
[feat]升级依赖组件到最新稳定版
AlphaYu Jun 27, 2022
c13f50a
[feat]升级依赖组件到最新稳定版
AlphaYu Jun 27, 2022
dff4117
[feat]升级依赖组件到最新稳定版
AlphaYu Jun 27, 2022
9acde45
[feat]升级依赖组件到最新稳定版
AlphaYu Jun 27, 2022
d70c8b4
[feat]程序启动,consul注册逻辑完善
AlphaYu Jun 28, 2022
e8fd85e
[fix]增加capdashbord路由配置
AlphaYu Jun 28, 2022
1d823a6
[fix] 添加Obsolete特性,标注已经过期。
AlphaYu Jun 28, 2022
067eb36
[fix]替换fluentvalidation过期方法
AlphaYu Jun 28, 2022
6e23f2a
[fix]消除null警告
AlphaYu Jun 28, 2022
0d16609
[fix]隐藏0436警告
AlphaYu Jun 28, 2022
a6eb80c
[fix]不导入多余的wrappers.proto
AlphaYu Jun 28, 2022
eae71de
[fix]消除参数警告
AlphaYu Jun 28, 2022
160ae95
[fix]调整logger.error参数顺序
AlphaYu Jun 29, 2022
685af79
[feat]nlog配置文件调整
AlphaYu Jun 29, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[feat]adnc.infra.eventbus注册代码优化
[faat]健康检测代码优化
  • Loading branch information
AlphaYu committed Jun 27, 2022
commit 05bd4398ab384d66841dfdcdafdfb931d8a44f64
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ public override void AddAdnc()
AddGrpcClient<MaintGrpc.MaintGrpcClient>(RpcConsts.MaintService, gprcPolicies);
AddGrpcClient<WhseGrpc.WhseGrpcClient>(RpcConsts.WhseService, gprcPolicies);
//rpc-even
AddEventBusPublishers();
AddEventBusSubscribers<CapEventSubscriber>();
AddCapEventBus<CapEventSubscriber>();
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\build\common.props" />
<ItemGroup>
<Compile Remove="EventSubscribers\LoginLogMqConsumer.cs" />
<Compile Remove="EventSubscribers\OpsLogMqConsumer.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="EventSubscribers\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Shared\Adnc.Shared.Rpc\Adnc.Shared.Rpc.csproj" />
<ProjectReference Include="..\..\Shared\Adnc.Shared.Application\Adnc.Shared.Application.csproj" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,7 @@ public override void AddAdnc()
var restPolicies = this.GenerateDefaultRefitPolicies();
AddRestClient<IAuthRestClient>(RpcConsts.UsrService, restPolicies);
AddRestClient<IUsrRestClient>(RpcConsts.UsrService, restPolicies);

AddRabbitMqClient();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ public override void AddAdnc()
AddRestClient<IMaintRestClient>(RpcConsts.MaintService, restPolicies);
AddRestClient<IWhseRestClient>(RpcConsts.WhseService, restPolicies);
//rpc-event
AddEventBusPublishers();
AddEventBusSubscribers<CapEventSubscriber>();
AddCapEventBus<CapEventSubscriber>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ public override void AddAdnc()
AddRestClient<IUsrRestClient>(RpcConsts.UsrService, restPolicies);
AddRestClient<IMaintRestClient>(RpcConsts.MaintService, restPolicies);
//rpc-event
AddEventBusPublishers();
AddEventBusSubscribers<CapEventSubscriber>();
AddCapEventBus<CapEventSubscriber>();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,24 @@ public abstract partial class AbstractApplicationDependencyRegistrar : IDependen
/// <param name="tableNamePrefix">cap表面前缀</param>
/// <param name="groupName">群组名子</param>
/// <param name="func">回调函数</param>
[Obsolete("please call AddAdncInfraCap method")]
protected virtual void AddEventBusSubscribers<TSubscriber>(Action<IServiceCollection> action = null)
where TSubscriber : class, ICapSubscribe
{
action?.Invoke(Services);

var tableNamePrefix = "cap";
var groupName = $"cap.{ServiceInfo.ShortName}.{this.GetEnvShortName()}".ToLower();

//add skyamp
//Services.AddSkyApmExtensions().AddCap();

Services.AddSingleton<TSubscriber>();
AddCapEventBus<TSubscriber>(action);
}

Services.AddCap(x =>
/// <summary>
/// 注册CAP组件(实现事件总线及最终一致性(分布式事务)的一个开源的组件)
/// </summary>
protected virtual void AddCapEventBus<TSubscriber>(Action<IServiceCollection> action = null)
where TSubscriber : class, ICapSubscribe
{
action?.Invoke(Services);
Services.AddAdncInfraCap<TSubscriber>(x =>
{
var tableNamePrefix = "cap";
var groupName = $"cap.{ServiceInfo.ShortName}.{this.GetEnvShortName()}".ToLower();
var mysqlConfig = MysqlSection.Get<MysqlConfig>();
x.UseMySql(config =>
{
Expand All @@ -42,6 +45,10 @@ protected virtual void AddEventBusSubscribers<TSubscriber>(Action<IServiceCollec
option.Port = rabbitMqConfig.Port;
option.UserName = rabbitMqConfig.UserName;
option.Password = rabbitMqConfig.Password;
option.ConnectionFactoryOptions = (facotry) =>
{
facotry.ClientProvidedName = ServiceInfo.Id;
};
});
x.Version = ServiceInfo.Version;
//默认值:cap.queue.{程序集名称},在 RabbitMQ 中映射到 Queue Names。
Expand Down Expand Up @@ -75,12 +82,21 @@ protected virtual void AddEventBusSubscribers<TSubscriber>(Action<IServiceCollec
/// 注册事件发布者相关服务
/// </summary>
/// <param name="action"></param>
[Obsolete("please casll AddAdncInfraRabbitMq or AddEventBusSubscribers methods")]
protected virtual void AddEventBusPublishers(Action<IServiceCollection> action = null)
{
AddRabbitMqClient();
}

/// <summary>
/// 注册RabbitMq-Client
/// </summary>
protected virtual void AddRabbitMqClient(Action<IServiceCollection> action = null)
{
action?.Invoke(Services);

if (RabbitMqSection is not null)
Services.AddAdncInfraEventBus(RabbitMqSection);
Services.AddAdncInfraRabbitMq(RabbitMqSection);
}

}
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
using Adnc.Infra.EventBus.RabbitMq;
using RabbitMQ.Client;

namespace Adnc.Shared.WebApi.Registrar;

Expand Down Expand Up @@ -49,7 +50,26 @@ protected IHealthChecksBuilder AddHealthChecks(
throw new NullReferenceException("rabitmqConfig is null");
checksBuilder.AddRabbitMQ(provider =>
{
return provider.GetRequiredService<IRabbitMqConnection>().Connection;
var mqConnection = provider.GetService<IRabbitMqConnection>()?.Connection;
if (mqConnection is null)
{
var serviceInfo = provider.GetService<IServiceInfo>();
if (serviceInfo is null)
throw new NullReferenceException($"{nameof(IServiceInfo)} is null");
var factory = new ConnectionFactory
{
HostName = rabitmqConfig.HostName,
Port = rabitmqConfig.Port,
UserName = rabitmqConfig.UserName,
Password = rabitmqConfig.Password,
VirtualHost = rabitmqConfig.VirtualHost,
ClientProvidedName = serviceInfo.Id,
//Uri = new Uri($"amqps://{user}:{pass}@{host}/{vhost}"),
AutomaticRecoveryEnabled = true
};
mqConnection = factory.CreateConnection();
}
return mqConnection;
});
}

Expand Down
11 changes: 6 additions & 5 deletions src/ServerApi/Services/Shared/Adnc.Shared.WebApi/ServiceInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,15 @@ public static ServiceInfo CreateInstance(Assembly startAssembly)
var version = assemblyName.Version;
var fullName = assemblyName.Name.ToLower();
var serviceName = fullName.Replace(".", "-");
var ticks = DateTime.Now.GetTotalMilliseconds();
var ticks = DateTime.Now.GetTotalMilliseconds().ToLong();
var ticksHex = Convert.ToString(ticks,16);
var envName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")?.ToLower();
var serviceId = envName switch
{
"development" => $"{serviceName}-dev-{ticks}",
"test" => $"{serviceName}-test-{ticks}",
"staging" => $"{serviceName}-stag-{ticks}",
"production" => $"{serviceName}-{ticks}",
"development" => $"{serviceName}-dev-{ticksHex}",
"test" => $"{serviceName}-test-{ticksHex}",
"staging" => $"{serviceName}-stag-{ticksHex}",
"production" => $"{serviceName}-{ticksHex}",
_ => throw new NullReferenceException("ASPNETCORE_ENVIRONMENT")
};

Expand Down