架构:两地三中心
两地三中心
为什么要做多活
一般在同城距离近的地方做两个服务器 然后另一台服务器在其他城市。
两地三中心
一般在同城距离近的地方做两个服务器 然后另一台服务器在其他城市。
架构:mysql数据库集群
高可用性:故障检测及迁移,多节点备份。
可伸缩性:新增数据库节点便利,方便扩容。
负载均衡:切换某服务访问某节点,分摊单个节点的数据库压力。
https://blog.csdn.net/love_eat_peach/article/details/131053037
ACT_HI_IDENTITYLINK
流程部署对应的实现是 DeployCmd,会首先产生一个 DeploymentEntity 代表这一次部署,然后存入 ACT_RE_DEPLOYMENT 表中,部署的流程则会变成 ProcessDefinitionEntity 存入 ACT_RE_PROCDEF 表中,并且在该表中通过 DEPLOYMENT_ID_ 表示该流程定义是在哪一次部署中部署的,在 Activiti 中,一次部署是可以部署多个流程的,所以在 ACT_RE_PROCDEF 可能有多条记录对应一个 Deployment。
上一节给出的那堆 xml 配置是存在哪里的呢?这个配置没有和 ProcessDefinitionEntity 存储在一起,而是单独作为 ResourceEntity 存储在了 ACT_GE_BYTEARRAY 表中。ResourceEntity 表示部署对应的”资源“,主要是一些有可能很大的配置,比如 bpmn xml,表单配置或者DMN配置等,通过 DeploymentEntity 的 getResources 方法可以惰性获得该部署所有的资源。Activiti 这么设计也是非常合理的,因为关系型数据库中单条记录太长会影响查询性能,所以这种由用户配置,有可能非常长的字段应该拆开到另一张表中去,需要的时候再根据 RESOURCE_NAME_ + DEPLOYMENT_ID_ 从 ACT_GE_BYTEARRAY 中惰性加载出来。
以我的一个请假流程来进行说明。我这个请假流程曾经进行过12次修改 所以会在ACT_RE_PROCDEF产生12条数据。
然后相应的在ACT_GE_BYTEARRAY表中根据DEPLOYMENT_ID_ 进行查询 例如查询 第12次部署的数据。
至此 工作流的部署工作就完成了。