数据服务_数据服务项目开发总结

从开发到部署

 需求分析和确认
 功能完成和测试
 实现和部署

服务接口调用

 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'

参考

posted @ 2025-08-06 19:21  辰令  阅读(6)  评论(0)    收藏  举报