74 lines
2.2 KiB
Python
74 lines
2.2 KiB
Python
"""GVS-DSDK MSYNC 子包
|
||
|
||
将 MSYNC 相关模块统一组织在 gvsdsdk.msync 命名空间下。
|
||
|
||
自有实现(无 Django 依赖,子服务器可直接使用):
|
||
- auth: HMAC-SHA256 签名验证、服务令牌编解码
|
||
- client: 微服务通信客户端(REST)
|
||
- local_tx: 本地事务步骤处理器
|
||
|
||
服务端转发(依赖 Django ORM,仅在主服务器可用):
|
||
- registry: 服务注册/发现
|
||
- ogm: 对象全局映射
|
||
- transaction: Saga 分布式事务
|
||
"""
|
||
|
||
# 自有实现(无 Django 依赖,始终可用)
|
||
from gvsdsdk.msync.auth import ( # noqa
|
||
SignPayload,
|
||
VerifySignature,
|
||
GenerateChallenge,
|
||
BuildAuthPayload,
|
||
SignAuthPayload,
|
||
VerifyAuthPayload,
|
||
ServiceTokenEncoder,
|
||
)
|
||
from gvsdsdk.msync.client import ServiceClient, ServiceClientError # noqa
|
||
from gvsdsdk.msync.local_tx import LocalTransactionManager, StepHandler, local_tx # noqa
|
||
|
||
# 服务端转发(Django ORM 依赖,延迟导入避免子服务器初始化报错)
|
||
def __getattr__(name):
|
||
_server_exports = {
|
||
'ServiceRegistry': 'gvsdsdk.msync.registry',
|
||
'RegistryError': 'gvsdsdk.msync.registry',
|
||
'OGMManager': 'gvsdsdk.msync.ogm',
|
||
'OGMError': 'gvsdsdk.msync.ogm',
|
||
'TransactionManager': 'gvsdsdk.msync.transaction',
|
||
'TransactionError': 'gvsdsdk.msync.transaction',
|
||
'StepExecutionError': 'gvsdsdk.msync.transaction',
|
||
}
|
||
if name in _server_exports:
|
||
import importlib
|
||
mod = importlib.import_module(_server_exports[name])
|
||
return getattr(mod, name)
|
||
raise AttributeError(f'module {__name__!r} has no attribute {name!r}')
|
||
|
||
|
||
__all__ = [
|
||
# auth (自有)
|
||
'SignPayload',
|
||
'VerifySignature',
|
||
'GenerateChallenge',
|
||
'BuildAuthPayload',
|
||
'SignAuthPayload',
|
||
'VerifyAuthPayload',
|
||
'ServiceTokenEncoder',
|
||
# client (自有)
|
||
'ServiceClient',
|
||
'ServiceClientError',
|
||
# local_tx (自有)
|
||
'LocalTransactionManager',
|
||
'StepHandler',
|
||
'local_tx',
|
||
# registry (服务端转发)
|
||
'ServiceRegistry',
|
||
'RegistryError',
|
||
# ogm (服务端转发)
|
||
'OGMManager',
|
||
'OGMError',
|
||
# transaction (服务端转发)
|
||
'TransactionManager',
|
||
'TransactionError',
|
||
'StepExecutionError',
|
||
]
|