SA情绪分析

B站ID:老白嫖大怪兽
(有部署视频)
在这里感谢安木鸡的sentiment-analyzer项目

应用程序演示

该应用程序只有一个功能:它以一个句子作为输入,使用文本分析计算出句子的情感值。

SA情绪分析_第1张图片
从技术角度来看,这个应用程序由三个微服务组成。每个微服务都具有一个特定功能:

  • SA-Frontend:提供ReactJS静态文件访问的Nginx Web服务器。
  • SA-WebApp:处理来自前端请求的Java Web应用程序。
  • SA-Logic:执行情绪分析的Python应用程序。
    SA情绪分析_第2张图片

该应用程序的数据流

通过展示数据在它们之间的流动方式是对这种交互最好的说明:

  1. 客户端应用程序请求index.html(继而请求ReactJS应用程序的捆绑脚本)
  2. 用户与应用程序交互会触发对Spring WebApp的请求。
  3. Spring WebApp将情绪分析请求转发给Python应用程序。
  4. Python应用程序计算情感值并将结果作为响应返回。
  5. Spring WebApp将响应返回给React应用程序(然后将信息展示给用户)。

基于容器的web应用系统部署任务

将云梦公司开发的基于微服务架构的ChinaSkillsSA智能文本的情绪分析(Sentiment Analysis)的系统实现全容器化部署,该ChinaSkillsSA智能分析系统应用系统架构图如下:

模块 使用技术 说明
sa-frontend Node.js 前端项目,使用 Vue.js 开发。
sa-logic Python Flask 输入文本句子的情绪分析微服务,使用 Python 开发。
sa-webapp Spring Cloud Web服务,处理 sa-frontend 请求,调用 sa-logic 微服务,使用Java语言开发。

请将sa-frontend组件、sa-logic组件和sa-webapp组件按照要求进行容器化。

构建sa-frontend镜像

2.编写Dockerfile制作sa-frontend镜像,生成镜像名为chinaskillsa-frontend:v1.1,并推送其到私有仓库。具体要求如下: (2分)

(1)基于centos:7.5.1804基础镜像;

(2)指定作者为Chinaskill;

(3)安装nginx和npm工具;

(4)复制所有前端包到镜像内;

(5)设置服务自启动。

FROM centos:centos7.5.1804
MAINTAINER Chianskill
RUN rm -rf /etc/yum.repos.d/*
COPY ftp.repo /etc/yum.repos.d/
ENV VUE_APP_API_HOST=http://10.18.4.10:8080
WORKDIR /app
ADD sa-frontend-rely.tar.gz .
RUN yum -y install nginx nodejs npm -y \
  && npm run build \
  && mv dist/* /usr/share/nginx/html/
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

构建sa-logic镜像

2.编写Dockerfile制作sa-logic镜像,生成镜像名为chinaskill-logicsa:v1.1,并推送其到私有仓库。具体要求如下: (2分)

(1)基于centos:7.5.1804基础镜像;

(2)指定作者为Chinaskill;

(3)安装Python3.7;

(4)设置sa-logic服务开机自启。

FROM centos:centos7.5.1804
MAINTAINER Chianskill
RUN rm -rf /etc/yum.repos.d/*
COPY ftp.repo /etc/yum.repos.d/
WORKDIR /app
ADD pythonpip-rely.tar.gz .
RUN yum -y install python36 && \
  pip3 install -r requirements.txt --no-index --find-links=pip-pack/
EXPOSE 5000
CMD ["python3","app.py"]

构建sa-webapp镜像

3.编写Dockerfile制作sa-webapp镜像,生成镜像名为chinaskillsa-webapp:v1.1,并推送其到私有仓库。具体要求如下: (2分)

(1)基于centos:7.5.1804基础镜像;

(2)指定作者为Chinaskill;

(3)安装golang;

(4)复制webapp到镜像内并构建;

(5)设置服务自启动。

FROM centos:centos:7.5.1804
MAINTAINER Chianskill
RUN rm -rf /etc/yum.repos.d/*
COPY ftp.repo /etc/yum.repos.d/
WORKDIR /root
ADD sa-go-rely.tar.gz .
RUN yum install -y go \
  && go mod download  \
  && go build -o webapp .
EXPOSE 8080
CMD ["./webapp"]

编排服务

4.创建chinaskills-sa.yaml文件,使用上述镜像编排部署ChinaSkillsSA情感分析应用系统。(4分)

(1)容器1名称:sa-logic;镜像:chinaskillsa-logic:v1.1;端口映射:5000:5000

(2)容器2名称:sa-webapp;镜像:chinaskillsa-webapp:v1.1;端口映射:8080:8080

(3)容器3名称:sa-frontend;镜像:chinaskillsa-frontend:v1.1;端口映射:84:80

version: '3'
services: 
  logic:
    container_name: sa-logic
    image:  chinaskillsa-logic:v1.1
    ports:
      - "5000:5000"
      
  webapp:
    container_name: sa-webapp
    image:  chinaskillsa-webapp:v1.1
    ports:
      - "8080:8080"
    environment:
      - API_HOST=http://logic:5000
      
  frontend:
    container_name: sa-frontend
    image:  chinaskillsa-frontend:v1.1
    ports:
      - "84:80"
    depends_on:
      - webapp

SA情绪分析_第3张图片
SA情绪分析_第4张图片

情绪分析接口
请求:
curl -X POST \
  http://127.0.0.1:8080/analyse \
  -H 'Content-Type: application/json' \
  -d '{
	"sentence": "很酷噢"
}'

响应:
{
    "sentence": "很酷哦",
    "level": 9
}

SA情绪分析_第5张图片

你可能感兴趣的:(国赛,openstack,linux,centos,云计算,docker)