中间件的介绍

这篇具有很好参考价值的文章主要介绍了中间件的介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.1 什么是中间件

中间件是介于应用系统和系统软件之间的一类软件,他使用系统软件所提供的基础服务,衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

例如MySQL就可以看作是具备中间件特性的一种技术,中间件技术必须遵循一定的规范和协议,例如 TCP/IP、UDP协议等等,无规矩不成方圆,只有遵守一定的协议才能去处理事情。MySQL 就遵循了 TCP/IP 协议,在我们平常的开发中使用不同的编程语言比如 Java、Go、Python 等来操作 MySQL 的前提也是要遵循 TCP/IP协议,根据此协议实现了不通语言的连接模块来达到通信的目的。

1.2 为什么要使用中间件

具体地说,中间件屏蔽了底层操作系统的复杂性,使开发人员面对一个简单而统一的开发环境,减少程序设计的复杂性,将注意力集中在自己的业务上,减少了技术的负担。

1.3 主要中间件的分类

1.3.1 Hadoop

当一个大的任务由一台机器在规定的时间内不能完成时,人们就要采用分布式计算,即很多台机器联合起来共同完成任务。换句话说,就是把大任务拆分成许多个小任务,然后再把这些小任务分配给多台计算机去完成。参与计算的多台计算机组成一个分布式系统,需要运行一系列的分布式基础算法。

Hadoop 实现了分布式计算中的基础算法(如一致算法、选举算法、故障检测、快照等),同时为用户提供了编程和命令接口。程序员调用这些函数能轻松写出分布式应用程序,我们都知道,如果一切从头开始,要完成一个分布式程序的编写是异常艰难的。

以 Hadoop 为基础的生态目前已经成为大数据的标准方案,被广泛用于金融、市场、电信、交通等行业的海量数据分析,在即将到来的大数据时代,它将会发挥更大的作用。

1.3.2 Linux-HA

负载均衡本身故障怎么办?如果负载均衡器出现故障,那么整个系统将会瘫痪。微软在Windows服务器版中集成故障转移集群软件。

集成故障转移集群软件的核心思想是,实时监测故障机器并及时让好的机器接管工作,对外提供高可用性。

集成故障转移集群软件的核心思想是,实时检测故障机器并及时让好的机器接管工作,对外提供高可用性。Linux-HA 意为 Linux 高可用性项目,此项目具体包含如下几个组件。

名称

作用

Heartbeat

负责维护集群中各节点的信息及它们之间的心跳通信。

Pacemaker

集群资源管理器,是核心组件,客户端通过 Pacemaker 来配置、管理并监控整个集群。此组件的社区网站为 http://clusterlabs.org/。OpenStack 高可用性部署实例中一般都采用 Pacemaker 和 HAProxy。

Resource Agent

为用于控制服务启停、监控服务状态的脚本集合,本地资源管理器(LRM)调用这些脚本来启动、停止、监控各种集群资源。

Cluster Glue

包含一套函数库和工具,在集群栈中,除集群消息传输(由 Heartbeat 承担)、集群资源管理(由 Pacemaker 承担)和资源代理(由 Resource Agent 承担)功能外,其他功能都由 Cluster Glue 来完成。它包含的两个主要部分是 LRM 和 Stonith,前者是本地资源管理器,后者的任务是隔离故障机器。

1.3.3 静态网站服务器

我们浏览一家公司的网站时,很可能就是跟那家公司服务器上的 Apache 程序打交道,网页浏览器与 Apache 成了标准的 C/S 模式,浏览器是客户端,而 Apache 是服务端。Apache 首先把主页对应的文件 index.html 发给我们,我们看到主页内容后,点击主页上的某个链接,它又把该链接对应的文件发给我们,过程如图 3 所示。

中间件的介绍,服务器,中间件

                                                            图3 访问静态网页的过程

配合 PHP 引擎,Apache 也支持 PHP 动态网页。过程为:

1)当 Apache 收到用户要浏览的 PHP 文件后,把这个 PHP 文件发给 PHP 执行引擎。

2)PHP 执行引擎执行该 PHP 文件,产生一个临时的静态网页文件并发回给 Apache。

3)最后 Apache 把这个临时的静态网页文件发给用户。

采用 Perl、Python 和 Ruby 脚本语言编写的动态网页,其工作过程与 PHP 类似。

Apache 是最流行的开源网站服务器,在世界排名前 100 万的网站中,有 60.6% 的网站采用 Apache;在排名前 1000 的大型网站中,Apache 占到了 34.5%,而 Ngnix 占到了 34.9%,略胜于 Apache。

1.4 中间件技术常用

分布式中间件:1.ActiveMQ 2.RabbitMQ 3.Kafaka 4.RocketMQ

