Microservices Architecture introduction

Microservices Architecture is a method or approach to developing applications where an application is deployed as a suite of independently deployed small modular services.

Each module supports a specific business goal and uses a simple, light weight and well-defined interface to communicate with other sets of services.

Oracle GoldenGate Microservices Architecture (MA) is a similar architecture based on REST APIs which enable us to configure, monitor, and manage Oracle GoldenGate services using a web-based user interface.

Oracle GoldenGate微服务架构(MA)是从GoldenGate 12.3引入的。基于REST API,用户通过网页就可以完成OGG服务进程配置,监控和管理全新微服务架构。

在Oracle GoldenGate 12.3 发布之后,我们部署OGG就有了新的选择。除了之前大家所熟知的经典架构(Classic Architecture),我们还可以选用微服务架构。而且微服务架构安装介质也是全新的,与传统的OGG架构安装方法有所不同。

下图是OGG微服务(下简称MA)的架构图:

OGG MA由以下5部分组成:

  • Service Manager
  • Administration Server
  • Distribution Server
  • Receiver Server
  • Performance Metrics Server

Service Manager: Service Manager是OGG MA的守护进程服务。它可以管理,监控和起停MA的其他服务。而且通过Service Manager可以管理多个本地OGG的部署。

以下是OGG微服务的Service Manager管理页面,您可以看到与之关联的OGG部署,服务类别,端口号,运行状态等。

Administration Server: Administration Server是管理和配置OGG数据同步进程的服务。您可以配置数据库登录凭据,添加更改抽取(extract)和应用(replicat)进程,以及查看运行报告,统计信息,添加附加日志,配置checkpoint、heartbeat表等。Administration Server将会取代GGSCI,当然在MA架构中仍然提供命令行工具AdminClient,绝大多数命令都是与经典架构相同的。

AdminClient位于OGG安装目录的bin目录下:

OGG MA架构需要通过以下的命令连接到OGG部署

通过预配的数据库凭据登录数据库

dblogin useridalias oggsrc

通过help命令查看帮助:

您也可以通过下面的链接查看详细的AdminClient命令手册。

https://docs.oracle.com/goldengate/c1230/gg-winux/GGSAU/how-use-admin-client.htm#GGSAU-GUID-84B33389-0594-4449-BF1A-A496FB1EDB29

Distribution Server: Distribution Server可以理解为OGG投递进程的替代者。在Distribution Server之中,可以配置trail文件投递的源端和目标端,以及彼此联通的网络协议。

Receiver Server:Receiver Server可以理解为Collector进程的替代者。它用来接收由Distribution Server传送过来的trail文件。

Performance Metrics Server: Performance Metrics Server是MA提供的实时性能监控服务。它可以通过网页展示各个服务和OGG进程的消息总览和状态变化总览。我们还可以通过点击进程来向下钻取来查看详细信息如:进程,线程性能指标,trail 文件,数据库,缓存,队列统计信息等。

OGG MA提供了更为易用的UI界面和丰富的监控工具。在接下来的文章中,我们将陆续介绍OGG MA的安装过程,以及通过OGG MA快速在网页上几分钟建立起一整套OGG 数据同步进程,敬请关注。

Oracle GoldenGate 12.3微服务架构系列之安装配置#1

1.下载安装介质

OTN下载Oracle GoldenGate 12.3.0.1.2 Microservices for Oracle(最新版为12.3.0.1.2):

2. 安装OGG MA

本文以12.3.0.1.0版本为例,

注意,本文选用Oracle  Database 12c。选择安装目录:

总览:

开始安装:

安装完成:

3. 通过OGG 配置助手创建OGG部署

3.1. 运行oggca

运行$OGG_HOME/bin目录下oggca.sh

3.2. 为OGG部署选择$OGG_HOME之外的一个目录

指定主机名,端口号,设置Service Manager作为守护进程。

3.3. 添加一个GoldenGate 部署

