**eaglet —— Python微服务核心框架**
eaglet为开发python微服务提供了核心框架,每一个python微服务都使用eaglet进行开发。eaglet对于微服务的价值,类似于Django对于web开发的价值。
## 安装 ##
执行:
```
pip install git+https://git2.weizzz.com:84/microservice/eaglet.git
```
## 更新
```
pip install -U git+https://git2.weizzz.com:84/microservice/eaglet.git
```
## 安装指定分支、tag、commit
```
git+https://git2.weizzz.com:84/microservice/eaglet.git@master
git+https://git2.weizzz.com:84/microservice/eaglet.git@v1.0
git+https://git2.weizzz.com:84/microservice/eaglet.git@da39a3ee5e6b4b0d3255bfef95601890afd80709
```
## 如何使用 ##
使用geser生成微服务的codebase
## 集成mongo ##
在项目setting中配置:
```
DATABASES = {
...
'apps_default': {
'ENGINE': 'mongo', # used MongoDB
'NAME': 'app_data', # DATABASE NAME
'USER': None, # USERNAME
'PASSWORD': None, # PASSWORD
'HOST': 'mongo.apps.com', # HOST
"ALIAS": 'apps', # ALIAS
"PORT": 27017 # PROT
}
....
}
```
## 分布式celery:send_task ##
**应用场景**
消息模版需求:积分变动发送模版消息。目前微服务场景下,member_service,apiserver,zeus都会修改会员积分,所有使用消息队列方式,解决模版消息业务侵入各独立service。
接下缓存策略中缓存更新也将使用异步消息的方式。
**用法**:
from eaglet.core.utils.send_task import send_task
send_task(queue_name, args)
**说明**:
<queue_name> : 服务(队列名称)的名称。
**用法举例**:
integarl_log = {
"member_id":1,
"nick_name":"weizoom",
"event_type": "好友通过分享链接购买商品",
"increase_integral": 100,
"current_integral": 200
}
send_task("services.template_message_integral_service.tasks.service_tempate_message_integral", integarl_log)
# 启动API授权机制
1. **API service端**:为API Resource method增加 `@access_token_required()`。例如:
```python
from api.decorators import access_token_required
class AData(api_resource.ApiResource):
app = 'demo'
resource = 'data'
@param_required(['id'])
@access_token_required() # <--- 增加decorator
def get(args):
// ...
return {
"args": args
}
```
2. **Client端**:在settings中加上
```python
ENABLE_API_AUTH = True
APP_KEY = '<对应的app key>'
APP_SECRET = '<对应的secret>'
```
## API授权访问流程
1. 在`Hermes`中调用`Resource.use()`;
2. `eaglet.utils.resource_client.Resource` 向API service申请access_token(需要app_key和app_secret);
3. Hermes中获得的client再访问API时会加上access_token。
## TODO
需要将`resource_client.py`独立成一个插件,加上缓存access_token的DB Model。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
读书笔记:微服务基本框架基于restful原则开发.zip (124个子文件)
aa 144B
api_resource 144B
b_mall_9094 144B
b_mall_9094_2 144B
better_bdd 144B
better_pson 144B
clean 144B
config 263B
dev 144B
eaglet_mongo 144B
FETCH_HEAD 3KB
.gitignore 30B
handle_uncaught_exception 144B
HEAD 130B
HEAD 23B
http_connection_pool 144B
pack-af195e4fdb69042c44d35c84be8199e7aa252772.idx 34KB
index 8KB
keep_blank_qs_values 144B
last_bussines_frame 144B
log 144B
master 144B
master 130B
master 41B
README.md 3KB
api_return.md 3KB
api_service_response.md 2KB
ResourceClient.md 2KB
logs.md 2KB
README.md 45B
mysqldb 144B
new_watchdog 144B
no_log 144B
pack-af195e4fdb69042c44d35c84be8199e7aa252772.pack 248KB
packed-refs 2KB
param_required 144B
emojicons.py 263KB
peewee.py 157KB
weixin_api.py 14KB
emotion.py 12KB
dispatcher.py 11KB
saferef.py 10KB
debug.py 10KB
lock.py 10KB
utils.py 8KB
weixin_error_codes.py 7KB
resource_client.py 7KB
emojicons_util.py 7KB
utils.py 7KB
paginator.py 7KB
apps.py 6KB
event_handler_util.py 5KB
autoreload.py 4KB
api_upload_news.py 4KB
api_send_template_message.py 4KB
custom_message.py 4KB
runserver.py 4KB
jsonresponse.py 4KB
upyun_util.py 3KB
url_helper.py 3KB
upyun_util.py 3KB
api_send_mass_message.py 3KB
watchdog.py 3KB
hack_peewee.py 3KB
models.py 3KB
decorator.py 3KB
api_settings.py 2KB
string_util.py 2KB
api_get_user_info.py 2KB
manage.py 2KB
log.py 2KB
celeryconfig.py 2KB
sendmail.py 2KB
test.py 2KB
__init__.py 2KB
mongo_logger.py 2KB
watchdog_client.py 1KB
zipkin_client.py 1KB
setup.py 1KB
celery.py 1KB
dateutil.py 1KB
redirects.py 1KB
debug_middleware.py 1KB
send_task.py 1KB
static_resource.py 1KB
__init__.py 1KB
decorator.py 853B
service_console_resource.py 787B
__init__.py 782B
stack_util.py 777B
auth.py 735B
inner_resource.py 734B
exceptionutil.py 707B
celery_util.py 703B
api_resource.py 698B
zipkin_middleware.py 604B
common_util.py 441B
util.py 330B
__init__.py 297B
main.py 276B
共 124 条
- 1
- 2
资源评论
baidu_16992441
- 粉丝: 311
- 资源: 1041
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java和Vue的kopsoftKANBAN车间电子看板设计源码
- 影驰战将PS3111 东芝芯片TT18G23AIN开卡成功分享,图片里面画线的选项很重要
- 【C++初级程序设计·配套源码】第1期-语法基础
- 基于JavaScript、CSS、HTML的简易DOM版飞机游戏设计源码
- 基于Java开发的日程管理FlexTime应用设计源码
- SM2258XT-BGA144-4BGA180-6L-R1019 三星KLUCG4J1CB B0B1颗粒开盘工具 , EC, 3A, 94, 43, A4, CA 七彩虹SL300这个固件有用
- GJB 5236-2004 军用软件质量度量
- 30天开发操作系统 第 8 天 - 鼠标控制与切换32模式
- spice vd interface接口
- 安装Git时遇到找不到`/dev/null`的问题
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功