java开发中的各种中间件技术

java开发中的各种中间件技术

1.什么是中间件

我们平时在应用开发中经常会遇到各种中间件的使用,现在我们经常听到的一句话是“面向消息队列编程”,其中消息队列就是一类中间件。对于初学者而言可能对“中间件”这个专有名词还不太了解。我这里先讲一下中间件出现的背景:

一个大型企业同时运行着多个不同的业务系统,这些系统可能基于不同的操作系统、不同的数据库、异构的网络环境。现在的问题是,如何把这些信息系统结合成一个有机地协同工作的整体,真正实现企业跨平台、分布式应用。这个时候中间件就出现了,中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。

2.中间件分类

中间件按功能分类:

序号分类
1RMI(Remote Method Invocations, 远程调用)
2Load Balancing(负载均衡,将访问负荷分散到各个服务器中)
3Transparent Fail-over(透明的故障切换)
4Clustering(集群,用多个小的服务器代替大型机)
5Back-end-Integration(后端集成,用现有的、新开发的系统如何去集成遗留的系统)
6Transaction事务(全局/局部)全局事务(分布式事务)局部事务(在同一数据库联接内的事务)
7Dynamic Redeployment(动态重新部署,在不停止原系统的情况下,部署新的系统)
8System Management(系统管理)
9Threading(多线程处理)
10Message-oriented Middleware面向消息的中间件(异步的调用编程)
11Component Life Cycle(组件的生命周期管理)
12Resource pooling(资源池)
13Security(安全)
14Caching(缓存)

3.在项目中什么时候使用中间件技术

在项目的架构和重构中,使用任何技术和架构的改变我们都需要谨慎斟酌和思考,因为任何技术的融入和变化都可能人员,技术,和成本的增加,中间件的技术一般现在一些互联网公司或者项目中使用比较多,如果你仅仅还只是一个初创公司建议还是使用单体架构,最多加个缓存中间件即可,不要盲目追求新或者所谓的高性能,而追求的背后一定是业务的驱动和项目的驱动,因为一旦追求就意味着你的学习成本,公司的人员结构以及服务器成本,维护和运维的成本都会增加,所以需要谨慎选择和考虑。

4.开发中常用的中间件

如下中间件在开发中经常使用

  • 消息中间件 ActiveMQ
  • 消息中间件 RabbitMQ
  • 消息中间件 Kafaka
  • 消息中间件 RocketMQ
  • 负载均衡中间件(Nginx/Lvs)
  • 缓存中间件(Memcache/Redis)
  • 数据库中间件(ShardingJdbc/Mycat)
  • 任务调度中间件(xxl-job)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值