Skip to content
FROM mcr.microsoft.com/dotnet/sdk:6.0.422 as builder
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster as builder
WORKDIR /app
COPY . .
RUN dotnet nuget Disable source "nuget.org" && \
dotnet nuget add source "http://nuget.cdn.azure.cn/v3/index.json" -n "azure"
# RUN dotnet restore && \
# dotnet build && \
# dotnet publish -c release -r linux-musl-x64 -o /cartservice
RUN dotnet restore cartservice.csproj -r linux-musl-x64
COPY . .
RUN dotnet publish cartservice.csproj -r linux-musl-x64 --self-contained true -p:PublishTrimmed=False -p:TrimMode=Link -c release -o /cartservice --no-restore
RUN dotnet restore && \
dotnet build && \
dotnet publish -c release -r linux-musl-x64 -o /cartservice
# cartservice
FROM mcr.microsoft.com/dotnet/runtime-deps:6.0.28-alpine3.18-amd64
FROM alpine:3.8
# RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \
# wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \
......
......@@ -16,28 +16,17 @@ using System;
using System.IO;
using System.Threading;
using System.Threading.Tasks;
using System.Net;
using System.Security.Authentication;
using System.Collections.Generic;
using System.Diagnostics;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.AspNetCore.Connections.Features;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using cartservice.cartstore;
using cartservice.interfaces;
using CommandLine;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Microsoft.AspNetCore.Server.Kestrel.Core;
using System.Net;
using System.Security.Authentication;
using Microsoft.AspNetCore.Connections.Features;
using Grpc.Core;
using OpenTelemetry;
using OpenTelemetry.Trace;
using OpenTelemetry.Resources;
using OpenTelemetry.Exporter;
using OpenTelemetry.Instrumentation.AspNetCore;
using OpenTelemetry.Instrumentation.Http;
using Microsoft.Extensions.Configuration;
namespace cartservice
{
......@@ -57,7 +46,6 @@ namespace cartservice
switch (args[0])
{
case "start":
{
Console.WriteLine($"Started as process with id {System.Diagnostics.Process.GetCurrentProcess().Id}");
// Set hostname/ip address
......@@ -85,19 +73,9 @@ namespace cartservice
port = int.Parse(portStr);
}
Console.WriteLine($"Trying to start a grpc server at {hostname}:{port}");
Console.WriteLine("Insecure mode");
Console.WriteLine("Insecure mode!");
string[] warpperArgs = new string[args.Length + 1];
args.CopyTo(warpperArgs, 0);
var loggerFactory = LoggerFactory.Create(builder => {
builder.AddConsole()
.SetMinimumLevel(LogLevel.Debug); // 设置日志记录级别为Debug
});
var logger = loggerFactory.CreateLogger<Program>();
logger.LogDebug("Starting application...");
Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
......@@ -112,12 +90,10 @@ namespace cartservice
// webBuilder.UseUrls($"http://{hostname}:{port}");
}).Build().Run();
break;
}
default:
{
Console.WriteLine("Invalid command");
break;
}
}
}
}
......
此差异已折叠。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<OutputType>Exe</OutputType>
<UseAppHost>true</UseAppHost>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<EnableLongPaths>true</EnableLongPaths>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CommandLineParser" Version="2.6.0" />
<PackageReference Include="Grpc.AspNetCore" Version="2.60.0" />
<PackageReference Include="Grpc.HealthCheck" Version="2.60.0" />
<PackageReference Include="Grpc.Net.Client" Version="2.60.0" />
<PackageReference Include="Grpc.Tools" Version="2.60.0">
<PackageReference Include="CommandLineParser" Version="2.2.1" />
<PackageReference Include="Grpc.AspNetCore" Version="2.30.0" />
<PackageReference Include="Grpc.HealthCheck" Version="2.30.0" />
<PackageReference Include="Grpc.Net.Client" Version="2.30.0" />
<PackageReference Include="Grpc.Tools" Version="2.30.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Extensions.Configuration" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
<PackageReference Include="OpenTelemetry.Exporter.Console" Version="1.6.0" />
<PackageReference Include="OpenTelemetry.Exporter.Jaeger" Version="1.5.0" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.6.0" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.6.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.6.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.6.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.StackExchangeRedis" Version="1.0.0-rc9.10" />
<PackageReference Include="StackExchange.Redis" Version="2.6.122" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.1" />
<PackageReference Include="OpenTelemetry.Exporter.Jaeger" Version="0.5.0-beta.2" />
<PackageReference Include="OpenTelemetry.Exporter.Zipkin" Version="0.5.0-beta.2" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="0.5.0-beta.2" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="0.5.0-beta.2" />
<PackageReference Include="OpenTelemetry.Instrumentation.Grpc" Version="0.4.0-beta.2" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="0.5.0-beta.2" />
<PackageReference Include="OpenTelemetry.Instrumentation.StackExchangeRedis" Version="0.5.0-beta.2" />
<PackageReference Include="StackExchange.Redis" Version="2.1.58" />
</ItemGroup>
<ItemGroup>
......
......@@ -24,8 +24,7 @@ const options = {
tags: [{key: 'ip', value: process.env.POD_IP},
{key: 'name', value: process.env.POD_NAME},
{key: 'node_name', value: process.env.NODE_NAME}], // optional
host: process.env.JAEGER_HOST,
port: process.env.JAEGER_PORT, // optional
endpoint: 'http://' + process.env.JAEGER_HOST + ':' + process.env.JAEGER_PORT + '/api/traces',
maxPacketSize: 65000 // optional
}
......
......@@ -39,8 +39,7 @@ const options = {
tags: [{key: 'ip', value: process.env.POD_IP},
{key: 'name', value: process.env.POD_NAME},
{key: 'node_name', value: process.env.NODE_NAME}], // optional
host: process.env.JAEGER_HOST,
port: process.env.JAEGER_PORT, // optional
endpoint: 'http://' + process.env.JAEGER_HOST + ':' + process.env.JAEGER_PORT + '/api/traces',
maxPacketSize: 65000 // optional
}
......@@ -49,7 +48,7 @@ const provider = new NodeTracerProvider();
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
provider.register();
console.log("zipkin tracing initialized");
console.log("jaeger tracing initialized, " + process.env.JAEGER_HOST + ':' + process.env.JAEGER_PORT);
const path = require('path');
const HipsterShopServer = require('./server');
......