问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

01|中间件生态(上):有哪些类型的中间件?

发布网友 发布时间:2024-10-22 07:52

我来回答

1个回答

热心网友 时间:2024-11-22 05:05

中间件的定义

中间件是为了解决项目中的高可用性、高性能、高并发等技术需求而引入的技术组件,它在业务代码与技术功能之间起着解耦合的作用。

业务需求与技术需求

业务需求是指特定用户的特定诉求,例如快递行业的人与人之间跨城市传递物品、逢年过节给远方亲人寄礼物等。

技术需求则是在业务不断扩展、形成规模效应后,为满足使用上的需求,如系统稳定性、可用性、性能等方面的技术诉求。

中间件的引入

为了应对各种业务和技术需求,代码量会不断增加。为避免业务代码与技术类代码的纠缠,导致系统难以维护、运营成本增加、故障频发,引入中间层是解决这个问题的关键,这个中间层就是中间件。

中间件生态

中间件种类繁多,常见的包括微服务中间件、消息中间件、定时调度等。微服务中间件如Dubbo,消息中间件如RocketMQ、Kafka,定时调度如ElasticJob、XXL-Job等。

数据库中间件

数据库中间件是最早接触的中间件之一,用于解决单体应用向分布式架构演进过程中数据量急速增长、单个数据库节点成为系统瓶颈的问题。读写分离和分库分表是常用的解决方案。

读写分离

读写分离通过降低写入节点负载、将查询请求转发到从节点,提升写入性能。它要求在接口上添加注解指示数据源,通过反射获取注解信息,实现数据库层面的读写分离。

分库分表

分库分表通过引入多个写入节点实现负载均衡,提高系统扩展性。它需要解决SQL解析、路由选择等问题,但实现较为复杂,且存在SQL语句语法复杂、难以全面覆盖场景的挑战。

引入数据库中间件

为解决业务代码与数据库管理之间的耦合问题,引入数据库中间件,如MyCat和ShardingJDBC/ShardingSphere。它们提供统一的数据库访问层,简化数据库配置,但MyCat存在性能损耗、扩展性受限等问题,而ShardingJDBC以客户端代理模式,性能损耗低、扩展性强,但存在运维成本高的问题。ShardingSphere在ShardingJDBC基础上提供统一的数据聚合层,弥补运维层面的缺陷。

中间件选型

推荐使用ShardingJDBC,因为它性能损耗低、扩展性强、支持各类主流数据库,且社区活跃度高,稳定性更有保障。与MyCat相比,ShardingJDBC不引入额外的进程,资源利用率更高,社区活跃度更优。

总结与展望

中间件的引入有助于提升系统稳定性、可用性,但同时增加了维护复杂度,要求熟练掌握各种中间件及其工作原理、实现细节。通过对数据库中间件等常见中间件的学习,可以对中间件有一个宏观的认识。下一课将解读缓存、全文索引、分布式日志等其他几类中间件。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
石料加工服务可以全部交给第三人完成吗 山东沃尔德集团集团所辖公司介绍 齐鲁银行无忧贷和市民贷哪个好 什么叫补按揭 后按揭贷款什么意思 买房者续按揭有什么危害 加按揭是什么意思 八月中国最凉快的地方 八月份哪里最凉快,去哪旅游好?美丽的地方 乱字同韵字是什么意思 mycat 高可用 左脚掌心内侧经常发痒是怎么回事? ...现在左脚前脚掌会痛,是什么原因?痛的地方是掌心上面,就上_百度知 ... 急,我的左脚掌心位置痛,只是在走路时偶尔会痛,鼻孔偶有干血。脚上那是... 电脑为什么每次开机后必须要使用360全面杀毒后才可以使用 运行英雄联盟后电脑很卡,必须清内存重启才能正常使用。如何解决? 英雄联盟进到界面就是一直黑屏的。然后总是登陆聊天服务器。然后就游戏... 英雄联盟登录界面一片漆黑,下面的新手任务和游戏圈 开黑语音等都能正常... 我的英雄联盟能进去。但一到开始的时候就黑屏就不去。什么情况。_百度... 榆林学院的学术氛围怎么样? 中外合资办学榆林学院怎么样 榆林学院的住宿条件怎么样? 黄宪的技术成就 环状烯烃与卤素的反式加成反应是什么? 简单道术的txt全集下载地址 水瓶女与处女男 比较暖心的生日祝福语 特别暖心的生日祝福语(过生日的祝福语大全) 做国内采购跟外贸跟单哪个更有前途? 铜锣湾站未来发展 为什么我的电脑总是掉线,用360断网急救箱检查了说是什么ip地址错误修复... 我将英雄联盟文件夹里的TenioDL文件夹用360粉碎后,游戏就打不开了 ...急救箱杀完后,在安全模式下进行的,之后英雄联盟游戏就出现好多错误... 吉林省省直机关事务管理局主要职责 为什么挂上QQ后,ps软件就不支持多步撤销? 14万日元相当于人民币多少? 相宜本草百合系列、莲花系列和芯净系列还有八倍水哪个好? 音乐手机,电池耐用的都有哪几款 值多少钱呀阿1798-1998年的 1998年的值多少钱 1998年的1500价值现在的多少钱? 1998年1万元按大米价格折算值现在多少钱 一块钱1998年值多少钱 1998年的一块钱,现在值多少? 怎么样培养一个7岁男孩的自控能力 塔吊丝索证过期两年可以一次性审吗? 我塔吊证过期了没有,领证是二零一三年九月到二零一五年但上面还写着二 ... 什么是唯品提现金 2022年国庆第一天高速堵车严重吗-国庆第一天什么时候不堵 2022年春节哪几条高速最堵-深圳过年回湖北开车走哪条路线堵车比较少