随着Oracle GoldenGate 12c(12.3.0.1.0)的发布,引入了可用于复制业务数据的新架构。 多年来,这种架构有着不同的称谓,Oracle终于在最后GA发布的版本中,以“Microservices”的名义确认新架构的名称。Microservices架构有很多好处,这些好处应该让您暂停探索Oracle GoldenGate 12c的新功能。在我们进入微服务架构之前,让我们先看一下经典架构。在下图中,您将看到一个非常标准的传统Oracle GoldenGate架构实现。

在这种架构中,通过GoldenGate服务命令界面(GGSCI)来访问Oracle GoldenGate环境。登录GGSCI后,您可以交互并管理关联的进程,即管理进程,抽取(捕获),传输和复制(应用、投递)进程。数据接收进程(collector)隐含在目标系统上,但通过GGSCI看不到。在此体系结构中,数据通过TCP / IP在传输进程和数据接收进程之间将本地队列文件复制到远端,并对整个复制过程进行监控。

这种架构的缺点是,为了管理各个复制节点,您必须物理登录到运行Oracle GoldenGate的服务器。 但在真实的生产环境中,许多组织对直接访问服务器有许多限制,并经常引起争论谁是真正的Oracle GoldenGate所有者。

尽管Oracle GoldenGate的经典体系结构已经成为近20年来的复制基础,但Oracle希望利用这一基石改变我们(行业)当前复制数据的方式。这导致了更灵活和可扩展的微服务架构。 您可能已经猜到,“微服务”是“RESTful API”的归属单词。通过使用RESTful API,Oracle在复制产品上取得了巨大的飞跃。 该架构解决了OGG在管理和访问方面的局限性,同时保留了Oracle GoldenGate复制的基础功能。以下图片是一个简单的Oracle GoldenGate Microservices Architecture的视图,供参考。

正如您将看到的,有一些传统的Oracle GoldenGate组件被丢弃了,但抽取(捕获),队列文件和复制(应用)进程仍然保留。 由于这是一个全新的复制架构,具有许多好处,包括:

l 远程管理

l SSL支持

l 每个服务/服务器采用HTML 5网页展示

l 支持更多的复制协议(WSS,WS,UDT,OGG)

l 实时性能指标展示

为了了解Microservices架构,您必须了解架构中每个服务器(或服务)提供的内容。 所以,让我们先花一点时间从ServiceManager服务开始。

Service Manager

ServiceManager是一个复制环境中管理多个复制节点的看门狗(守护)进程。 理想情况下,该进程应该只启动一个实例。此过程可以配置为以下3种方式之一运行:

l 手动

l 作为一个守护进程

l 与XAG集成

当ServiceManager运行时,此进程将成为Oracle GoldenGate MA环境的主要入口。 在配置过程中,将要求您为每个要运行的MicroService服务分配端口。ServiceManager将是您分配的第一个端口。从ServiceManager的HTML5页面,您将可以看到所有的部署节点和关联的服务器及对应的服务进程。

AdminServer

AdminServer将会代替GGSCI(不用担心,在MA架构中仍然有命令行工具adminclient)和经典架构中的Manager的服务。从这里,您将能够设置您的凭据存储,抽取和复制进程。大多数Oracle GoldenGate管理员都会花时间在这里。另外,从这个服务,您可以钻取正在运行的进程并查看当前状态,统计信息,参数文件和报告文件。使您的管理工作更简单。

DistributionServer

DistributionServer是Data Pump Extract的替代品。该服务与数据传输进程功能完全相同,但转换除外。除了提供所有相同的功能,您还可以直观地显示您的队列文件从哪里读取和发送到哪里,在这个服务的概述页面即可看得很清楚。当您浏览DistributionServer的详细信息时,您可以看到关于正在读取和写入的队列文件的统计信息,并调整分发路径中的TCP / IP配置参数。

ReceiverServer

ReceiverServer是Collector进程的替代者。ReceiverServer的全部工作是接收来自DistributionServer传输过来的数据,并向ReceiverServer可见的目录写入队列文件。从这个服务的概述页面,您可以清楚地看到信息来自哪里以及它写的内容。就像DistributionServer一样,如果您查看此服务的详细信息,您可以看到很多有用的信息。

最后,是微服务架构中最有趣的服务,即:

Peformance Metrics Server(性能指标服务器)

