开发指南090-使用python做微服务

平台的后台涉及到业务部分的使用java开发,基于springcloud。

涉及到大数据、AI、网页爬虫等领域的使用python开发。

使用python开发微服务过程如下:

1、读取bootstrap.yaml配置

def read_yaml(file):

'''读取配置文件'''

with open(file, 'r', encoding='utf-8') as f:

return yaml.load(f.read(), Loader=yaml.FullLoader)

2、从nacos中获取配置

def get_conf(config_dict):

'''

从naocs上获取配置信息,将配置变量声明为全局变量,供调用

:return: dict配置信息

'''

global nacos_conf

config_server = config_dict'server'

client = nacos.NacosClient(config_server'address', namespace=config_server'namespace')

nacos_conf = client.get_config(data_id=config_server'dataid', group=config_server'group')

nacos_conf = yaml.load(nacos_conf, Loader=yaml.FullLoader)

return nacos_conf

3、启动后注册服务

def regis_server_to_nacos(config_dict):

'''注册服务到nacos'''

config_server = config_dict'server'

client = nacos.NacosClient(config_server'address', namespace=config_server'namespace')

client.add_naming_instance(config_server'name', ip=IOUtil.getHost(), port=config_server'port', cluster_name=None, weight=1, metadata=None, enable=True, healthy=True, ephemeral=False, group_name=config_server'group')

4、接口服务(引入swagger)

from flask import Flask, request, jsonify

app = Flask(name)

swagger = Swagger(app)

@app.route('/QLM-Scrapping/scrapSingleTask/<task_id>', methods='POST', 'GET')

@swag_from('scrapSingleTask.yaml')

def get_scrape_single_task(task_id):

5、访问数据库

import pymysql

config = nacos_conf'mysql'

conn = pymysql.connect(

host=config'host',

port=config'port',

user=config'user',

password=config'password',

db=config'db',

charset='utf8',

autocommit=True, # 如果插入数据,, 是否自动提交? 和conn.commit()功能一致。

)

cur = conn.cursor()

cur.execute(sql)

相关推荐
梦梦代码精2 小时前
2026年PHP开源商城系统实测对比:架构、多商户、商用授权,谁才是真·省心?
vue.js·docker·架构·开源·代码规范
杨了个杨89823 小时前
Keepalived + Nginx + HAProxy 高可用架构部署实战案例
java·nginx·架构
56AI4 小时前
360 智语 AI 企业智能体平台深度评测:从 L4 蜂群架构到政企落地实战
人工智能·架构
鹤落晴春5 小时前
【K8s】Pod调度、configMaps
云原生·容器·kubernetes
张忠琳5 小时前
【runc 1.4.2】(Part 2)runc 1.4.2 超深度分析 — CLI层:main.go、命令文件、runner、信号处理、TTY
云原生·kubernetes·runc
youngerwang5 小时前
【从搬运工到协处理器:网卡芯片架构、算法、验证与边缘演进深度剖析】
网络·算法·架构·芯片
老毛肚6 小时前
JeecgBoot 后端架构与技术栈全景导读 01
架构
@insist1236 小时前
系统架构设计师-操作系统进程管理核心知识点详解
架构·系统架构·软考·系统架构设计师·软件水平考试
●VON7 小时前
AtomGit Flutter鸿蒙客户端:用户资料
flutter·华为·架构·跨平台·harmonyos·鸿蒙
SL-staff7 小时前
Web 白板技术架构深度解析:从渲染到协作的选型哲学
前端·架构