如何搭建完备实用的基础架构与中间件体系?
Posted OSC开源社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何搭建完备实用的基础架构与中间件体系?相关的知识,希望对你有一定的参考价值。
基础架构,是项目基础库/基础软件/基础平台的架构与实现。它不直接从事任何对外业务,而是为后端工程师提供「服务」,如 RPC、负载均衡、消息队列、存储中间件等等。而中间件是一种独立的系统软件或服务程序,位于客户机服务器的操作系统之上,管理计算资源和网络通信。
对后端开发工程师来说,掌握一门后端开发语言仅仅是最基础的技能,在实际开发中,我们总少不了接触 Beego / Djang 等一些具体的开发框架,所以,我们必须熟悉整个后端的架构。而在中小型企业,往往没有基础架构的岗位,这就要求后端开发掌握基础架构与中间件体系的搭建。
得益于开源,现在有大量可用的工具链可以帮助开发者顺利搭建。下面,为大家介绍 XXL 系列开源软件,这套基础组件涵盖配置中心、任务调度、消息队列、缓存管理等,是相对非常完备的基础套件。
分布式配置管理平台 —— XXL-CONF
XXL-CONF 是一个分布式配置管理平台,提供统一的配置管理服务。它解决了常规项目开发使用 properties 维护配置信息,需手动修改 properties 文件、重新编译打包、重启线上服务器、配置生效不及时、不同环境上线包不一致的问题。
传送门:https://my.oschina.net/xuxueli/blog/734267
分布式任务调度平台 —— XXL-JOB
XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。
在设计思想上,将调度行为抽象形成“调度中心”公共平台,而平台自身并不承担业务逻辑,“调度中心”负责发起调度请求。将任务抽象成分散的 JobHandler,交由“执行器”统一管理,“执行器”负责接收调度请求并执行对应的 JobHandler 中业务逻辑。因此,“调度”和“任务”两部分可以相互解耦,提高系统整体稳定性和扩展性。
传送门:https://my.oschina.net/xuxueli/blog/690978
分布式消息队列 —— XXL-MQ
XXL-MQ 是一款轻量级分布式消息队列,支持串行、并行和广播等多种消息模型。支持三种消息模式:
目前流行的 ActiveMQ、RabbitMQ、ZeroMQ 等消息队列的软件中,大多为了实现 AMQP,STOMP,XMPP 之类的协议,变得极其重量级,如新版本Activemq建议分配内存达1G+。但在很多 Web 应用中的实际情况却往往是想找到一个缓解高并发请求的解决方案,一个轻量级的消息队列实现方式才是我们真正需要的。
传送门:https://my.oschina.net/xuxueli/blog/738918
分布式缓存管理平台 —— XXL-CACHE
XXL-CACHE 是一个分布式缓存管理平台,其核心设计目标是“让分布式缓存的接入和管理的更加的简洁和高效”。
核心思想:
1. 将分布式缓存抽象成公共 RPC 服务,对外提供公共 API 进行缓存操作:
项目接入缓存服务更加方便:接入方只需要依赖一个 RPC 服务的 API 即可;
统一监控和维护缓存服务;
方便控制 client 连接数量;
缓存节点变更更加方便;
在节点变更时, 缓存分片很大可能会受影响, 这将导致不同服务的分片逻辑出现不一致的情况,统一缓存服务可以避免之;
可以屏蔽底层 API 操作,提供公共 API,避免 API 误操作;
2. 提供缓存管理和监控平台:方便的查询、管理和监控线上缓存数据。
传送门:https://my.oschina.net/xuxueli/blog/732279
当然,这些基础组件只是为我们提供了可用工具,该结合现有业务使用 XXL 系列开源产品呢?看文档不如与项目创始人面对面交流。
这一次,我们邀请了 XXL 开源项目的创始人 、美团点评工程师 —— 许雪里参加「上海源创会」,许老师擅长中间件基础架构,分布式系统架构与实践,本次分享将通过对现有基础组件和相关领域新技术进行梳理,并结合XXL系列开源产品,设计构建一个在现在与未来一定时间内完备实用的基础架构与中间件体系。
除此之外,5 月 27 日(周日)上海源创会 还邀请了黄励博(又拍云系统开发高级工程师)、曲骏(安畅混合云服务架构团队负责人)、朱明智(个推B2D研发部平台研发专家)、韩天峰(Swoole 和 php-X 开源项目创始人)四位行业大牛。以架构为核心,与你进行一场关于面对面的技术对话。
扫码报名,与业内大咖和更多小伙伴当面交流。
以上是关于如何搭建完备实用的基础架构与中间件体系?的主要内容,如果未能解决你的问题,请参考以下文章
连载40:软件体系设计新方向:数学抽象设计模式系统架构与方案设计(简化版)(袁晓河著)