精华内容
下载资源
问答
  • 中间件有哪些
    千次阅读
    2022-05-29 00:12:36

    之前给大家介绍了很多的java基础知识,今天同样的也是要给大家介绍这方面的内容,那么对于java中间件你都了解多少呢究竟什么是java中间件比较常用的java中间件都有哪些一起来了解一下吧。

    一、什么是java中间件

    首先的话,我们要来介绍一下究竟什么是java中间件。

    随着Java

    web开发的演进和进化,在面对消息系统、数据库、服务化接口的抽象等等涉及数据分离的过程当中,在分离过程当中,会涉及到分离之后,系统间、数据库间的交互。

    java中间件就是处理数据交互、连接数据分离之后两个系统间的通信。

    中间件不允许任何一个开发项目。

    也就是让我们对应系统间或者是数据库间数据流通没有感知。

    有点像Linux下的管道。

    二、java常用中间件

    在Java web开发中适用的范围主要应该是下面的3个领域。

    1、远程过程调用和对象访问中间件

    这个主要的是解决分布式环境下应用的互相访问问题。

    同时,这个也是支撑应用服务化功能的基础。

    就国内来说,当前远程服务框架中间件较多应用的是阿里巴巴的开源分布式服务框架Dubbo。

    2、消息队列中间件

    这个主要解决的是应用之间的消息传递、解耦、异步的问题。

    它是一种EDA架构。

    也就是通过在低耦合的模块之间传输事件消息来完成模块之间的合作。

    在很多大型的网站当中,消息队列采用发布和订阅模式。

    当前,比较常用的消息队列产品有RabbitMQ、Kafka、Apache的ActiveMQ、RocketMQ等等。

    分布式服务框架和分布式消息队列是系统模块化之后主要的两种聚合方式。

    3、数据访问中间件

    它主要解决的是应用访问数据库的共性问题的组件 。

    举例说明:

    它就是使用数据库指定的数

    更多相关内容
  • 中间件是什么,常用的中间件有哪些

    千次阅读 2022-04-26 22:57:05
    一、中间件是什么? 中间件(英语:Middleware)顾名思义是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式...

    一、中间件是什么?

    中间件(英语:Middleware)顾名思义是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件在客户服务器的操作系统、网络和数据库之上,管理计算资源和网络通信。总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

    也就是说,关于中间件,我们可以理解为:是一类能够为一种或多种应用程序合作互通、资源共享,同时还能够为该应用程序提供相关的服务的软件。中间件是一类软件统称,而非一种软件;中间件不仅仅实现互连,还要实现应用之间的互操作。

     

    中间件示意图

    中间件的特点:

    满足大量应用的需要;
    运行于多种硬件和OS平台;
    支持分布计算,提供跨网络、硬件和OS平台的透明性的应用或服务的交互;
    支持标准的协议;
    支持标准的接口。

    中间件与操作系统和数据库共同构成基础软件三大支柱,是一种应用于分布式系统的基础软件,位于应用与操作系统、数据库之间,为上层应用软件提供开发、运行和集成的平台。中间件解决了异构网络环境下软件互联和互操作等共性问题,并提供标准接口、协议,为应用软件间共享资源提供了可复用的“标准件”。

    中间件可以分为基础中间件、集成中间件和行业领域应用平台。其中,基础中间件是构建分布式应用的基础,也是集成中间件和行业领域应用平台的基础,包括应用服务器、消息中间件和交易中间件等。

     

     

    三大基础中间件分别为交易中间件、消息中间件和应用服务器中间件,其中:

    交易中间件是专门针对联机业务处理系统而设计的,是所有中间件类型中理论较为成熟、功能和性能界定比较清晰的中间件产品。在联机业务处理系统中,需处理大量并发进程,涉及到操作系统、文件系统、数据通讯、数据库管理、应用软件等,通过交易中间件,可降低联机业务处理系统的开发难度,提高系统运行的安全稳定性。交易中间件主要应用在金融、财税、运输、电力、电信等行业中,如银行业务系统、电信计费系统等。

    消息队列(Message Quequing)是在消息传输过程中保存消息的容器,消息中间件即为消息队列的承载形式。消息是两台计算机间传送的数据单位,消息队列在将消息从它的源中继到它的目标时充当中间人,主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它,主要解决传统结构耦合性问题、系统异步性问题以及缓解大数据量并发的问题等。

    消息队列有较多的型号,较为常用的为ActiveMQ、Rabbit MQ、RocketMQ和Kafk a。由于消息队列使用消息将应用程序连接起来,这些消息通过像Rabbit MQ的消息代理服务器在应用程序之间路由。

     

    应用服务器中间件位于客户浏览器和数据库之间,为应用程序提供业务逻辑的代码。应用服务器通过组件的应用程序接口将商业应用逻辑曝露给客户端的程序,同时为应用提供运行平台和系统服务,并管理对数据库的范围。对于高端需求,应用服务器具有高可用性监视、集群化、负载平衡、集成冗余和高性能分布式应用服务,以及对复杂的数据库访问的支持等功能。目前,市场上应用服务器平台中有J2EE,WebLogic,Glassfish,JBoss企业应用平台,以及Apache Tomcat和Apache Geronimo等。

     

    中间件技术发展的初衷是以适应网络技术应用的复杂性及跨平台特性为基础,是在软件产业不断发展过程中自然产生的。

    二、分 类

    (1)事务式中间件

    事务式中间件又称事务处理管理程序,是当前用的最广泛的中间件之一,其主要功能是提供联机事务处理所需要的通信、并发访问控制、事务控制、资源管理、安全管理、负载平衡、故障恢复和其他必要的服务。事务式中间件支持大量客户进程的并发访问,具有极强的扩展性。由于事务式中间件具有可靠性高、极强的扩展性等特点,主要应用于电信、金融、飞机订票系统、证券等拥有大量客户的领域。

    (2)过程式中间件

    过程式中间件又称远程过程调用中间件。过程中间件一般从逻辑上分为两部分:客户和服务器。客户和服务器是一个逻辑概念,既可以运行在同一计算机上,也可以运行在不同的计算机上,甚至客户和服务器底层的操作系统也可以不同。客户机和服务器之间的通信可以使用同步通信,也可以采用线程式异步调用。所以过程式中间件有较好的异构支持能力,简单易用,但由于客户和服务器之间采用访问连接,所以在易剪裁性和容错方面有一定的局限性。

    (3)面向消息的中间件

    面向消息的中间件,简称为消息中间件,是一类以消息为载体进行通信的中间件,利用高效可靠的消息机制来实现不同应用间大量的数据交换。按其通信模型的不同,消息中间件的通信模型有两类:消息队列和消息传递。通过这两种消息模型,不同应用之间的通信和网络的复杂性脱离,摆脱对不同通信协议的依赖,可以在复杂的网络环境中高可靠、高效率的实现安全的异步通信。消息中间件的非直接连接,支持多种通信规程,达到多个系统之间的数据的共享和同步。面向消息中间件是一类常用的中间件。 [3]

    (5)Web应用服务器

    Web应用服务器是Web服务器和应用服务器相结合的产物。应用服务器中间件可以说是软件的基础设施,利用构件化技术将应用软件整合到一个确定的协同工作环境中,并提供多种通信机制,事务处理能力,及应用的开发管理功能。由于直接支持三层或多层应用系统的开发,应用服务器受到了广大用户的欢迎,是目前中间件市场上竞争的热点,J2EE架构是目前应用服务器方面的主流标准。

    (6)其他

    新的应用需求、新的技术创新、新的应用领域促成了新的中间件产品的出现。如,ASAAC在研究标准航空电子体系结构时提出的通用系统管理GSM,属于典型的嵌入式航电系统的中间件,互联网云技术的发展云计算中间件、物流网的中间件等随着应用市场的需求应运而生。

    三、常用的中间件有哪些?

    因为中间件属于一类软件的统称,所以具体来说常用中间件有哪些不同的服务商有不同的定义,我们以阿里云中间件为例来说明一下,点击下面按钮进入阿里云中间件页面:

    我们可以看到下列中间件产品:

    企业级分布式应用服务EDAS

    消息队列MQ

    消息队列MQ for IoT

    消息服务MNS

    消息队列Kafka

    性能测试PTS

    业务实时监控服务ARMS

    中间件产品

    这里面每款中间件产品的功能和面向的用户都是不同的,阿里云方面有非常详细的说明,大家可以阅读相关介绍,本站有时间也会单独介绍某个具体的中间件产品。

    四、相关产品举例

    Apusic MQ

    该产品是国产中间件厂商金蝶的旗舰产品之一,金蝶中间件目前拥有 Apusic J2EE应用服务器、 Apusic MQ消息中间件和 Apusic Studio开发平台,组成了轻量级风格的企业基础架构软件平台金蝶 Apuisc Platform,其具备技术模型简单化、开发过程一体化、业务组件实用化的显著特性,产品间无缝集成。

    BEA Weblogic

    Weblogic系列的最大特点是平台开放。 Weblogic和其他第三方开发工具的结合也非常好,常见的组合就是 Jbuilder Weblogic的开发环境。

    BEA Weblogic integration是 BEA Weblogic Enterprise Platform的一个组件,它提供了企业应用集成所需的各种功能,可用开发新应用,将新应用与现有系统集成,简化业务流程以及通过门户网关扩展业务基础结构。 BEA Weblogic Integration为快速交付业务集成、简化生产管理提供了通用的开发环境,整合了业务集成领域各种不同的部件,其中包括ERP、CRM遗留应用、业务用户、供应链和业务伙伴。

    Oracle fusion

    甲骨文公司的 Oracle融合中间件 Oracle fusion middleware是一个全面的中间件产品系列,由甲骨文公司的SOA和中间件产品组成,其中包括: Oracle应用服务器10g、 Oracle应用服务器产品和可选配件、 Oracle数据平台、 Oracle内容服务10g、 Oracle实时协作10g和 Oracle统一传信。这一经过验证的中间件产品系列可帮助各企业提高公共运作的效率及敏捷性, Oracle fusion middleware还为客户的面向服务应用提供贯穿整个生命周期的全面支持,由于其独特的插作式架构,这个系列产品具有与企业现有T基础设施的互操作性。

    SA PXI

    SA PXI应用集成套件作为 SA NEtweaver中间件产品的一部分,目的是为non-SAP系统提供一个其他管理信息系统与SAP系统进行数据和流程交互的平台,因为SAP定位于ERP系统,关注点在企业的人、财、物,但对于企业其他的专业系统,SAP的功能无法覆盖和取代,因此,必须有这样的“接口”来实现相互之间的数据和业务交换。

     

     

    展开全文
  • 这一节我们主要来学习一下什么是中间件,为什么使用中间件...中间件是介于操作系统和应用软件之间,为应用软件提供服务功能的软件,消息中间件,交易中间件,应用服务器等。由于介于两种软件之间,所以,称为中间件
  • Java中间件有哪些

    2022-05-29 00:11:52
    专用网络VPC、弹性公网IP、CDN 数据库中间件:DRDS、Mycat、360 Atlas、Cobar 分布式框架:Dubbo、Motan、Spring-Could 分布式任务:XXL-JOB、Elastic-Job、Saturn、Quartz 分布式追踪:Pinpoint、CAT、zipkin ...

    网关:Nginx、Kong、Zuul
    缓存:Redis、MemCached、OsCache、EhCache
    搜索:ElasticSearch、Solr
    熔断:Hystrix、resilience4j
    负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy
    注册中心:Eureka、Zookeeper、Redis、Etcd、Consul
    认证鉴权:JWT、SpringSecurity
    消费队列:RabbitMQ、Kafka、RocketMQ、ActiveMQ、Redis
    系统监控:Grafana、Prometheus、Influxdb、Telegraf、Lepus
    文件系统:OSS、NFS、FastDFS、MogileFS
    RPC框架: Dubbo、Motan、Thrift、grpc
    构建工具:Maven、Gradle
    集成部署:Docker、Jenkins、Git、Maven
    分布式配置:Disconf、Apollo、Spring Cloud Config、Diamond
    压测:LoadRunner、JMeter、AB、webbench
    数据库:MySQL、Redis、MongoDB、PostgreSQL、Memcache、HBase
    网络:专用网络VPC、弹性公网IP、CDN
    数据库中间件:DRDS、Mycat、360 Atlas、Cobar
    分布式框架:Dubbo、Motan、Spring-Could
    分布式任务:XXL-JOB、Elastic-Job、Saturn、Quartz
    分布式追踪:Pinpoint、CAT、zipkin
    分布式日志:elasticsearch、logstash、Kibana 、redis、kafka
    版本发布:蓝绿部署、A/B测试、灰度发布/金丝雀发布

    展开全文
  • Web中间件有哪些

    千次阅读 2021-10-16 12:18:48
    一、中间件简介 中间件是一类连接软件组件和应用的计算机软件,它包括一组服务。以便于运行在一台或多台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动...二、常见的web中间件有哪些 Tomcat To.

    一、中间件简介

    中间件是一类连接软件组件和应用的计算机软件,它包括一组服务。以便于运行在一台或多台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些复杂的分布式应用程序,它包括web服务器、事务监控器消息队列软件

    我们经常管web中间件叫做web服务器或者web容器

    正常情况下一次web的访问顺序是:web浏览器—服务器(硬件)—web容器—web应用服务器—数据库服务器。

    二、常见的web中间件有哪些

    在这里插入图片描述

     Tomcat
    Tomcat 是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Java Web 应用服务器(Servlet 容器)。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。Tomcat默认使用 8080 号端口

    Weblogic
    WebLogic 是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。Weblogic默认端口是 7001。

    Jboss
    Jboss 是一个基于Java EE的开放源代码的应用服务器。 它不但是Servlet容器,而且也是EJB容器,从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。JBoss是一个管理EJB的容器和服务器。但JBoss核心服务不包括支持 servlet/JSP 的WEB容器,一般与 Tomcat 或 Jetty 绑定使用。Jboss默认端口号是8080。

    Jetty
    Jetty 是一个开源的servlet容器,它为基于Java的web容器,例如JSP和servlet提供运行环境。Jetty是使用JAVA编写的,它的API以一组JAR包的形式发布。开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接。

    Webshere
    WebShere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件。WebSphere 是一个模块化的平台,基于业界支持的开放标准。可以通过受信任和持久的接口,将现有资产插入 WebSphere,可以继续扩展环境。WebSphere 可以在许多平台上运行,包括 Intel、Linux 和 z/OS。Webshere默认端口号是 9080。

    Glasshfish
    GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。

    展开全文
  • 消息中间件有哪些

    千次阅读 多人点赞 2021-08-11 21:22:54
    1、学习中间件的方式和技巧 理解中间件在项目架构中的作用,以及各中间件的底层实现 可以使用一些类比的生活概念去理解中间件 使用一些主流图或者脑图的方式去梳理各个中间件在架构中的作用 尝试使用Java技术去...
  • 什么是中间件? 顾名思义,中间件就是处于中间的软件,处于操作系统、数据库等系统软件和应用软件之间的一种起连接作用。中间件是一种独立的系统软件平台,为网络应用软件提供综合的服务和完整的计算环境,借助这种...
  • 消息中间件有哪些

    千次阅读 2021-03-26 12:10:17
    消息中间件有:1、Kafka主要为高吞吐量的订阅发布系统而设计,追求速度与持久化;2、RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现;3、RocketMQ是纯Java开发,具有高吞吐量。消息中间件有:...
  • 1. 中间件简介 中间件(英语:Middleware)顾名思义是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用...
  • 常见的中间件有哪些

    千次阅读 2021-06-15 20:01:20
    文章目录中间件常用的中间件TomcatWeblogicJbossJettyWebshereGlasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什么? 中间件(英语:Middleware)是提供系统软件和应用软件之间连接的...
  • 中间件是一类连接软件组件和应用的计算机软件,它包括一组服务。以便于运行在一台或多台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致分布式体系架构的演进,该架构通常用于支持并简化那些...
  • 比较常用的java中间件有哪些?一起来了解一下吧。一、什么是java中间件?首先的话,我们要来介绍一下究竟什么是java中间件。随着Javaweb开发的演进和进化,在面对消息系统、数据库、服务化接口的抽象等等涉及数据...
  • 比较常用的java中间件有哪些?一起来了解一下吧。 一、什么是java中间件? 首先的话,我们要来介绍一下究竟什么是java中间件中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间...
  • 当今市面上很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发的Notify、MetaQ、RocketMQ等。 本文主要探讨主流的消息队列MQ比较,特征,以及典型使用场景。 目前主流的...
  • 常见的中间件有哪些

    万次阅读 2018-07-19 20:21:12
    多种中间件(Tomcat, Apache, Nginx, MQ,等)各项性能参数设置、监控及优化; ZooKeeper   ZooKeeper 提供基础的目录/名字服务、配置管理服务。并且在此基础上还能提供分布式锁、leader选举等高级功能。网上...
  • 中间件为主要的逻辑业务所服务,可分为:应用级中间件、路由级中间件、内置中间件、第三方中间件、错误级中间件。 1、应用级中间件 每一个中间件就是调用一个函数,需要配合其他的中间件或者路由使用 server ...
  • 如果是 IT 老鸟,对于中间件、数据库中间件这些名词一定都不陌生,但是如果是程序员新人,如果你向他解释:“中间件就是和业务无关的技术组件”;有些新人可能依然会比较懵,啥是组件?什么叫和业...
  • 阿里云中间件有哪些?这里最全面

    千次阅读 2019-01-11 17:55:03
    很多人搞不懂中间件是什么。 这其实是一个比较虚的概念。广义的中间件范围很广。...阿里云正在做中间件的活动,兴趣的可以去看看。 活动地址:https://promotion.aliyun.com/ntms/act/aliwareydssale.htm...
  • 中间件(英语:Middleware)顾名思义是系统软件和用户应用软件之间连接的软件,以便于软件各部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑,是一种独立的系统软件或服务程序,分布式应用软件借助这种软件...
  • java 中间件有哪些 以及作用

    千次阅读 2021-03-29 18:40:22
    中间件是一种独立的系统软件或服务程序,分布式应,写java程序的时候,是需要用到中间件的,那么大家知道java开发中常见中间件有哪些吗?下面我们就给大家分享一些这方面的内容。 1、tomcat; 2、Weblogic; 3、JBOSS; ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 430,101
精华内容 172,040
关键字:

中间件有哪些