考古:IT架构演进之IOE架构

考古:IT架构演进之IOE架构


  IOE架构(IBM, Oracle, EMC)出现在20世纪末至21世纪初,是一种典型的集中式架构体系。在这个阶段,企业的关键业务系统往往依赖于IBM的小型机(后来还包括大型机)、Oracle的关系型数据库管理系统以及EMC的高端存储解决方案。这种架构的优势在于其高度稳定、可靠且性能强大,但是扩展性差、成本高昂,且过于依赖单一供应商的技术栈。基于以上特点,该架构主要在金融、电信以及其他关键业务领域得到了广泛使用。
  这种架构强调高度集中、强大可靠且性能卓越,但在扩展性和成本效益方面存在局限性,尤其是在面对互联网时代的大规模、高并发和灵活扩展需求时就显得束手无策。

三大支柱

  这一架构主要由IBM小型机、Oracle数据库和EMC存储系统三大支柱构成,是过去企业级IT架构中的三个核心组成部分,它们在传统数据中心环境中发挥着至关重要的作用,并彼此之间有着密切的关联和相互依赖关系:
image.png

IBM(I)

  IOE架构中“I”通常指的是IBM的高性能服务器(IBM小型机,如Power Systems),这是一种高性能、高可靠性的计算平台,专为处理关键业务工作负载而设计,支持复杂的企业应用程序和数据库服务。IBM小型机通常具备出色的稳定性、可用性和可管理性,以及较强的处理能力,可以承载诸如Oracle数据库在内的关键应用。

Oracle (O)

  IOE架构中“O”通常指的是Oracle数据库管理系统(业界领先的商业关系型数据库管理系统),这是一个在全球范围内广泛应用的关系型数据库软件。适用于企业级数据存储和管理,提供高度可靠、可扩展的数据服务。Oracle数据库常用于处理大规模、高并发、对事务处理要求严格的业务场景,如金融交易记录、客户订单管理等。

EMC (E)

  IOE架构中“E”通常指的是EMC高端存储系统,是当时市场上备受青睐的企业级数据存储解决方案提供商,提供了一系列高性能、高容量、高可用的存储产品,满足企业对于海量数据存储和备份恢复的要求。EMC的产品包括磁盘阵列、NAS(网络附加存储)和SAN(存储区域网络)等,确保数据的安全性和访问效率。这些存储设备在为企业提供了可靠的、大容量的数据存储空间的同时,还通过高速的网络连接与IBM服务器和Oracle数据库配合,确保数据的高效存取和高可用性。

  综上,三者之间的关系可以概括如下:

  • IBM服务器为运行Oracle数据库提供坚实的硬件平台;
  • Oracle数据库在IBM服务器上运行,处理和存储企业的核心数据;
  • EMC存储系统与IBM服务器及Oracle数据库相联接,共同保障企业数据的安全存储和高效访问。

高可用实现

  IOE架构高可用的实现可从各个组成部分来拆分实现和操作系统、网络层面实现:

IBM

  硬件冗余与故障切换,IBM提供的系统通常具备高级别的硬件冗余设计,例如电源冗余、硬盘冗余(RAID)、内存镜像等。同时,许多IBM系统支持高可用集群(如PowerHA SystemMirror或HACMP),在主系统发生故障时,可以自动切换到备用系统,保持业务连续性。

Oracle数据库

  • RAC (Real Application Clusters):Oracle RAC允许数据库在多台服务器之间共享,形成一个集群。当某一台服务器宕机时,其他服务器可以无缝接管服务,保证数据库的不间断运行。
  • Data Guard: Oracle Data Guard通过创建数据库的备用实例,实时同步或异步复制主数据库的数据,以便在主数据库出现问题时,能够快速切换到备用实例继续提供服务。

