云计算环境下应用架构的设计思考

最近参与总局的云计算双活方案:

计划北京中心和广州灾备中心能共享资源实现应用系统的双活,实际方案设计时,遇到了一个比较麻烦的问题,北京中心和广州中心没办法从业务上区分,哪些请求发给北京,哪些请求发给广州,如果后端采用GoldenGate双向复制,如果双方同时操作一条数据记录,就可能出现混乱的情况。

虽然从GoldenGate技术上双向复制也是可以的,但最好业务上能区分出来,不出现业务上的交叉才最保险,如何实现此设计呢?

当前想到了如下几个实现方法:

1、按模块增加区域的配置,采用框架的请求按配置生成不同的参数,再在GTM中配置哪些模块指向北京,哪些模块指向广州。

2、对于时序性比较严格的业务,通过第三方领取任务的方式,避免同一任务多次被认领。

3、数据库设计上,如果能把表按业务、按区域加以拆分,也是可行的,这个方案感觉对应用设计的侵入性还是比较大的。

当然,在不修改应用的前提下,我们可以站在更高的角度,比如有5个应用,两个部署在北京,3个部署在广州,也能实现资源的有效利用,不过这就有些跑题了。

你可能感兴趣的:(框架,云计算,goldengate)