负载均衡中间件:1.NGINX 2.LVS负载均衡软件 3.keepalive 4.CDN

缓存中间件:1.Memcache 2.Redis

数据库中间件:1.Mycat 2.ShardingJDBC

 文章来源地址https://www.toymoban.com/news/detail-658693.html

到了这里,关于中间件的介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【分布式技术专题】「Zookeeper中间件」zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)

    目前希望可以升级将Zookeeper中log4j的版本升级到log4j2版本,并且要避开相关的log4j2的安全隐患问题,此时需要考虑的就是针对于如何将无缝衔接log4j2的版本jar包的安装呢?我们接下来观察一下看看问题所在。目前我采用的环境是windows环境,不过也同样对其他操作系统有效,毕

    2024年02月20日
    浏览(38)
  • LNMT(linux下nignx+mysql+tomcat(中间件)应用)部署应用、及各服务介绍、部署开源站点jpress

    目录 一、环境准备 二、tomcat1和tomcat2服务器,安装配置tomcat 1.tomcat服务器介绍 2.JDK软件介绍 3.查看JDK是否安装 4.tomcat1和tomcat2服务器,安装JDK1.8.0_191(JDK必须和nginx版本相适应,不然一直报错) 5.安装并启动apache-tomcat-8.5.16  6.关闭tomcat 7.tomcat配置目录及文件说明 三、自定义默

    2024年02月12日
    浏览(71)
  • 中间件的介绍

    中间件是介于应用系统和系统软件之间的一类软件,他使用系统软件所提供的基础服务,衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。 例如MySQL就可以看作是具备中间件特性的一种技术,中间件技术必须遵循一定的规范和协议,例如

    2024年02月12日
    浏览(28)
  • 常用消息中间件介绍

    RocketMQ   阿里开源,阿里参照kafka设计的,Java实现   能够保证严格的消息顺序   提供针对消息的过滤功能   提供丰富的消息拉取模式   高效的订阅者水平扩展能力   实时的消息订阅机制   亿级消息堆积能力   RabbitMQ Erlang实现,非常重量级,更适合于企业级的开发。同时实

    2024年02月12日
    浏览(53)
  • 消息队列中间件介绍

    消息队列介绍   消息队列中间件是大型系统中的重要组件,已经逐渐成为企业系统内部通信的核心手段。它具有松耦合、异步消息、流量削峰、可靠投递、广播、流量控制、最终一致性等一系列功能,已经成为异步RPC的主要手段之一。 目前常见的消息中间件有ActiveMQ、Rabbi

    2024年02月04日
    浏览(49)
  • 消息中间件ActiveMQ介绍

    一、消息中间件的介绍   介绍 ​ 消息队列 是指利用 高效可靠 的 消息传递机制 进行与平台无关的 数据交流,并基于 数据通信 来进行分布式系统的集成。   特点(作用) 应用解耦 异步通信 流量削峰 (海量)日志处理 消息通讯 …... 应用场景 根据消息队列的特点,可以衍生出

    2024年02月15日
    浏览(45)
  • 【RabbitMQ教程】前言 —— 中间件介绍

                                                                       💧 【 R a b b i t M Q 教程】前言——中间件介绍 color{#FF1493}{【RabbitMQ教程】前言 —— 中间件介绍} 【 R abbi tMQ 教程】前言 —— 中间件介绍 💧           🌷 仰望天空,妳

    2024年02月08日
    浏览(69)
  • 中间件RabbitMQ消息队列介绍

    1.1 什么是 MQ MQ ( message queue ),从字面意思上看,本质是个队列, FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中, MQ 是一种非常常 见的上下游 逻辑解耦+物理解耦 的消息通信服务。使用了 MQ 之

    2024年02月13日
    浏览(65)
  • 中间件(二)dubbo负载均衡介绍

    支持轮询、随机、一致性hash和最小活跃数等。 ① sequences:内部的序列计数器 ② 服务器接口方法权重一样:(sequences+1)%服务器的数量=(决定调用)哪个服务器的服务。 ③ 服务器接口方法权重不一样:找到最大权重(权重数)%(sequences+1),然后找出权重比该取模后的值

    2024年02月12日
    浏览(33)
  • GoZero微服务个人探究之路(七)添加中间件、自定义中间件

    官方已经自己实现了很多中间件,我们可以方便的直接使用,不用重复造轮子了 开启方式可以看官方文档 中间件 | go-zero Documentation 在业务逻辑中,我们需要实现自定义功能的中间件 ------这里我们以实现跨源访问的中间件(详情可见这篇文章flutter开发web应用网络请求后台失

    2024年01月21日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包