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

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

  • java开发中的各种中间件技术
    • 1.什么是中间件
    • 2.中间件分类
    • 3.在项目中什么时候使用中间件技术
    • 4.开发中常用的中间件

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

1.什么是中间件

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

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

2.中间件分类

中间件按功能分类:

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

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

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

4.开发中常用的中间件

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

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

你可能感兴趣的:(java基础,中间件)