常见的中间件有哪些

常见的中间件有哪些,第1张

第一款:tomcat

tomcat是一款Java语言servlet标准化的服务器软件。适用于本地开发、小项目或个人开发,Apache为HTML页面服务,而tomcat实际 *** 作JSP页面和servlet,但是tomcat处理静态html的能力不如Apache服务器。

特点:支持最新标准、更新快、跨平台、体积小安装部署方便。

第二款:weblogic

大型项目或商业项目,Java动态功能和Java

Enterprise在大型网络应用的开发、集成、部署和管理中,引入了标准的安全性bea公司生产的基础j2ee架构中间件。

特点:简化了可移植和可扩展应用系统的开发,为其他应用系统和系统提供了丰富的可 *** 作性商业软件功能齐全强大,主要用于大型企业的大型项目是一种高扩展的架构体系。

第三款:jetty

jetty是使用Java语言编写,jetty运行速度快,轻量级,在Java中可以从test

case控制其运行。从而使自动化测试不再依赖外部环境,顺利实现自动化测试。

特点:易用、可扩展、易嵌入快速高效。

第四款:JBoss

管理EJB容器和服务器,JBoss遵循商业友好LGPL授权分发,由开源社区开发。

特点:应用服务器也有许多优秀的特点内存和硬盘空间相对较小安装方便,解压后,只需配置一些环境变量即可JBoss支持集群等。

1、MySQL

MySQL是一个开源的关系型数据库管理系统,为甲骨文公司产品。支持多种存储引擎、集群、全文索引、支持多线程、充分利用CPU资源、支持多用户等其它许多非常专业的功能。

MySQL由于性能高、成本低、可靠性好已经成为最流行的开源数据库,并且被广泛应用在Web应用程序以及其它中小型项目上。从WordPress到Movable

Type都把MySQL作为默认的数据库。此外,自甲骨文收购MySQL以后,又将MySQL闭源的潜在风险,因此社区采用分支的方式避开这种风险,开发并运营着完全兼容MySQL的MariaDB数据库。

2、MongoDB

MongoDB是一款开源、面向文档并且也是当下人气最旺的Nosql数据库,它也是一款介于关系数据库和非关系数据库之间的产品。Mongo最大特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。还具有高性能、易部署、易使用,存储数据非常方便等特点。

3、Hadoop

Hadoop是一个开源的、基于列存储模型的分布式数据库,它是Apache Hadoop项目的一部分,开发语言为Java。

Hadoop不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是Hadoop基于列的而不是基于行的模式。且具有高可靠性、高性能、可伸缩、并建立在关系模型基础上的分布式数据库。

4、Redis

Redis是一个开源、支持网络、基于内存、键值对存储数据库。开发者无需存储数字和字符串即可dump整个哈希值、列表、集合以及其它复杂的结果存储,此外,Redis还提供复制/同步和持久化等功能。

Redis是一个高性能的键值对数据库。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。

5、MariaDB

MariaDB数据库管理系统是MySQL的一个分支,完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB来代替MySQL的InnoDB。另外又添加了一些功能,以支持本地的非阻塞 *** 作和进度报告。这意味着,所有使用MySQL的连接器、库和应用程序也将会在MariaDB下工作。

能选择的有三种:

1. ActiveMQ/ApolloMQ

优点:老牌的消息队列,使用Java语言编写。对JMS支持最好,采用多线程并发,资源消耗比较大。如果你的主语言是Java,可以重点考虑。

缺点:由于历史悠久,历史包袱较多,版本更新很缓慢。集群模式需要依赖Zookeeper实现。最新架构的产品被命名为Apollo,号称下一代ActiveMQ,目前案例较少。

2. RocketMQ/Kafka

优点:专为海量消息传递打造,主张使用拉模式,天然的集群、HA、负载均衡支持。话说还是那句话,适合不适合看你有没有那么大的量。

缺点:所谓鱼和熊掌不可兼得,放弃了一些消息中间件的灵活性,使用的场景较窄,需关注你的业务模式是否契合,否则山寨变相使用很别扭。除此之外,RocketMQ没有.NET下的客户端可用。RocketMQ身出名门,但使用者不多,生态较小,毕竟消息量能达到这种体量的公司不多,你也可以直接去购买阿里云的消息服务。Kafka生态完善,其代码是用Scala语言写成,可靠性比RocketMQ低一些。

3. RabbitMQ

优点:生态丰富,使用者众,有很多人在前面踩坑。AMQP协议的领导实现,支持多种场景。淘宝的MySQL集群内部有使用它进行通讯,OpenStack开源云平台的通信组件,最先在金融行业得到运用。

缺点:Erlang代码你Hold得住不? 虽然Erlang是天然集群化的,但RabbitMQ在高可用方面做起来还不是特别得心应手。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6686345.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存