微服务快速开发

【中文使用说明书】
【英文使用说明书】
【框架核心代码】

oriole之禅:软件之道,唯快不破

准备工作

  1. 安装软件

    具体安装方法取决于你的系统,都比较简单。

    比如ubuntu使用apt-get,fedora使用yum。

    • python >= 3.6
    • mongodb
    • mysql
    • rabbitmq
    • redis
  2. 安装微服务框架oriole-service

    1
    pip install oriole-service

编写微服务配置

services.cfg

1
2
3
4
AMQP_URI:      ${RABBIT:pyamqp://test:test@127.0.0.1}                    
database: ${MYSQL:mysql://test:test@127.0.0.1/test?charset=utf8}
test_database: ${TEST_MYSQL:mysql://test:test@127.0.0.1/test?charset=utf8}
datasets: ${REDIS:redis://127.0.0.1/0}

编写微服务数据对象

dao/__init__.py

1
2
3
4
5
6
from oriole_service.db import *

class Eric(Base):
__tablename__ = 'eric_table'
uid = Column(types.Integer(), primary_key=True, autoincrement=True)
param = Column(types.Unicode(255), unique=None, default='')

编写微服务代码,比如日志服务

services/log.py

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)

运行日志服务

老风格使用oriole run,新风格统一使用o r

1
o r log

运行控制台

老风格使用oriole shell,新风格统一使用o s

控制台中新的调用方式,如:log_service.ping()

1
o s

停止日志服务

1
o h log

自动微服务文档

1
o d

检查所有运行中的微服务,使用o s可以查看所有联机的微服务

创建镜像

如果你没有docker的使用经验,那么本节可以略过,或者努力学会使用docker。

创建镜像,如日志镜像。

1
o b log

现在,你可以将log_service镜像部署到kubernetes.

注意

本软件可以自由使用,但是作者不对使用本软件出现的任何损失承担责任。