3.4. 命名OGG部署

Software home 默认值为: $OGG_HOME.

3.5. 选择OGG部署文件夹

我们也可以为配置文件自定义目录

3.6. 填写所需的环境变量值

3.7. 配置OGG MA 管理员用户名密码

本示例中没有配置SSL/TLS,下一步

3.8. 为MA的服务配置各自的端口号

3.9. 填写默认的数据复制schema

这里选择了示例数据库的SCOTTschema。

3.10. 安装配置信息纵览

也可以保存响应文件,OGG MA配置助手支持静默配置。

3.11. 使用root账号运行registerServiceManager.sh

3.12. 配置完成,点击Close

Oracle GoldenGate 12.3微服务架构系列之安装配置#2

1. 连接OGG MA Service Manager

通过主机名/IP加端口号(9000)连接到OGG MA Service Manager

下图是OGG MA服务总览信息:

2. 连接OGG MA Administration Server

通过主机名/IP加端口号(9001)连接到OGG MA Administration Server

3. 添加数据库登录凭据

点击界面左侧红色菜单

点击界面中Configuration,然后点击加号添加 Credential.

填写所要访问的数据库用户名、密码。

我们可以通过点击Action下的登录按钮测试我们的数据库连接。这里我们创建了源端和目标端pdb以及CDB的登录凭据。

本示例将在同一CDB下2个PDB进行数据同步。源端为pdbsrc,目标端为pdbtgt。

4. 添加附加日志

在Trandata上点击加号按钮,填写相应信息,点击Submit。

您可以添加schema级别或者表级别的附加日志。

添加Checkpoint表

Oracle GoldenGate 12.3微服务架构系列之安装配置#3

5. 创建捕获进程

新建一个Extract

选择集成模式:

填写Extract进程的基本信息:

选择注册信息PDBSRC。

Extract参数文件的基本信息MA已经为您草拟好了,我们只需要填写要传输的表的信息。

保存配置好的参数文件,在Action下拉箭头点击创建并运行。如下图所示extract进程已经运行起来了。

如果您想查看这个捕获进程的详细信息,可以点击Action->Detail查看。详细信息如下图:

可以点击Parameters来查看捕获进程的参数文件,可以点击铅笔的图标进行编辑。

可以点击 Report标签,查看运行报告。

6. 创建投递进程

登录到 OGG MA Distribution Server。

点击加号图标,来创建一个path。填写基本信息。

保存,这样一个path就创建结束了。

我们可以查看path的详细信息。

统计信息如下:

7.创建应用进程

连接到Administration Server。

点击Replicats附近的加号图标来创建应用进程。

这里我们选择集成模式应用。

填写应用进程的基本信息。

在参数文件中填加表的映射关系。

点击下一步,我们的应用进程已经如下图创建完毕。

至此我们OGG MA的数据复制进程已经配置完毕了。

8.Performance Metrics Server

通过端口号9004来访问Performance Metrics Server。

我们点击相应的进程来查看详细信息:

如Exthri,可以监控的信息还是非常丰富的,而且是实时的,而且我们可以点击Pause保持当前画面进行分析。

谢谢各位。

