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

相关推荐
云飞云共享云桌面1 天前
传统工作站 vs 云飞云共享云桌面:制造业设计云桌面选型深度对比
运维·服务器·前端·网络·3d·架构·制造
就改了1 天前
Windows 环境 SkyWalking 完整实操教程
windows·微服务·skywalking
java_cj1 天前
深入kubectl create源码:从YAML到Pod的完整链路拆解
运维·云原生·容器·kubernetes
步步为营DotNet1 天前
基于.NET Aspire 实现云原生应用的高效监控与可观测性
云原生·.net·wpf
IT新视界1 天前
星环科技ArgoDB:基于一体化架构构建数据全生命周期安全底座
数据库·科技·安全·架构
Java面试题总结1 天前
多区域架构:边缘节点、核心节点与跨区域写冲突
架构
2301_780789661 天前
零信任架构中,身份感知防火墙(IAFW)的部署要点与最佳实践
linux·运维·服务器·人工智能·tcp/ip·架构
lulu12165440781 天前
OpenRouter Fusion 多模型融合架构深度拆解:预算级模型组团打平 Fable 5,多模型协作才是 AGI 的正确打开方式?
java·人工智能·架构·ai编程·agi
极光技术熊1 天前
全栈项目部署实战指南:Java / Python / Vue / React 一站式搞定
程序员·架构
Solis1 天前
Raft:分布式系统的定海神针
后端·架构