查看其它 2 个回答zhaoxiyi的回答

zhaoxiyizhaoxiyi资深电信行业解决方案架构师红帽企业级开源解决方案中心

1、通常为了对原有业务的兼容以及容器化改造的简易性,我们容器化的最初阶段都是直接使用原有数据对接模型的。比如仍然使用数据原有连接池,匹配外部数据库连接地址。但如我在PPT内容中谈到的,当应用具备一定规模,这一定会导致原有数据使用压力的增加,因此我们需要在业务的敏态改造中逐步提高数据对接层面的合理性与规划性。

2、为了提高数据对接层面的合理性与规划性,最佳方案是先通过一些技术对数据直连进行隔离。有Kafka就通过Kafka 隔离出读写层,没有 Kafka 可以通过 JBoss Data Virtualization 这样的数据源虚拟化工具进行面向原逻辑的抽象隔离,但需要注意的是 JBoss Data Virtualization 这样的数据源抽象工具对复杂 SQL 使用场景非常容易产生兼容性问题或性能问题。因此将原有的复杂 SQL 这种过程处理逻辑进行一定程度的面向对象改造是很有必要的。

3、如果服务无法完全进行数据源抽象适应,例如无法拆分复杂SQL,那么我们就必须通过一定的开发来实现面向对象数据源改造。此时可以配合Red Hat Data Grid 这样的数据网格技术来实现就近数据源适应的改造了。不要忘记了 Redhat DataGrid 产品可以直接支持 Redis 的所有能力,可以完全兼容 Memcache 使用,因此非常适合将单体数据缓存改为云化适应的数据网格。

4、有了中间的数据隔离技术,Kafka/JBoss Data Grid/JBoss Data Virtulazition 这些技术就可以与原有数据元之间的关系进行梳理。比使用 Redhat Change Data Capture 工具可以很轻松的帮助用户实现如数据同步,多数据中心同步,数据应急,数据灾备,数据异地多中心同步,数据一致性传递,多数据源一致性同步等等目标,同时这些技术之间的梳理就会变的比以前简单,顺便可以重新梳理原有的分库分表结构,读写分离结构等,更进一步提高原有数据使用质量。

软件开发 · 2020-04-02
浏览1394

回答者

zhaoxiyi
资深电信行业解决方案架构师红帽企业级开源解决方案中心
擅长领域: 云计算容器容器云

zhaoxiyi 最近回答过的问题

回答状态

  • 发布时间:2020-04-02
  • 关注会员:4 人
  • 回答浏览:1394
  • X社区推广