Oracle GoldenGate 12.3微服务架构指北的更多相关文章

  1. GoldenGate 12.3微服务架构与传统架构的区别

    随着Oracle GoldenGate 12c(12.3.0.1.0)的发布,引入了可用于复制业务数据的新架构. 多年来,这种架构有着不同的称谓,Oracle终于在最后GA发布的版本中,以“Micro ...

  2. 学习一下 SpringCloud (一)-- 从单体架构到微服务架构、代码拆分(maven 聚合)

    一.架构演变 1.系统架构.集群.分布式系统 简单理解 (1)什么是系统架构? [什么是系统架构?] 系统架构 描述了 在应用程序内部,如何根据 业务.技术.灵活性.可扩展性.可维护性 等因素,将系统 ...

  3. Oracle GoldenGate微服务架构的服务Shell脚本

    Oracle GoldenGate微服务架构的/etc/init.d下的OracleGoldenGate服务Shell脚本: #!/bin/sh # # Oracle GoldenGate Servi ...

  4. 微服务架构 | 12.1 使用 Apache Dubbo 实现远程通信

    目录 前言 1. Dubbo 基础知识 1.1 Dubbo 是什么 1.2 Dubbo 的架构图 1.3 Spring Cloud 与 Dubbo 的区别 1.4 Dubbo 的特点 1.5 Dubb ...

  5. 基于 Docker 的微服务架构实践

    本文来自作者 未闻 在 GitChat 分享的{基于 Docker 的微服务架构实践} 前言 基于 Docker 的容器技术是在2015年的时候开始接触的,两年多的时间,作为一名 Docker 的 D ...

  6. 微服务架构集大成者—Spring Cloud (转载)

    软件是有生命的,你做出来的架构决定了这个软件它这一生是坎坷还是幸福. 本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义. 1 背景 2 ...

  7. 几种常见的微服务架构方案简述——ZeroC IceGrid、Spring Cloud、基于消息队列

    微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果.虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合 ...

  8. 几种常见的微服务架构方案——ZeroC IceGrid、Spring Cloud、基于消息队列、Docker Swarm

    微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果.虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合 ...

  9. Re:从0开始的微服务架构:(一)重识微服务架构--转

    原文地址:http://www.infoq.com/cn/articles/micro-service-architecture-from-zero?utm_source=infoq&utm_ ...

随机推荐

  1. H3C 示例:根据主机地址数划分子网

  2. Python3装饰器的使用

    装饰器 简易装饰器模板 def wrapper(func): def inner(*args,**kwargs): print('主代码前添加的功能') ret=func(*args,**kwargs ...

  3. 深浅Copy的理解

    在python里对对象进行拷贝有三个,即赋值,深拷贝,浅拷贝. 而对象又分为两种,一种是不可变对象(字符串.元组.数字 ),一种是可变对象(列表.字典). 而深浅拷贝有三种情况:拷贝的是不可变对象.拷 ...

  4. Spring Security学习笔记-自定义Spring Security过滤链

    Spring Security使用一系列过滤器处理用户请求,下面是spring-security.xml配置文件. <?xml version="1.0" encoding= ...

  5. IntPtr、Struct 相互转换

    一般写c#代码基本用不到 相互转换 只有调用c++中的dll动态库的时候才用的到 struct转intptr public static IntPtr StructToIntPtr<T>( ...

  6. Java 学习笔记(11)——多线程

    Java内部提供了针对多线程的支持,线程是CPU执行的最小单位,在多核CPU中使用多线程,能够做到多个任务并行执行,提高效率. 使用多线程的方法 创建Thread类的子类,并重写run方法,在需要启动 ...

  7. javascript继承的几种方法

    继承是面向对象编程中很重要的概念,在其它面向对象的语言中大都很简单,例如java中有关键词extends来实现 javascript语言在ES6也新增了extends关键词可以实现继承,用法与java ...

  8. zabbix监控mysql脚本(仅供参考)

    mysql客户端添加 /etc/zabbix/zabbix_agentd.d.userparameter_mysql.conf UserParameter=mysql.version,mysql -V ...

  9. 【转载】实现a元素href URL链接自动刷新或新窗口打开

    又是我偶像的新文,这个小技巧的用户体验真的非常非常棒! 文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/ 原文链接:https://www.zhangxinxu ...

  10. 洛谷$P3226\ [HNOI2012]$集合选数 状压$dp$

    正解:$dp$ 解题报告: 传送门$QwQ$ 考虑列一个横坐标为比值为2的等比数列,纵坐标为比值为3的等比数列的表格.发现每个数要选就等价于它的上下左右不能选. 于是就是个状压$dp$板子了$QwQ$ ...