GoldenGate 12.3微服务架构与传统架构的区别
随着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微服务架构与传统架构的区别的更多相关文章
- Oracle GoldenGate 12.3微服务架构指北
Microservices Architecture introduction Microservices Architecture is a method or approach to develo ...
- 微服务理论之二:面向微服务架构与传统架构、SOA对比,以及云化对比
一.Monolith 网上对Microservice进行介绍的文章常常以Monolith作为开头,我也不会例外.原因是,知道了Monolith的不便之后才能更容易地理解Microservice架构模式 ...
- 王院生:Apache APISIX 微服务网关极致性能架构解析
2019 年 10 月 27 日,又拍云联合 Apache APISIX 社区举办 API 网关与高性能服务最佳实践丨Open Talk 杭州站活动,Apache APISIX PPMC 成员王院生做 ...
- [转帖]从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑?
从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑? 2019-10-08 10:26:28 阿里云云栖社区 阅读数 54 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权 ...
- DDD CQRS架构和传统架构的优缺点比较
明天就是大年三十了,今天在家有空,想集中整理一下CQRS架构的特点以及相比传统架构的优缺点分析.先提前祝大家猴年新春快乐.万事如意.身体健康! 最近几年,在DDD的领域,我们经常会看到CQRS架构的概 ...
- 微服务框架Dubbo与Springcloud的区别
微服务框架Dubbo与Springcloud的区别 微服务主要的优势如下: 1.降低复杂度 将原来偶合在一起的复杂业务拆分为单个服务,规避了原本复杂度无止境的积累.每一个微服务专注于单一功能,并通过定 ...
- Spring Cloud微服务下的权限架构调研
随着微服务架构的流行,系统架构调整,项目权限系统模块开发提上日程,需要对权限架构进行设计以及技术选型.所以这段时间看了下相关的资料,做了几个对比选择. 一.架构图 初步设想的架构如下,结构很简单:eu ...
- 从 SOA 到微服务,企业分布式应用架构在云原生时代如何重塑?
作者 | 易立 阿里云资深技术专家 导读:从十余年前的各种分布式系统研发到现在的容器云,从支撑原有业务到孵化各个新业务,企业的发展离不开统一的.与时俱进的技术架构.本篇文章从企业分布式应用架构层面介绍 ...
- Anno微服务引擎与传统应用相融合
1.Anno是什么? Anno是一个微服务引擎.在此之前我们通过 Viper项目对Anno有一个基本的认识,并且Viper也受到的很多朋友的喜欢,截止发稿前Viper在GitHub收获了300多个星. ...
随机推荐
- MySQL大表优化方案 Mysql的row_format(fixed与dynamic)
转自:https://mp.weixin.qq.com/s/VY69wWlrVLjRtKU7ULrYGw 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除 ...
- java中Long的比较
Long的比较要用equals而不要用== 当Long为常量且常量值小于一个字节(<=127)时,两个Long指向同一个常量内容: Long userId=127L; Long authorId ...
- 单例模式多线程安全写法(double-lock-check)
原始版本 public static Object getInstance() { if (instance != null) { return instance; } instance = new ...
- 5.C#释放非托管资源1
释放非托管资源 在介绍释放非托管资源的时候,我觉得有必要先来认识一下啥叫非托管资源,既然有非托管资源,肯定有托管资源. 托管资源指的是.net可以自棕进行回收的资源,主要是指托管堆上分配的内存资源.托 ...
- JAVA编程思想学习笔记6-chap16-18-斗之气6段
1.java.util.Arrays package com.chengjie; import java.util.Arrays; import java.util.List; public clas ...
- VS2010 正在创建“Debug\test2.unsuccessfulbuild”,因为已指定“AlwaysCreate”。
问题一:VS2010 正在创建“Debug\test2.unsuccessfulbuild”,因为已指定“AlwaysCreate”. 方法解决: The relevant setting is i ...
- expect简介和使用例子
expect简介和使用例子 expect简介 expect是一款自动化的脚本解释型的工具. expect基于tcl脚本,expect脚本的运行需要tcl的支持. expect对一些需要交互输入的命 ...
- sql server得到某个数据库的所有表和所有字段
select b.name tablename,a.name as columnnamefrom sys.columns a,sys.objects b,sys.types cwhere a.obje ...
- BestCoder Round #55 ($)
C 构造一个矩阵,然后采用矩阵快速幂 #include <iostream> #include <algorithm> #include <string.h> #i ...
- 【2017-2-21】C#分支语句,分支嵌套,变量的作用域
分支语句 句式:if else(必须是if开头,可以是else if或者else结束,也可以直接结束) if(bool型比较表达式) { 如果上面的条件成立,则执行这里面的代码 } else if(b ...