从开发到部署
需求分析和确认
功能完成和测试
实现和部署
服务接口调用
curl -X POST http://10.0.0.0:100/test -d ' {"test_id",20050625} '
开发使用的组建
--用于提供API服务接口 不同版本的参数有所不同
requests 用于回调访问接口 json.dumps(data)
Pillow 以及 opencv-python 用于读取和保存图片
torch 以及 torchvision 用户模型定义以及模型推理
PyMySQL 用于保存推理后的结果入库
os,system os文件路径处理
argparse 以及 configparser 用于命令行解析以及配置文件解析
threading 以及queue 用于 后台执行任务 threading 用于数据库连接池
datetime 以及time 时间格式以及时间记录
sql命令行 --创建数据库以及表格的命令以及 执行数据查询和插入命令
subprocess 用于执行命令行-- soure not found 情况注意处理 以及PATH变量的处理
logging 以及socket 文件日志以及网络日志
docker 后台执行命令以及 执行多条命令 bash -c
模块设置:
config log
middlewares model
task
环境配置
docker的映射以及对应的网络模式
Miniconda的配置环境
解析使用的包
1. cybe 对应的包 recorder_reader 以及 recorder_message
2. 对应的中间件以及接口 interface
3. 图片的处理 opencv
4.图片的编解码 gpu_jpeg
5.cmake的配置 以及对应环境
6.mysql的长时间链接保持 Pymysql 和
7.压缩和解压以及加密和解密
C++ 开发
1.安装 sudo apt-get install openssl libssl-dev
2.代码
3.编译命令或者cmake
gcc -o rsa_en rsa.cpp -lssl -lcrypto
whereis openssl
openssl version -a
在 Linux 系统中,OpenSSL 的默认安装路径通常如下:
二进制文件:/usr/bin/openssl
库文件 :/usr/lib/libssl.so 和 /usr/lib/libcrypto.so
配置文件 :/etc/ssl/openssl.cnf
意味着你的编译环境中缺少了某些必要的库或头文件,或者链接设置不正确。
--缺少
--多个版本-选用的版本不对
--配置不正确
1.检查是否安装了 OpenSSL 3.0
2.检查系统安装了几个openssl
服务化
服务化的一个好处就是,不限定服务的提供方使用什么技术选型,能够实现大公司跨团队的技术解耦
RESTful API
RPC(Remote Procedure Call Protocol)远程过程调用协议
典型的RPC实现包括:Dubbo、gRPC、Thrift、Netty等。 Netty是由JBOSS提供的一个java开源框架
gRPC(谷歌的) 、dubbo(阿里的)、Spring Cloud(Netflix(奈飞)) Thrift(FB的)
RPC框架要向调用方屏蔽各种复杂性,要向服务提供方也屏蔽各类复杂性
建立在Socket之上的一种多进程间的通信机制
本地过程调用,
在Windows编程中,称为LPC;
在linux编程中,更习惯称之为IPC,即进程间通信
企业间需要相互发现和调用对方提供的Web服务,
UDDI作为一个公共的、开放的服务注册中心,可以让企业将自己的Web服务信息发布到UDDI注册中心,从而使其他企业能够发现并调用这些服务
Feign 是一个声明式、模板化的 HTTP 客户端,它简化了编写 Web 服务客户端的过程<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
构建镜像的方式
方式一: 手动构造-探索各种情况
docker commit
docker save -o docker load -i
docker push
方式二: Dockerfile构建
docker build -t myimage:latest .
1.案例
/bin/sh: 1: source: not found
SHELL ["/bin/bash", "-c"]
RUN bash /opt/miniconda.sh -p /opt/miniconda -b
ENV PATH=/opt/miniconda/bin:${PATH}
RUN conda init
RUN source activate base && conda install image -y && pip install numpy
2.编译
RUN /bin/bash -c ' ./compile.sh'
参考