0

我负责开发一个内容交付应用程序,最近我们已经将我们的应用程序从单体架构转变为微服务,但不幸的是,我们在从 API 获取响应方面面临着难以置信的缓慢。API 大约需要 11 秒才能得到结果,如果我们在同一个移动应用页面上有 2 个请求,则需要很长时间!该服务不要求来自其他本地服务的任何数据。

旧规格(单片):

  1. DB 是 MSSSQL 服务器
  2. 后端代码 .Net 框架
  3. 宁静的 API
  4. 移动应用 React Native
  5. 2 个 AWS EC2 双核和每个 4 GB 内存

当前规范(微服务):

  1. 数据库是 MySQL
  2. 后端 .Net 核心
  3. 宁静的 API
  4. 移动应用颤振
  5. 负载均衡器下每个服务的 2 个 AWS ECS docker 也是双核的,每个服务 4 GB。

这是我的 Docker 文件:

# Define base image
FROM microsoft/dotnet:2.2-sdk AS build-env

# Copy project files
WORKDIR /source
COPY ["Magazines_Service/*.csproj", "./Magazines_Service.csproj"]

# Restore
RUN dotnet restore "./Magazines_Service.csproj"

# Copy all source code
COPY . .

# Publish
WORKDIR /source/Magazines_Service
RUN dotnet publish -c Release -o /publish

# Runtime
FROM microsoft/dotnet:2.2-aspnetcore-runtime
WORKDIR /publish
COPY --from=build-env /publish .
ENTRYPOINT ["dotnet", "Magazines_Service.dll"]

所有托管都在 AWS 上

我读过一些关于 docker-compose 的东西,但没有深入挖掘(我对 docker 和微服务架构非常陌生,所以你的帮助绝对是对我的补充)。

4

0 回答 0