中间件技术是什么?

(一)举例说明:

      我开了一家炸鸡店(业务端),然而周边有太多屠鸡场(底层),为了成本我肯定想一个个比价,再综合质量挑选一家屠鸡场合作(适配不同底层逻辑)。由于市场变化,合作一段时间后,或许性价比最高的屠鸡场就不是我最开始选的了,我又要重新和另一家屠鸡场合作,进货方式、交易方式等等全都要重来一套(重新适配)。然而我只想好好做炸鸡,有性价比高的肉送来就行。于是我找到了一个专门整合屠鸡场资源的第三方代理(中间件),跟他谈好价格和质量后(统一接口),从今天开始,我就只需要给代理钱,然后拿肉就行。代理负责保证肉的质量,至于如何根据实际性价比,选择不同的屠鸡场,那就是代理做的事了。总而言之即为:将具体业务和底层逻辑解耦的组件

 (二)  定义说明:

       从广义上来说:操作系统上,业务系统下与业务无关的 ,都是中间件。包括数据库,离线等,当然实际上不会这么分。 不过利用这个讲法应该能够更容易的去理解中间件是什么。中间件就是:非业务的技术类组件。

阿里的中间件主要就包含这么几个:
分布式关系型数据库DRDS_水平拆分 做数据库扩展性的。
消息队列_云消息 做消息的MOM。
企业级分布式应用服务EDAS_企业云计算解决方案 做分布式服务的。
还有一些其他的中间件,比如JstormT , 配置服务缓存 等等,也都会放在中间件里。

(三)用途
中间件使用户 进行系统开发更简单 , 基于成熟的组件来做,可以极大减少技术选择成本




### 中间件的定义及其在软件架构中的作用 #### 1. **中间件的定义** 中间件是一种独立的系统软件或服务程序,位于操作系统和应用程序之间,用于屏蔽底层硬件、网络协议以及分布式环境的复杂性。它提供了通用的服务接口,使开发者能够专注于业务逻辑而不必关心底层细节[^4]。例如,消息队列中间件(如 RabbitMQ 或 Kafka)允许异步通信,从而提高了系统的解耦性和可扩展性。 #### 2. **中间件的主要分类与功能** - **应用集成中间件**:这类中间件主要用于解决不同系统间的互操作问题。API网关就是一个典型的例子,它可以统一对外暴露的服务入口,并提供诸如身份验证、限流等功能[^4]。 - **消息中间件**:通过引入消息队列机制,实现了生产者与消费者之间的松散耦合。这对于需要处理高并发请求或者跨地域调用的应用尤为重要[^5]。 - **事务处理监控中间件**:确保复杂的商业交易顺利完成的同时还具备一定的容错能力。 - **远程过程调用(RPC)**:让客户端像调用本地函数一样简单地完成对远端服务器的操作。 #### 3. **中间件技术架构中的角色** 中间件在现代软件体系结构里扮演着至关重要的桥梁角色。一方面,它促进了各层次组件之间的无缝协作;另一方面,则极大地增强了整个平台的灵活性与适应力。比如,在微服务体系下,借助于服务发现工具(Eureka)、配置管理中心(Config Server)等基础设施的支持,可以轻松实现动态扩容/缩容以及版本灰度发布等活动[^3]。 ```java // Java 使用 ActiveMQ 进行消息传递的一个简单实例 ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616"); Connection connection = connectionFactory.createConnection(); connection.start(); Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue("TESTQUEUE"); MessageProducer producer = session.createProducer(destination); TextMessage message = session.createTextMessage("Hello World!"); producer.send(message); System.out.println("Sent message:" + message.getText()); ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

斜阳雨陌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值