五月天1

Dubbo框架图

Dubbo集群容错

使用:在@Service注解上

  • Failover(失败自动切换)
  • Failsafe(失败安全)
  • Failfast(快速失败)
  • Failback(失败自动恢复)
  • Forking(并行调用)
  • Broadcast(广播调用)

sharding-jdbc实现读写分离

事务的传播机制

REQUIRED(默认):支持使用当前事务,如果当前事务不存在,创建一个新事务。
SUPPORTS:支持使用当前事务,如果当前事务不存在,则不使用事务。
MANDATORY:中文翻译为强制,支持使用当前事务,如果当前事务不存在,则抛出Exception。
REQUIRES_NEW:创建一个新事务,如果当前事务存在,把当前事务挂起。
NOT_SUPPORTED:无事务执行,如果当前事务存在,把当前事务挂起。
NEVER:无事务执行,如果当前有事务则抛出Exception。
NESTED:嵌套事务(事务里开启一个事务),如果当前事务存在,那么在嵌套的事务中执行。如果当前事务不存在,创建一个新事物。

例子

1
2
3
4
5
6
7
外事务{
A();//事务.Required: 跟着回滚,和外事务是一个事务
B();//事务.Requires_new: 不会滚,创建了一个新事物
//给数据库插入数据

int i = 10/0;
}