EMC存储高可用

  • 存储阵列冗余:EMC的高端存储系统会采用多种冗余机制,如RAID、镜像、快照、复制等技术,确保数据在硬件故障时不会丢失。
  • 存储区域网络(SAN)和网络附加存储(NAS):通过SAN或NAS技术可以构建共享存储环境,支持多台服务器同时访问同一份数据,结合存储虚拟化技术实现存储资源的动态分配和故障转移。
  • Geo-Replication或类似异地灾备方案:用于实现跨地域的数据复制和恢复,即使主数据中心发生灾难性故障,也能在短时间内恢复业务。

操作系统层面的高可用设计

  集群技术:在操作系统级别,通过集群软件可以将多个系统组成一个高可用集群,当某个节点失效时,集群能快速检测并重新分配资源,确保服务不中断。

网络冗余与负载均衡

  在网络层面上,通过双路径或多路径网络设计,以及负载均衡器等设备,实现网络连接的冗余和流量分配,避免因网络故障导致的业务中断。
  综上所述,IOE架构通过整合IBM服务器的硬件冗余、Oracle数据库的集群技术以及EMC存储系统的冗余与灾备机制,辅以操作系统级别的集群管理和网络层面的冗余与负载均衡设计,旨在构建涵盖硬件、操作系统、数据库直至网络层面的全方位高可用体系,以确保企业关键业务的连续性和数据安全性。

高可用案例

  结合上述讲解的各类IOE组件、操作系统和网络实现高可用的方案中,IOE架构通常结合使用虚拟IP、心跳线以及进程清单等技术手段来实现高可用。
image.png

虚拟IP (VIP)

  虚拟IP地址是指在网络中不直接绑定到任何物理网卡上的IP地址,而是作为服务的访问入口。在高可用集群环境中,虚拟IP地址会被浮动地绑定到当前处于活跃状态的服务器上。
  当集群中的主服务器正常工作时,虚拟IP会绑定在该服务器的网络接口上,所有客户端请求都会通过虚拟IP发送到主服务器。
  当主服务器出现故障时,虚拟IP会自动漂移到备份服务器上,客户端无需感知服务器切换过程,仍可通过虚拟IP继续访问服务,从而实现服务的无缝切换。

心跳线

  心跳线(Heartbeat)是集群成员之间用来监测对方健康状况的一种通信机制。集群内的每台服务器定期发送心跳消息给其他服务器,表示自身仍在正常运行。
  如果主服务器停止发送心跳消息,那么备份服务器就会认为主服务器已出现故障,并启动接管程序,将虚拟IP地址绑定到自己身上,接手服务提供任务。
  心跳线不仅可以监测服务器是否在线,还可以交换必要的集群状态信息,如哪个节点正在提供服务、是否有资源变动等。

进程清单

  进程清单是指集群内定义的一系列关键业务进程及其监控规则。在高可用集群软件(如Linux-HA项目中的Heartbeat、IBM PowerHA、Oracle RAC等)中,会明确指定哪些服务或进程需要保持高可用性。
  当主服务器出现故障,心跳线检测到异常后,备份服务器不仅会接管虚拟IP,还会按照预设的进程清单启动相应的服务进程,确保业务连续性。
  同样,当主服务器恢复正常时,备份服务器会释放虚拟IP并将服务切换回主服务器,保持集群环境的稳定和平衡。

  综合以上三种技术,IOE架构可以通过虚拟IP实现服务访问的统一入口和故障切换,通过心跳线实现实时监控和故障检测,通过进程清单确保关键业务的自动恢复和迁移,从而达到高可用目标。不过,具体的实施细节会根据不同的IOE组件(如IBM AIX系统上的PowerHA、Oracle数据库的RAC等)和相关集群管理软件的具体功能有所差异。

