#microservice docker python

ORIOLE哲学

软件之道,唯快不破

设计目的

运用技术手段打造软件平台、提升研发效率,快速使用数据库、缓存、消息队列,强化整体代码风格。
oriole-service == dubbo | spring cloud, 如果没有软件平台,不必考虑本框架,杀鸡焉用牛刀。

准备工作

  1. 安装软件

注意:这些软件缺一不可,使用apt-get即可完成全部安装,实际开发会统一安装。

  • mongodb
  • mysql
  • rabbitmq
  • redis
  • python3.6
  1. 安装oriole-service

oriole-service是实现微服务的核心框架,实现了服务容器、测试、文档的自动化。

pip install oriole-service

配置 services.cfg

可以手工编辑,亦可使用o c统一配置。

1
2
3
4
AMQP_URI:      pyamqp://test:test@127.0.0.1
database: mysql://test:test@127.0.0.1/test?charset=utf8
test_database: mysql://test:test@127.0.0.1/test?charset=utf8
datasets: redis://127.0.0.1

编写服务 services/log.py

服务的简化版,编写完成后启动,可以使用o s远程调用。

1
2
3
4
5
6
7
8
9
10
from oriole_service.app import *

class LogService(App):
name = service_name(__file__)
ver = "1.0.0"

@rpc
def add(self, params={"param": "eric"}):
self.log.debug("# %s(%s)" % ("add", params))
return self._o(params)

运行服务

使用o r

o r log

运行客户端

o s

进入后,使用log_service.add()
该命令类似于dubbo的客户端和控制台。

自动创建文档

o d

创建镜像

如果没有docker经验,跳过本节。
每个微服务可以方便、快速地部署到docker、k8s中,不是本文要点,暂且不表。

o b log

声明

本软件可以自由使用,但是作者不对使用本软件出现的任何损失承担责任。
如有问题,请确保使用的是最新版本
如提PR,请注意代码风格与框架要保持完全一致,务必精简,否则不予接受。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×