Global Transaction Layer

授权协议 GPL
开发语言 Java
所属分类 程序开发、 数据库连接池
软件类型 开源软件
地区 国产
投 递 者 微生令
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

GTL(Global Transaction Layer)

一、需求目标:

  1. 提供数据库操作代理

  2. 提供可共享的持续性的事务操作

  3. 多数据源支持

  4. 数据源连接池支持

  5. 数据库读写分离支持

  6. 支持异构系统/分布式系统调用

  7. 长时间未提交事务, 自动超时回滚

  8. 支持事务嵌套使用

二、协议说明:

交互协议:

HTTP(s)    备注: 后期将支持Socket协议

数据交换格式:

JSON     二期使用MsgPack后以二进制流传输

请求协议:

HOST: http(s)://gtl.example.com METHOD: POST Entry: /api 请求参数: call={#接口名称, 如: beginTransaction} args={#接口参数集合, 要求必须为JSON. 如: {dsId: 'peizi'}} ua={#请求方UA,用来识别用户身份. 如: ios_client_ua} sign={#请求签名数据,签名规则见[签名生成算法].}

请求示例

http(s)://gtl.example.com/api?call=beginTransaction&args={dsId: 'peizi'}&ua=ios_client_ua&sign=asdflsadjflkjsafdljlaskjfdl

签名生成算法

const API_UA = "ios_client_ua";const API_SECKEY = API_UA."分配给子系统的签名密钥".API_UA;
$sign = md5( API_SECKEY . call . API_SECKEY . args . API_SECKEY );

响应标准: data 接口返回数据. 默认为 null. 根据业务不同可以为数组 或 其他任意对象 status 接口执行状态; 默认为1: 成功; 失败则为负值; message 接口返回的消息, 默认为: success; 如果接口不成功, 则消息为对应状态的错误描述

  • 1 等待任意Layer的buffer准备好 当BufferQueueLayer有新的buffer到来时,会调用之前在SurfaceFlinger中Layer的创建时注册的ContentsChangedListener的onFrameAvailable方法(frameworks/native/services/surfaceflinger/BufferQueueLayer.cpp): void Bu

  • SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。 Secure Socket Layer,为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据

  • 此文章是从Oracle官方博客上转载的,写的非常准确,正在翻译,先看看原文吧,链接已经失效。 FROM:https://blogs.oracle.com/mysqlinnodb/entry/introduction_to_transaction_locks_in Introduction Transaction locks are an important feature of any trans

相关阅读

相关文章

相关问答

相关文档