-
Notifications
You must be signed in to change notification settings - Fork 1.2k
异常处理
贺贤懋 edited this page Aug 13, 2014
·
13 revisions
一、 单库,非事务
- 前端连接异常
a)关闭正在执行的后端连接
- 后端连接异常
a)关闭该后端连接
b)消息通知前端,执行异常。
- 后端业务异常
a)释放该后端连接
b)消息通知前端,执行异常。
二、 单库,事务
- 前端连接异常
a)关闭当前正在执行的后端连接
b)回滚并释放执行完成的后端连接
- 后端连接异常
a)关闭该后端连接
b)回滚并释放执行完成的后端连接
c)标识当前连接不可继续事务,除非前端主动回滚当前事务。
d)消息通知前端,执行异常。(当前事务不可继续)
- 后端业务异常
a)保持该后端连接
b)消息通知前端,执行异常。(当前事务可继续)
三、 多库,非事务
- 前端连接异常
a)关闭正在执行的后端连接
b)释放执行完成的后端连接
- 后端连接异常
a)关闭该后端连接
b)等待其他后端连接执行结束
c)释放执行完成的后端连接
d)消息通知前端,执行异常。
- 后端业务异常
a)等待其他后端连接执行结束
b)释放所有连接
c)消息通知前端,执行异常。
四、 多库,非事务(隐含事务:修改数据的语句在多个分库中执行)
- 前端连接异常
a)关闭正在执行的后端连接
b)回滚并释放执行完成的后端连接
- 后端连接异常
a)关闭该后端连接
b)等待其他后端连接执行结束
c)回滚并释放执行完成的后端连接
d)消息通知前端,执行异常。
- 后端业务异常
a)等待其他后端连接执行结束
b)回滚并释放所有连接
c)消息通知前端,执行异常。
五、 多库,事务
- 前端连接异常
a)关闭正在执行的后端连接
b)回滚并释放执行完成的后端连接
- 后端连接异常
a)关闭该后端连接
b)等待其他后端连接执行结束
c)回滚并释放执行完成的后端连接
d)标识当前连接不可继续事务,除非前端主动回滚当前事务。
e)消息通知前端,执行异常。(当前事务不可继续)
- 后端业务异常
a)等待其他后端连接执行结束
b)回滚并释放所有连接
c)标识当前连接不可继续事务,除非前端主动回滚当前事务。
d)消息通知前端,执行异常。(当前事务不可继续)