技术领域
[0001] 本
发明涉及
大数据技术领域,尤其涉及一种基于高并发、高可用性、服务可扩展的平台处理架构。
背景技术
[0002] 随着互联网以及战略的实施,大量线下业态在互联网上得以实现,以将更多用户引导至线上并对其提供更多样、丰富内容的服务,各类服务平台应运而生。对于平台发展而言,做大做强是其最终的目标,而由此带来的问题即是体量越大意味着在线用户数的增长,根据实际的用户使用场景,随着在线用户数的增长,用户并发
请求数的几何增长会导致业务复杂度的增加,从而造成服务瞬间崩溃,影响服务的持续可用性以及服务内容可扩展性等一系列问题,此外,若平台需要上线新服务或者
服务器发生故障期间,用户无法
访问服务,严重影响了用户对于服务的使用。
发明内容
[0003] 鉴于目前平台服务器不稳定以至影响用户使用的问题,本发明提供一种基于高并发、高可用性、服务可扩展的平台处理架构,能够避免高流量造成的服务崩溃问题,减少服务处理的负担,使平台能够稳定运行,同时确保上线新服务时不影响既有运行服务,又能保证新服务即时上线,并利用冗余结构,确保没有服务单点故障,保障所有服务的高可用性。
[0004] 为达到上述目的,本发明的
实施例采用如下技术方案:
[0005] 一种基于高并发、高可用性、服务可扩展的平台处理架构,包括:接入层,配置为接收请求并分发到
中间层;中间层,配置为包括异步通信的消息层,用于接收接入层分发的请求并以消息队列传递到业务层;业务层,配置为通过微服务架构及服务注册发现机制进行业务处理;存储层,配置为存储数据。
[0006] 依照本发明的一个方面,接入层配置为接受多种协议的接收
接口。
[0007] 依照本发明的一个方面,接入层配置为包括网络协议层和负载均衡层,网络协议层接收多种协议的请求,负载均衡层统一请求接收接口,以适应各种协议的请求,通过配置好的策略规则,分发请求到中间层。
[0008] 依照本发明的一个方面,中间层配置为包括异步通信的消息层,并使用消费者与生产者模式,每对生产者消费者都拥有独立的消息通道。
[0009] 依照本发明的一个方面,中间层配置为包括API网关,通过异步和队列的方式,直接返回请求的结果。
[0010] 依照本发明的一个方面,微服务架构配置为将平台整体业务独立成一个个独立的业务服务,配置有认证模
块和业务模块,认证模块配置为实现服务注册发现机制,业务模块配置为进行各业务服务处理。
[0011] 依照本发明的一个方面,中间层与业务层之间配置为通过NIO进行通信。
[0012] 依照本发明的一个方面,存储层配置为使用MongoDB作为
数据库。
[0013] 依照本发明的一个方面,存储层配置为具有三个
节点,三个节点包括主节点、备用节点和隐藏节点,具体配置为:在主节点发生故障时,备用节点会升级为主节点,接管各项功能,原主节点降为备用节点,当主节点发生故障,备用节点也无法使用时,隐藏节点接管服务。
[0014] 依照本发明的一个方面,各层级分别配置为包含有相同服务的复数个节点集群。
[0015] 本发明实施的优点:通过将架构分成接入层、中间层、业务层和存储层,以便于在突然大流量请求访问时能够有效
削峰,减少服务处理的负担,此外,平台架构每一层级都考虑了性能与可用性,在通过使用各种架构及技术手段保证系统高效提供服务的同时,还使用高可用的架构,消除每个节点的单点故障问题,保证了系统的
稳定性与可用性使平台能够稳定运行;同时利用微服务架构及服务注册发现机制,上线新服务时不影响既有运行服务,又能保证新服务即时上线;利用冗余结构,确保没有服务单点故障,保障所有服务的高可用性。
附图说明
[0016] 为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017] 图1为本发明提供的一种基于高并发、高可用性、服务可扩展的平台处理架构的架构示意图;
[0019] 图3为本发明提供的一种基于高并发、高可用性、服务可扩展的平台处理架构的架构流程示意图。
具体实施方式
[0020] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021] 为了平台服务器不稳定以至影响用户使用的问题,本发明提供一种基于高并发、高可用性、服务可扩展的平台处理架构,能够避免高流量造成的服务崩溃问题,减少服务处理的负担,使平台能够稳定运行,同时确保上线新服务时不影响既有运行服务,又能保证新服务即时上线,并利用冗余结构,确保没有服务单点故障,保障所有服务的高可用性。下面结合图1-图3对基于高并发、高可用性、服务可扩展的平台处理架构进行举例说明。实施例1,如图1所示,提供了一种基于高并发、高可用性、服务可扩展的平台处理架构,包括:接入层,配置为接收请求并分发到中间层;中间层,配置为包括异步通信的消息层,用于接收接入层分发的请求并以消息队列传递到业务层;业务层,配置为通过微服务架构及服务注册发现机制进行业务处理;存储层,配置为存储数据。
[0022] 为了在不破坏接口的同时能够横向接入更多不同协议的设备,接入层配置有能够接受多种协议的接收接口,接收接口接收多种协议,并根据需求横向接入不同协议的设备。在本实施例中,接收接口默认接收Socket和HTTP的网络请求,同时可根据需求横向扩展更多其他协议,以便于面向接收接口编程,且在不破坏接收接口的同时,横向接入更多不同协议的设备,并为第三方的请求提供服务。
[0023] 具体来讲,如图2所示,接入层配置为包括网络协议层和负载均衡层,网络协议层接收多种协议的请求,负载均衡层统一请求接收接口,以适应各种协议的请求,通过配置好的策略规则,分发请求到中间层。此外,负载均衡层需要预先配置好策略规划,以便于高效分发网络请求至与其相应的业务服务内。在实际使用过程中,负载均衡层通过多个消息通道将单个用户发送的网络请求分别分发至与网络请求对应的业务服务,通过多个消息通道可以对不同业务的网络请求之间进行隔离,防止其相互干扰,并使特定的网络请求能够直接被发送至实际处理的业务服务,提高了效率,减少了不必要的等待时间。
[0024] 在具体实现方式中,中间层配置为包括异步通信的消息层,并使用消费者与生产者模式,每对生产者消费者都拥有独立的消息通道。在本实施例中,中间层配置为包括API网关,通过异步和队列的方式,直接返回请求的结果。
[0025] 更进一步地说,中间层配置为还包括消息
中间件,
消息中间件用于维持中间层接收的网络请求的有序性及稳定性,并提高中间层与业务层之间数据交互的效率。在实际设计过程中,消息中间件减少了系统与系统之间的直接依赖,使得业务能够单独的部署,提高服务器的利用率。此外,由于中间层采用的异步通信机制,能够再次提高数据交互的效率,使得服务器的承载能
力大大的提高,同时双向异步通信的机制又确保了在大并发量请求的场合时,请求不会无限制地压垮业务处理服务器,起到了对高峰时段大量请求的削峰作用。
[0026] 微服务架构配置为将平台整体业务独立成一个个独立的业务服务,配置有认证模块和业务模块,认证模块配置为实现服务注册发现机制,业务模块配置为进行各业务服务处理。具体来讲,认证模块验证网络请求的服务与业务服务是否对应,若对应,则将其发送至业务模块进行业务处理,业务模块对其接收的网络请求进行相应业务处理。在本
申请中,若该网络请求的服务与业务服务不对应,则退回该网络请求。
[0027] 为了实现中间层与业务层之间的高效通信,中间层与业务层之间配置为通过NIO进行通信,NIO用于将中间层接收的网络请求发送至业务层进行业务处理,并将经业务层处理后的处理结果发送至中间层。更进一步地说,NIO包括缓冲区、通信通道和选择器,通信通道将网络请求或处理结果作为信息数据写入缓冲区;缓冲区对信息数据的字节数进行处理;选择器对经缓冲区处理后的信息数据进行识别并通过通信通道将信息数据发送至业务层或中间层。
[0028] 在本申请中,存储层配置为使用MongoDB作为数据库。
[0029] 在本实施例中,存储层配置为具有三个节点,三个节点包括主节点、备用节点和隐藏节点,具体配置为:在主节点发生故障时,备用节点会升级为主节点,接管各项功能,原主节点降为备用节点,当主节点发生故障,备用节点也无法使用时,隐藏节点接管服务,从而多重保障了系统服务的稳定性与可用性,为用户提供持续稳定的服务。
[0030] 实施例2,一种基于高并发、高可用性、服务可扩展的平台处理架构,包括:接入层,配置为接收请求并分发到中间层;中间层,配置为包括异步通信的消息层,用于接收接入层分发的请求并以消息队列传递到业务层;业务层,配置为通过微服务架构及服务注册发现机制进行业务处理;存储层,配置为存储数据。在本申请中,各层级分别配置为包含有相同服务的复数个节点集群。
[0031] 为了在不破坏接口的同时能够横向接入更多不同协议的设备,接入层配置有能够接受多种协议的接收接口,接收接口接收多种协议,并根据需求横向接入不同协议的设备。在本实施例中,接收接口默认接收Socket和HTTP的网络请求,同时可根据需求横向扩展更多其他协议,以便于面向接收接口编程,且在不破坏接收接口的同时,横向接入更多不同协议的设备,并为第三方的请求提供服务。
[0032] 具体来讲,如图2所示,接入层配置为包括网络协议层和负载均衡层,网络协议层接收多种协议的请求,负载均衡层统一请求接收接口,以适应各种协议的请求,通过配置好的策略规则,分发请求到中间层。此外,负载均衡层需要预先配置好策略规划,以便于高效分发网络请求至与其相应的业务服务内。在实际使用过程中,负载均衡层通过多个消息通道将单个用户发送的网络请求分别分发至与网络请求对应的业务服务,通过多个消息通道可以对不同业务的网络请求之间进行隔离,防止其相互干扰,并使特定的网络请求能够直接被发送至实际处理的业务服务,提高了效率,减少了不必要的等待时间。
[0033] 在具体实现方式中,中间层配置为包括异步通信的消息层,并使用消费者与生产者模式,每对生产者消费者都拥有独立的消息通道。在本实施例中,中间层配置为包括API网关,通过异步和队列的方式,直接返回请求的结果。
[0034] 更进一步地说,中间层配置为还包括消息中间件,消息中间件用于维持中间层接收的网络请求的有序性及稳定性,并提高中间层与业务层之间数据交互的效率。在实际设计过程中,消息中间件减少了系统与系统之间的直接依赖,使得业务能够单独的部署,提高服务器的利用率。此外,由于中间层采用的异步通信机制,能够再次提高数据交互的效率,使得服务器的承载能力大大的提高,同时双向异步通信的机制又确保了在大并发量请求的场合时,请求不会无限制地压垮业务处理服务器,起到了对高峰时段大量请求的削峰作用。
[0035] 微服务架构配置为将平台整体业务独立成一个个独立的业务服务,配置有认证模块和业务模块,认证模块配置为实现服务注册发现机制,业务模块配置为进行各业务服务处理。具体来讲,认证模块验证网络请求的服务与业务服务是否对应,若对应,则将其发送至业务模块进行业务处理,业务模块对其接收的网络请求进行相应业务处理。在本申请中,若该网络请求的服务与业务服务不对应,则退回该网络请求。
[0036] 为了实现中间层与业务层之间的高效通信,中间层与业务层之间配置为通过NIO进行通信,NIO用于将中间层接收的网络请求发送至业务层进行业务处理,并将经业务层处理后的处理结果发送至中间层。更进一步地说,NIO包括缓冲区、通信通道和选择器,通信通道将网络请求或处理结果作为信息数据写入缓冲区;缓冲区对信息数据的字节数进行处理;选择器对经缓冲区处理后的信息数据进行识别并通过所述通信通道将信息数据发送至业务层或中间层。
[0037] 在本申请中,存储层配置为使用MongoDB作为数据库。
[0038] 在本实施例中,存储层配置为具有三个节点,三个节点包括主节点、备用节点和隐藏节点,具体配置为:在主节点发生故障时,备用节点会升级为主节点,接管各项功能,原主节点降为备用节点,当主节点发生故障,备用节点也无法使用时,隐藏节点接管服务,从而多重保障了系统服务的稳定性与可用性,为用户提供持续稳定的服务。
[0039] 实施例3,如图3所示,提供了一种基于高并发、高可用性、服务可扩展的平台架构的架构方法,其中:
[0040] S1,接入层接收网络请求,并将其分发至中间层。
[0041] 在本实施例中,接入层配置为包括网络协议层和负载均衡层,其中:网络协议层通过接收接口接收多种协议的请求;负载均衡层统一请求接收接口,以适应各种协议的请求,通过配置好的策略规则,分发请求到中间层。
[0042] S2,中间层接收网络请求并以消息队列传递至业务层。
[0043] 在本实施例中,中间层被配置为包括API网关和消息中间件,其中:API网关通过异步和队列的方式,根据网络请求直接返回请求的结果,消息中间件用于维持中间层接收的网络请求的有序性及稳定性,并提高中间层与业务层之间数据交互的效率。
[0044] 在具体实现方式中,中间层与业务层之间通过NIO进行通信,NIO包括缓冲区、通信通道和选择器,中间层与业务层的通信方式具体步骤为:通信通道将网络请求或处理结果作为信息数据写入缓冲区;缓冲区对信息数据的字节数进行处理;选择器对经缓冲区处理后的信息数据进行识别并通过通信通道将信息数据发送至业务层或中间层。
[0045] S3,业务层通过微服务架构及服务注册发现机制进行业务处理。
[0046] 在实际设计过程中,微服务架构配置为将平台整体业务独立成一个个独立的业务服务,配置有认证模块和业务模块,具体步骤包括:业务层接收网络请求;认证模块验证网络请求的服务与业务服务是否对应,若对应,则将其发送至业务模块进行业务处理,业务模块对其接收的网络请求进行相应业务处理,否则,退回该网络请求。
[0047] S4,存储层用于存储数据。
[0048] 在本实施例中,存储层配置为使用MongoDB作为数据库以对数据进行存储,存储层配置为具有三个节点,三个节点包括主节点、备用节点和隐藏节点,具体配置为:在主节点发生故障时,备用节点会升级为主节点,接管各项功能,原主节点降为备用节点,当主节点发生故障,备用节点也无法使用时,隐藏节点接管服务,从而多重保障了系统服务的稳定性与可用性,为用户提供持续稳定的服务。
[0049] 综上所述,本发明实施例通过将架构分成接入层、中间层、业务层和存储层,以便于在突然大流量请求访问时能够有效削峰,减少服务处理的负担,此外,平台架构每一层级都考虑了性能与可用性,在通过使用各种架构及技术手段保证系统高效提供服务的同时,还使用高可用的架构,消除每个节点的单点故障问题,保证了系统的稳定性与可用性使平台能够稳定运行;同时利用微服务架构及服务注册发现机制,上线新服务时不影响既有运行服务,又能保证新服务即时上线;利用冗余结构,确保没有服务单点故障,保障所有服务的高可用性。
[0050] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域技术的技术人员在本发明公开的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述
权利要求的保护范围为准。