
通道类型系统设计及实现思考
发布日期:2021-05-16 22:38:36
浏览次数:19
分类:精选文章
本文共 966 字,大约阅读时间需要 3 分钟。
通道类型系统设计及实现思考
通道类型系统
通道类型系统可被定义为为真正执行业务的双方或多方提供通讯通道的系统,相当于系统间通信的中枢。基于系统的分层架构,通道类型系统主要承担着为其他业务系统传递指令和数据的职能。在一些实时性要求较高的场景中,这类系统的稳定性至关重要。
通道类型系统非功能性需求
在实际应用中,通道类型系统需要满足以下主要非功能性需求:
稳定性
通道类型系统通常需要保持极高的稳定性,尤其是在需要处理实时业务的场景中。因为通道系统的核心职能是作为业务系统之间的通信通道,一旦通道出现问题,直接将导致业务系统的中断。这就要求通道类型系统尽量减少重启次数,但这种需求与可扩展性的要求之间存在一定的冲突点。可扩展性
随着业务的不断发展和变化,系统往往会新增接口或修改接口字段。这就要求通道系统具备良好的可扩展性,能够灵活应对接口的变动。如何满足非功能性需求
为了更好地满足上述非功能性需求,我们可以从以下两个方面进行优化:
通用接口设计
首先,采用通用的业务接口框架进行设计。以JSON格式为例,可以定义如下接口结构:
cmd: 'COMMON_REQ'data: JSON格式业务数据
在此基础上,进一步细分业务类型:
cmd: ' COMMON_REQ 'busiCmd: '业务命令'busiData: '业务数据'
通过这样的设计,可以在新增业务类型或修改业务数据字段时,无需对通道类型系统进行系统修改,从而在保障稳定性的同时实现系统的可扩展性。
剥离分发操作
通道类型系统的核心职能之一是处理业务请求的分发。在实际中,分发逻辑往往需要根据不同业务类型进行调整。当业务规模逐渐扩大时,不同业务的分发规则有据不一,就会给系统带来较大的维护压力。
为解决这一问题,我们可以采用剥离分发操作的方法,将分发逻辑单独抽离成一个独立的系统。这样一来,当需要新增业务类型或者修改分发规则时,只需在分发系统中做相应的调整,而无需对通道类型系统进行改动。这种方式不仅保护了通道系统的稳定性,还为分发系统的多节点部署提供了可能性。
通过使用这种方法,可以在满足可扩展需求的同时,有效减少系统的复杂度和维护成本。特别是在需要对分发逻辑进行大规模调整时,可以采用灰度升级的方式,将新的分发逻辑逐步引入,不影响现有业务的正常运行。
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2025年05月01日 09时30分27秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Swift常用语法规则(一)
2019-03-14
Swift中使用DispatchGroup分组管理异步任务
2019-03-14
21-JS中常见的函数
2019-03-14
19-认识bootstrap
2019-03-14
为什么要使用UTF-8?
2019-03-14
Android多线程与双缓冲
2019-03-14
MVVM_Template
2019-03-14
not permitted by network security policy
2019-03-14
{spring.cloud.client.ipAddress}
2019-03-14
栈上内存溢出漏洞利用之Return Address
2019-03-14
Redhat6中获取LANG值为空
2019-03-14
Bugku CTF web4(Web)
2019-03-14
练习2-17 生成3的乘方表 (15 分)
2019-03-14
Bugku CTF web29(Web)
2019-03-14
习题4-2 求幂级数展开的部分和 (20 分)
2019-03-14
链表的实现
2019-03-14
剑指offer之和为S的连续正数序列
2019-03-14
设计模式概览——结构型模式
2019-03-14
网络+图片加载框架(英文版)
2019-03-14