去IOE运动

  IOE架构的主要特点是高度集中和专业化,这样的架构在过去的IT环境中非常受欢迎,因为它能够提供极高的稳定性和服务质量,尤其适合那些对数据一致性、处理速度和业务连续性要求极高的场景。然而,随着云计算、分布式计算和开源技术的发展,IOE架构的成本、扩展性问题逐渐凸显出来,尤其是在大规模互联网业务场景下,这种高度集中的架构显得不够灵活和经济。
  “去IOE”运动随之兴起,尤其是像阿里巴巴这样的大型互联网公司,他们开始倡导并实践使用更加开放、低成本、可扩展性强的IT架构,比如采用开源数据库MySQL、MongoDB等替代Oracle数据库,使用基于x86架构的PC服务器集群取代IBM小型机,以及使用分布式存储系统替代传统的高端存储设备,从而降低对单一供应商的依赖,提高IT架构的灵活性和经济效益。
  “去IOE”运动在中国尤其引人注目,尤其是阿里巴巴等公司在应对业务爆发式增长和技术自主可控的需求下,提出了摆脱对传统IOE架构的依赖,转向自主研发或采用更为开放、性价比更高的软硬件方案。
  同时安全因素也推动了这一运动,例如棱镜门事件之后,信息安全的重要性被进一步强化,很多企业和政府机构开始寻求国内技术和产品的替代方案,减少对外部技术的依赖。


一键三连,让我的信心像气球一样膨胀!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/519472.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

后端灰度发布

在软件开发中,"灰度"通常指的是渐进式地将新功能、更新或改进引入到生产环境中,但只对一小部分用户或流量进行部署和测试的过程。这种方法允许开发团队在生产环境中逐步测试新功能,以确保其稳定性、可靠性和用户体验,同…

vscode+anaconda 环境python环境

环境说明: windows 10 vscodeanaconda anaconda 安装: 1、官网下载地址:Free Download | Anaconda 2、安装 接受协议,选择安装位置,一直next,到下面这一步,上面是将Anaconda 添加至环境变量&#xff0…

非关系型数据库--------------------Redis 群集模式

目录 一、集群原理 二、集群的作用 (1)数据分区 (2)高可用 Redis集群的作用和优势 三、Redis集群的数据分片 四、Redis集群的工作原理 五、搭建redis群集模式 5.1启用脚本配置集群 5.2修改集群配置 5.3启动redis节点 5…

自动驾驶涉及相关的技术

当科幻走进现实,当影视照进生活,无数次憧憬的自动驾驶,正在慢慢的梦想成真。小时候天马星空的想象,现在正悄无声息的改变着我们的生活。随着汽车电动化进程的加快,自动驾驶技术映入眼帘,很多人可能感觉遥不…

非关系型数据库------------Redis的安装和部署

目录 一、关系型数据库与非关系型数据库 1.1关系型数据库 1.2非关系型数据库 1.2.1非关系型数据库产生背景 1.3关系型非关系型区别 1.4客户访问时,关系型数据库与redis的工作过程 二、Redis 2.1redis简介 2.2Redis命中机制和淘汰机制 2.3Redis 具有以下优…

每天五分钟深度学习:深度学习中数据样本和标签的符号化表示

本文重点 在深度学习的研究与应用中,数据样本和标签的符号化表示是至关重要的一环。通过合理的符号化表示,我们可以将现实世界中的数据转化为计算机能够理解和处理的形式,从而为后续的模型训练和推理提供基础。本文将对深度学习中数据样本和…

基于SpringBoot和Vue的校园周边美食探索以及分享系统

今天要和大家聊的是基于SpringBoot和Vue的校园周边美食探索以及分享系统 !!! 有需要的小伙伴可以通过文章末尾名片咨询我哦!!! 💕💕作者:李同学 💕&#x1f…

Hadoop-入门

资料来源:尚硅谷-Hadoop 一、Hadoop 概述 1.1 Hadoop 是什么 1)Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 2)主要解决:海量数据的存储和海量数据的分析计算问题。 3)广义上来说,Hadoop…

文件服务器之二:SAMBA服务器

