星尘,分布式资源调度,客户端代理部署于每一台机器节点,接受服务端命令,获取目标应用包并拉起进程。

This commit is contained in:
大石头 2019-05-26 15:15:43 +08:00
parent 98d9427b4a
commit 7174fee856
7 changed files with 122 additions and 27 deletions

2
.gitignore vendored
View File

@ -26,3 +26,5 @@ bld/
/Stardust.WebFx/Content
/Stardust.WebFx/Plugins
/Stardust.Data/Config
/BinServer
/BinClient

View File

@ -1,7 +1,7 @@
#星尘
Stardust 星尘,轻量级服务框架
Stardust 星尘,分布式服务平台
设计理念: 简单,易于维护扩展!
远程方法调用,服务自动注册和发现,负载均衡,动态伸缩,故障转移,性能监控。
分布式资源调度,服务自动注册和发现,负载均衡,动态伸缩,故障转移,性能监控。
自认性能还过得去,千万级吞吐率微秒级延迟,因而不支持限流和降级。
极简设计: 客户端作为组件集成到业务应用,连接后登录,有状态长连接,上报所提供的服务,定时拉取所需要消费的服务列表。调用远程方法时直接从服务列表取得服务提供者地址,并建立长连接。

12
StarAgent/Program.cs Normal file
View File

@ -0,0 +1,12 @@
using System;
namespace StarClient
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}

View File

@ -0,0 +1,57 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>net45;netcoreapp2.1</TargetFrameworks>
<AssemblyTitle>星尘客户端代理</AssemblyTitle>
<Description>星尘,分布式资源调度,客户端代理部署于每一台机器节点,接受服务端命令,获取目标应用包并拉起进程。</Description>
<Company>新生命开发团队</Company>
<Copyright>版权所有(C) 新生命开发团队 2019</Copyright>
<Version>1.0.2019.0526</Version>
<FileVersion>1.0.2019.0526</FileVersion>
<AssemblyVersion>1.0.*</AssemblyVersion>
<Deterministic>false</Deterministic>
<OutputPath>..\BinClient</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='netcoreapp2.1'">
<DefineConstants>$(DefineConstants);__CORE__</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='net45'">
<DefineConstants>$(DefineConstants);__WIN__</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net45'">
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="NewLife.Core">
<HintPath>..\DLL\NewLife.Core.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='netcoreapp2.1'">
<PackageReference Include="System.ServiceProcess.ServiceController" Version="4.5.0" />
<Reference Include="NewLife.Core">
<HintPath>..\DLL20\NewLife.Core.dll</HintPath>
</Reference>
<Reference Include="NewLife.Agent">
<HintPath>..\DLL20\NewLife.Agent.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Stardust\Stardust.csproj" />
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="del &quot;$(TargetDir)*.xml&quot; /q" />
</Target>
</Project>

View File