终于,Oracle在GoldenGate中提供了实时性能监控服务。在您开始使用新的性能监视服务之前,您必须先具备GoldenGate提供的Oracle Managment Pack许可证,然后才能使用GUI或相关的度量标准API。如果你有这个需求,那么你可以在GUI和API中检索和使用这么多性能指标信息。这个功能还是值得一试的。

综上所述,对于需要使用数据复制的用户,这个新的MA架构带来了新的亮点。在MA架构中,有许多可以自定义的地方,它将改变我们如何在云端,混合环境中复制数据。

GoldenGate 12.3微服务架构与传统架构的区别的更多相关文章

  1. Oracle GoldenGate 12.3微服务架构指北

    Microservices Architecture introduction Microservices Architecture is a method or approach to develo ...

  2. 微服务理论之二:面向微服务架构与传统架构、SOA对比,以及云化对比

    一.Monolith 网上对Microservice进行介绍的文章常常以Monolith作为开头,我也不会例外.原因是,知道了Monolith的不便之后才能更容易地理解Microservice架构模式 ...

  3. 王院生:Apache APISIX 微服务网关极致性能架构解析

    2019 年 10 月 27 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 杭州站活动,Apache APISIX PPMC 成员王院生做 ...

  4. [转帖]从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑?

    从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑? 2019-10-08 10:26:28 阿里云云栖社区 阅读数 54   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...

  5. DDD CQRS架构和传统架构的优缺点比较

    明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析.先提前祝大家猴年新春快乐.万事如意.身体健康! 最近几年,在DDD的领域,我们经常会看到CQRS架构的概 ...

  6. 微服务框架Dubbo与Springcloud的区别

    微服务框架Dubbo与Springcloud的区别 微服务主要的优势如下: 1.降低复杂度 将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累.每一个微服务专注于单一功能,并通过定 ...

  7. Spring Cloud微服务下的权限架构调研

    随着微服务架构的流行,系统架构调整,项目权限系统模块开发提上日程,需要对权限架构进行设计以及技术选型.所以这段时间看了下相关的资料,做了几个对比选择. 一.架构图 初步设想的架构如下,结构很简单:eu ...

  8. 从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑?

    作者 | 易立 阿里云资深技术专家 导读:从十余年前的各种分布式系统研发到现在的容器云,从支撑原有业务到孵化各个新业务,企业的发展离不开统一的.与时俱进的技术架构.本篇文章从企业分布式应用架构层面介绍 ...

  9. Anno微服务引擎与传统应用相融合

    1.Anno是什么? Anno是一个微服务引擎.在此之前我们通过 Viper项目对Anno有一个基本的认识,并且Viper也受到的很多朋友的喜欢,截止发稿前Viper在GitHub收获了300多个星. ...

随机推荐

  1. equals和contains的区别

    equals只能判断两个变量的值是否相等.contains常用与集合中判断某个对象是否含有这个元素equals是需要两个对象完全相同才会返回true,而contains是要循环遍历容器里的所有内容后判 ...

  2. 将c语言的结构体定义变成对应的golang语言的结构体定义,并将golang语言结构体变量的指针传递给c语言,cast C struct to Go struct

    https://groups.google.com/forum/#!topic/golang-nuts/JkvR4dQy9t4 https://golang.org/misc/cgo/gmp/gmp. ...

  3. abap函数返回结构体类型

    1: 定义一个结构体 T-CODE   se11 2: 选择 structure 3:输入相应的字段 4:激活 5:创建一个function module zfm_return_table,返回类型为 ...

  4. [redis]redis常用

    https://redis.io/topics/quickstart $ redis-cli ping PONG redis-server is the Redis Server itself. re ...

  5. sort(排序) qsort(快排) bsearch(二分查找)

    sort: 一.对int类型数组排序 int a[100]; int cmp ( int a , int b ) //不必强制转换 { return a < b;//升序排列. } sort ( ...

  6. 【LeetCode每天一题】Search in Rotated Sorted Array(在旋转数组中搜索)

    Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.(i.e., ...

  7. canvas原生js写的贪吃蛇

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. MongoDB--预备

  9. (转载)Spring定时任务的几种实现

    spring框架定时任务 一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerT ...

  10. sqli-labs(五)——盲注(boolean盲注以及时间盲注)

    第八关: 没有查询信息,输入id=1' 报错 ,也没有报错信息,这里应该是个盲注 使用boolean的盲注吧 先判断boolean的盲注可行 输入id=1' and '1'='1' %23 页面正常 ...