文章目录 什么是SAMBASAMBA的发展历史与名称的由来SAMBA常见的应用 SAMBA服务器基础配置配置共享资源Windows挂载共享Linux挂载共享 什么是SAMBA 下图来自百度百科 SAMBA的发展历史与名称的由来 Samba是一款开源的文件共享软件,它基于SMB(Server Messa…

wordpress全站开发指南-面向开发者及深度用户(全中文实操)--php函数

php函数 wordpress会封装一部分函数&#xff0c;比如bloginfo该函数的作用是直接调用你设置的你的网站的名称 示例 This is our amazing custom theme <?php echo 22; function myfirstfunction(){ echo 33; echo "<p>Hello ,this is my first function</…

移动开发技术历史演化简介h5,跨平台,原生的各种技术实现方案的简单介绍

移动端的开发技术是指针对移动设备如智能手机和平板电脑等便携终端进行应用程序和服务创建的过程。本文将主要介绍一下移动端的开发技术的历史进化历程。讲述h5&#xff0c;跨平台&#xff0c;原生的各种技术实现方案和他们各自的优势与不足。 移动开发&#xff0c;不仅是编程技…

微电网优化:基于巨型犰狳优化算法(Giant Armadillo Optimization,GAO)的微电网优化(提供MATLAB代码)

一、微电网优化模型 微电网是一个相对独立的本地化电力单元&#xff0c;用户现场的分布式发电可以支持用电需求。为此&#xff0c;您的微电网将接入、监控、预测和控制您本地的分布式能源系统&#xff0c;同时强化供电系统的弹性&#xff0c;保障您的用电更经济。您可以在连接…

jvm基础三——类加载器

类加载器 在Java中&#xff0c;类加载器&#xff08;Class Loader&#xff09;是Java虚拟机&#xff08;JVM&#xff09;的一部分&#xff0c;负责将类文件&#xff08;.class文件&#xff09;加载到JVM中&#xff0c;使得程序能够使用这些类。类加载器在Java中具有重要的作用&…

(ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类

文章目录 相关论文摘要引言类别嵌入局限性——问题1普通ZSL模型局限性——问题2自动属性注释过程——对应问题1深度语义-视觉对齐&#xff08;DSVA&#xff09;模型——对应问题2 基于遥感多模态相似性的自动属性标注属性词汇表构造使用CLIP模型自动标注属性对CLIP模型进行训练…

wordpress全站开发指南-面向开发者及深度用户(全中文实操)--初尝php

初尝php 打开你下载的wordpress文件夹&#xff0c;如果你用的xampp那它就在xampp安装的文件夹–htdocs文件夹–你可以新建一个test文件夹–新建一个test.php文件 <html><head><title>First attempt at PHP</title></head><body><?ph…

52岁TVB前绿叶退隐8年转做司仪晒流利英文。

现年52岁的陈霁平&#xff08;Maria&#xff09;在1995年参选港姐后加入TVB&#xff0c;离巢后转型做专业司仪&#xff0c;精通多国语言的她更成为司仪界的抢手货。 日前陈霁平分享了担任活动主持的近照&#xff0c;身穿高衩晚装的她身形Fit爆&#xff0c;皮肤依然白滑紧致&…

2024最新在线工具箱/ 站长IT工具箱/网站系统源码下载

2024最新在线工具箱/ 站长IT工具箱/网站系统源码下载- 更多详情及下载地址请访问https://a5.org.cn/a5_ziyuan/39525.html 转载请注明出处!

前端与后端协同:实现Excel导入导出功能

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…

详解 Redis 在 Ubuntu 系统上的安装

在 Ubuntu 20.04 安装 Redis 1. 先切换到 root 用户 在 Ubuntu 20.04 中&#xff0c;可以通过以下步骤切换到 root 用户&#xff1a; 输入以下命令&#xff0c;以 root 用户身份登录&#xff1a; sudo su -按回车键&#xff0c;并输入当前用户的密码&#xff08;即具有 sudo…

解决nginx代理后,前端拿不到后端自定义的header

先说结论&#xff0c;因为前端和nginx对接&#xff0c;所以需要在nginx添加如下配置向前端暴露header add_header Access-Control-Expose-Headers Authorization 排查过程 1.后端设置了Authorization 的响应头作为token的返回&#xff0c;前后端本地联调没有问题 response.s…