@ -2,8 +2,8 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
<AssemblyTitle>星尘服务平台</AssemblyTitle>
<TargetFrameworks>net45;netcoreapp2.1</TargetFrameworks>
<AssemblyTitle>星尘分布式服务</AssemblyTitle>
<Description>星尘,分布式服务框架。分布式资源调度,服务自动注册和发现,负载均衡,动态伸缩,故障转移,性能监控。</Description>
<Company>新生命开发团队</Company>
<Copyright>版权所有(C) 新生命开发团队 2019</Copyright>
@ -11,11 +11,45 @@
<FileVersion>1.0.2019.0526</FileVersion>
<AssemblyVersion>1.0.*</AssemblyVersion>
<Deterministic>false</Deterministic>
<OutputPath>..\Bin</OutputPath>
<OutputPath>..\BinServer</OutputPath>
</PropertyGroup>
<ItemGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='netcoreapp2.1'">
<DefineConstants>$(DefineConstants);NETSTANDARD2_0</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='net45'">
<DefineConstants>$(DefineConstants);__WIN__</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
</PropertyGroup>
<ItemGroup Condition="'$(TargetFramework)'=='net45'">
<Reference Include="System.ServiceProcess" />
<Reference Include="System.Web" />
<Reference Include="System.Web.Extensions" />
<Reference Include="NewLife.Core">
<HintPath>..\DLL\NewLife.Core.dll</HintPath>
</Reference>
<Reference Include="XCode">
<HintPath>..\DLL\XCode.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup Condition="'$(TargetFramework)'=='netcoreapp2.1'">
<PackageReference Include="System.ServiceProcess.ServiceController" Version="4.5.0" />
<Reference Include="NewLife.Core">
<HintPath>..\DLL20\NewLife.Core.dll</HintPath>
</Reference>
<Reference Include="NewLife.Agent">
<HintPath>..\DLL20\NewLife.Agent.dll</HintPath>
</Reference>
<Reference Include="XCode">
<HintPath>..\DLL20\XCode.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
@ -23,18 +57,6 @@
<ProjectReference Include="..\Stardust\Stardust.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="NewLife.Agent">
<HintPath>..\DLL20\NewLife.Agent.dll</HintPath>
</Reference>
<Reference Include="NewLife.Core">
<HintPath>..\DLL20\NewLife.Core.dll</HintPath>
</Reference>
<Reference Include="XCode">
<HintPath>..\DLL20\XCode.dll</HintPath>
</Reference>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="del &quot;$(TargetDir)*.xml&quot; /q" />
</Target>

View File

@ -27,14 +27,8 @@
<PackageReleaseNotes>分布式服务框架</PackageReleaseNotes>
<AllowedOutputExtensionsInPackageBuildOutputFolder>$(AllowedOutputExtensionsInPackageBuildOutputFolder);.pdb</AllowedOutputExtensionsInPackageBuildOutputFolder>
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<IncludeSource>true</IncludeSource>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0-*" PrivateAssets="All" />
</ItemGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
<DefineConstants>$(DefineConstants);NETSTANDARD2_0;__CORE__</DefineConstants>
</PropertyGroup>
@ -45,6 +39,8 @@
<PropertyGroup Condition="'$(Configuration)'=='Debug'">
<DefineConstants>$(DefineConstants);DEBUG</DefineConstants>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
</PropertyGroup>
<ItemGroup>

View File

@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.168
# Visual Studio Version 16
VisualStudioVersion = 16.0.28922.388
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Stardust", "Stardust\Stardust.csproj", "{AADBD913-749C-467E-A63F-C118C4C82351}"
EndProject
@ -18,10 +18,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Stardust.WebFx", "Stardust.
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Test", "Test\Test.csproj", "{3B87711E-FF90-470B-A429-CFDF3B9B1F5F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Stardust.Server", "Stardust.Server\Stardust.Server.csproj", "{73B28F07-E99F-45A8-B9A0-90E7BAC133A3}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Stardust.Server", "Stardust.Server\Stardust.Server.csproj", "{73B28F07-E99F-45A8-B9A0-90E7BAC133A3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Stardust.ServerFx", "Stardust.ServerFx\Stardust.ServerFx.csproj", "{9A7251DD-7EE7-45C6-9EB6-F80789D3BCD7}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StarAgent", "StarAgent\StarAgent.csproj", "{0FF65D90-214F-405E-9674-6C0992BC61FD}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -56,6 +58,10 @@ Global
{9A7251DD-7EE7-45C6-9EB6-F80789D3BCD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A7251DD-7EE7-45C6-9EB6-F80789D3BCD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A7251DD-7EE7-45C6-9EB6-F80789D3BCD7}.Release|Any CPU.Build.0 = Release|Any CPU
{0FF65D90-214F-405E-9674-6C0992BC61FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{0FF65D90-214F-405E-9674-6C0992BC61FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
{0FF65D90-214F-405E-9674-6C0992BC61FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0FF65D90-214F-405E-9674-6C0992BC61FD}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE