开发指南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)

相关推荐
IT枫斗者28 分钟前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
AI自动化工坊4 小时前
Late框架技术深度解析:5GB VRAM实现10倍AI编码效率的工程架构
人工智能·5g·架构·ai编程·late
AI攻城狮4 小时前
Hermes 下启动 Sub Agent 失败的痛苦教训
云原生
空中海4 小时前
第六篇:架构篇 — 微服务、部署、高并发与专家级能力
微服务·云原生·架构
Wave8455 小时前
基于 STM32 + ESP8266 + W25Q64 的双核 OTA 底层架构总结
stm32·嵌入式硬件·架构
yongyoudayee6 小时前
CRM架构演进:从记录系统到执行引擎的技术解析
架构
源码宝6 小时前
基于 SpringBoot + Vue 的医院随访系统:技术架构与功能实现
java·vue.js·spring boot·架构·源码·随访系统·随访管理
有马贵将6 小时前
【5】微前端知识点总结
前端·架构
ting94520007 小时前
深入解析 Social Fetch 机制:原理、架构、应用场景、实战落地与性能优化全攻略
人工智能·性能优化·架构
ZOOOOOOU7 小时前
云边端协同架构下,门禁权限引擎的离线决策与策略续存实现
大数据·人工智能·架构