CN107181806B - 一种基于dubbo的分布式业务处理系统及方法 - Google Patents
一种基于dubbo的分布式业务处理系统及方法 Download PDFInfo
- Publication number
- CN107181806B CN107181806B CN201710390891.XA CN201710390891A CN107181806B CN 107181806 B CN107181806 B CN 107181806B CN 201710390891 A CN201710390891 A CN 201710390891A CN 107181806 B CN107181806 B CN 107181806B
- Authority
- CN
- China
- Prior art keywords
- module
- service
- dubbo
- external interface
- interface module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Abstract
本发明涉及一种基于dubbo的分布式业务处理系统及方法,该系统包括:公共代码模块,用于定义dubbo服务模块的入参、出参和接口形态;对外接口模块,用于在接收到前端的业务请求时,按照入参、出参和接口形态调用dubbo服务模块;dubbo服务模块,用于根据对外接口模块的调用,调用数据库操作模块从数据库中获取业务数据并通过对外接口模块发送至前端。本发明于dubbo分布式服务框架,能够对前端的业务请求进行分布式处理,并且公共代码模块中定义了dubbo服务模块的入参、出参和接口形态,用户更换对外接口模块时无需对后台进行改动,扩展性非常强,提高了后台服务的性能和稳定性,改善了用户体验。
Description
技术领域
本发明涉及计算机应用技术领域,特别涉及一种基于dubbo的分布式业务处理系统及方法。
背景技术
随着互联网技术的发展,各种网络服务,如电子商务、论坛、门户网站等的用户量和访问量剧增,其中经常会涉及用户在网络前端进行的一些操作,如查询、添加或删除评论、评价等,而目前网络的后台服务系统存在性能差、稳定性、扩展性不高等问题,严重影响了后台服务能力的扩展和前端用户的使用体验。
发明内容
本发明所要解决的技术问题是提供一种基于dubbo的分布式业务处理系统及方法,能够解决目前后台系统存在的上述问题。
本发明解决上述技术问题的技术方案如下:一种基于dubbo的分布式业务处理系统,包括对外接口模块、公共代码模块、数据库操作模块和dubbo服务模块;
所述公共代码模块,用于定义dubbo服务模块的入参、出参和接口形态;
所述对外接口模块,用于在接收到前端的业务请求时,按照所述入参、出参和接口形态调用dubbo服务模块;
所述dubbo服务模块,用于根据所述对外接口模块的调用,调用所述数据库操作模块从数据库中获取业务数据并通过对外接口模块发送至前端。
本发明的有益效果是:基于dubbo分布式服务框架,能够对前端的业务请求进行分布式处理,并且公共代码模块中定义了dubbo服务模块的入参、出参和接口形态,用户更换对外接口模块时无需对后台进行改动,扩展性非常强,提高了后台服务的性能和稳定性,改善了用户体验。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,所述dubbo服务模块还用于在所述业务请求为查询类请求时,在所述dubbo服务模块中配置的spring缓存中进行查询操作,若查询成功则将查询的业务数据发送至前端,否则调用所述数据库操作模块,从数据库中获取业务数据,将所述业务数据缓存在所述spring缓存中。
进一步,所述spring缓存连接redis分布式缓存。
进一步,所述对外接口模块采用rest接口模块或webservice接口模块。
为实现上述发明目的,本发明还提供一种基于dubbo的分布式业务处理方法,包括:
公共代码模块定义dubbo服务模块的入参、出参和接口形态;
对外接口模块在接收到前端的业务请求时,按照所述入参、出参和接口形态调用dubbo服务模块;
dubbo服务模块根据所述对外接口模块的调用,调用所述数据库操作模块从数据库中获取业务数据并通过对外接口模块发送至前端。
本发明的有益效果是:基于dubbo分布式服务框架,能够对前端的业务请求进行分布式处理,并且公共代码模块中定义了dubbo服务模块的入参、出参和接口形态,用户更换对外接口模块时无需对后台进行改动,扩展性非常强,提高了后台服务的性能和稳定性,改善了用户体验。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步,dubbo服务模块在所述业务请求为查询类请求时在dubbo服务模块中配置的spring缓存中进行查询操作,若查询成功则将查询的业务数据发送至前端,否则调用所述数据库操作模块,从数据库中获取业务数据,将所述业务数据缓存在所述spring缓存中。
进一步,所述spring缓存连接redis分布式缓存。
进一步,所述对外接口模块采用rest接口模块或webservice接口模块。
附图说明
图1为本发明实施例提供的一种基于dubbo的分布式业务处理系统的结构框图;
图2为本发明实施例提供的另一种基于dubbo的分布式业务处理系统的结构框图;
图3为本发明实施例提供一种基于dubbo的分布式业务处理方法的流程图;
图4为本发明实施例提供另一种基于dubbo的分布式业务处理方法的流程图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
图1为本发明实施例提供的一种基于dubbo的分布式业务处理系统的结构框图,如图1所示,该系统包括对外接口模块101、公共代码模块102、数据库操作模块104和dubbo服务模块103;
所述公共代码模块101,用于定义dubbo服务模块103的入参、出参和接口形态;
所述对外接口模块102,用于在接收到前端的业务请求时,按照所述入参、出参和接口形态调用dubbo服务模块3;
所述dubbo服务模块103,用于根据所述对外接口模块101的调用,调用所述数据库操作模块104从数据库中获取业务数据并通过对外接口模块101发送至前端。
应理解,Dubbo是一个高性能优秀的分布式服务框架,使得应用可通过高性能的RPC(Remote Procedure Call Protocol远程过程调用协议)实现服务的输出和输入功能,可以和Spring框架无缝集成。
具体的,如图1所示,对外接口模块101与dubbo相应的接口均按照公共代码模块102定义的dubbo服务模块103的接口形态、入参和出参进行数据交互,这样,用户更换对外接口模块101时无需对后台进行改动,扩展性非常强,另外,基于dubbo分布式服务框架,可以支撑分布式横向扩展,对前端的业务请求进行分布式处理,在性能要求很高的情况下,可以在多台机器上部署多份dubbo服务器,通过注册中心zookeeper进行统一注册管理,结合dubbo和zookeeper,可以进行负载均衡、规则路由、服务降级等。具体的,zookeeper可以在多个dubbo节点中分配业务请求,当出现某个节点宕机了,zookeeper会将请求分配到其他节点,不会影响业务,提高了稳定性,解决了用户访问量高时,后台服务响应慢的问题。
可选地,作为本发明的一个实施例中,如图2所示,所述dubbo服务模块103还用于在所述业务请求为查询类请求时,在所述dubbo服务模块103中配置的spring缓存中进行查询操作,若查询成功则将查询的业务数据发送至前端,否则调用所述数据库操作模块104,从数据库中获取业务数据,将所述业务数据缓存在所述spring缓存中。
具体的,对于查询类操作,如评价列表查询、评分查询等时效性要求不高的服务,通过缓存机制提升性能。如:1分钟内有10000次查询,在第一次从数据库查到结果之后缓存在spring缓存中(例如可以缓存1分钟),之后9999次查询就无需查询数据库,直接通过spring缓存查到,大大提升了性能。
可选地,在该实施例中,如图2所示,所述spring缓存连接redis分布式缓存。
应理解,spring缓存连接redis分布式缓存为现有技术,可以进一步提高系统性能。
可选地,在该实施例中,所述对外接口模块101采用rest接口模块或webservice接口模块。
具体的,REST接口或WEBSERVICE接口均能够采用公共代码模块中定义的入参、出参和接口形态,用户更换接口时无需对后台进行改动,扩展性非常强。
图3为本发明实施例提供一种基于dubbo的分布式业务处理方法的流程图,如图3所示,该方法包括:
301、公共代码模块定义dubbo服务模块的入参、出参和接口形态;
302、对外接口模块在接收到前端的业务请求时,按照所述入参、出参和接口形态调用dubbo服务模块;
303、dubbo服务模块根据所述对外接口模块的调用,调用所述数据库操作模块从数据库中获取业务数据并通过对外接口模块发送至前端。
应理解,Dubbo是阿里巴巴公司开源的一个高性能优秀的分布式服务框架,使得应用可通过高性能的RPC(Remote Procedure Call Protocol远程过程调用协议)实现服务的输出和输入功能,可以和Spring框架无缝集成。
具体的,对外接口模块与dubbo相应的接口按照公共代码模块定义的dubbo服务模块的接口形态、入参和出参进行数据交互,这样,用户更换对外接口模块时无需对后台进行改动,扩展性非常强,另外,基于dubbo分布式服务框架,可以支撑分布式横向扩展,对前端的业务请求进行分布式处理,在性能要求很高的情况下,可以在多台机器上部署多份dubbo服务器,通过注册中心zookeeper进行统一注册管理,结合dubbo和zookeeper,可以进行负载均衡、规则路由、服务降级等。具体的,zookeeper可以在多个dubbo节点中分配业务请求,当出现某个节点宕机了,zookeeper会将请求分配到其他节点,不会影响业务,提高了稳定性,解决了用户访问量高时,后台服务响应慢的问题。
可选地,作为本发明的一个实施例中,如图4所示,基于dubbo的分布式业务处理方法包括:
401、公共代码模块定义dubbo服务模块的入参、出参和接口形态;
402、对外接口模块在接收到前端的业务请求时,按照所述入参、出参和接口形态调用dubbo服务模块;
403、dubbo服务模块在所述业务请求为查询类请求时在dubbo服务模块中配置的spring缓存中进行查询操作,若查询成功则进入404,否则进入405;
404、将查询的业务数据发送至前端;
405、调用数据库操作模块,从数据库中获取业务数据,将业务数据缓存在所述spring缓存中。
具体的,对于查询类操作,如评价列表查询、评分查询等时效性要求不高的服务,通过缓存机制提升性能。如:1分钟内有10000次查询,在第一次从数据库查到结果之后缓存在spring缓存中(例如可以缓存1分钟),之后9999次查询就无需查询数据库,直接通过spring缓存查到,大大提升了性能。
可选地,在该实施例中,所述spring缓存连接redis分布式缓存。
应理解,spring缓存连接redis分布式缓存为现有技术,可以进一步提高系统性能。
可选地,在该实施例中,所述对外接口模块采用rest接口模块或webservice接口模块。
具体的,REST接口或WEBSERVICE接口均能够采用公共代码模块中定义的入参、出参和接口形态,用户更换接口时无需对后台进行改动,扩展性非常强。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于dubbo的分布式业务处理系统,其特征在于,包括对外接口模块、公共代码模块、数据库操作模块和dubbo服务模块;
所述公共代码模块,用于定义dubbo服务模块的入参、出参和接口形态;
所述对外接口模块,用于在接收到前端的业务请求时,按照所述入参、出参和接口形态调用dubbo服务模块;
所述dubbo服务模块,用于根据所述对外接口模块的调用,调用所述数据库操作模块从数据库中获取业务数据并通过对外接口模块发送至前端;还用于在所述业务请求为查询类请求时,在所述dubbo服务模块中配置的spring缓存中进行查询操作,若查询成功则将查询的业务数据发送至前端,否则调用所述数据库操作模块,从数据库中获取业务数据,将所述业务数据缓存在所述spring缓存中。
2.根据权利要求1所述的基于dubbo的分布式业务处理系统,其特征在于,所述spring缓存连接redis分布式缓存。
3.根据权利要求1或2所述的基于dubbo的分布式业务处理系统,其特征在于,所述对外接口模块采用rest接口模块或webservice接口模块。
4.一种基于dubbo的分布式业务处理方法,其特征在于,包括:
公共代码模块定义dubbo服务模块的入参、出参和接口形态;
对外接口模块在接收到前端的业务请求时,按照所述入参、出参和接口形态调用dubbo服务模块;
dubbo服务模块根据所述对外接口模块的调用,调用数据库操作模块从数据库中获取业务数据并通过对外接口模块发送至前端;在所述业务请求为查询类请求时,dubbo服务模块在dubbo服务模块中配置的spring缓存中进行查询操作,若查询成功则将查询的业务数据发送至前端,否则调用所述数据库操作模块,从数据库中获取业务数据,将所述业务数据缓存在所述spring缓存中。
5.根据权利要求4所述的基于dubbo的分布式业务处理方法,其特征在于,所述spring缓存连接redis分布式缓存。
6.根据权利要求4或5任一项所述的基于dubbo的分布式业务处理方法,其特征在于,所述对外接口模块采用rest接口模块或webservice接口模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710390891.XA CN107181806B (zh) | 2017-05-27 | 2017-05-27 | 一种基于dubbo的分布式业务处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710390891.XA CN107181806B (zh) | 2017-05-27 | 2017-05-27 | 一种基于dubbo的分布式业务处理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107181806A CN107181806A (zh) | 2017-09-19 |
CN107181806B true CN107181806B (zh) | 2020-09-01 |
Family
ID=59836615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710390891.XA Active CN107181806B (zh) | 2017-05-27 | 2017-05-27 | 一种基于dubbo的分布式业务处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107181806B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055248B (zh) * | 2017-11-30 | 2020-12-25 | 平安科技(深圳)有限公司 | 基于dubbo框架的远程调用方法、服务器及存储介质 |
CN108111496B (zh) * | 2017-12-13 | 2020-11-20 | 杭州安恒信息技术股份有限公司 | 为dubbo分布式应用暴露http服务的方法、装置及系统 |
CN108337106B (zh) * | 2017-12-18 | 2021-07-16 | 海尔优家智能科技(北京)有限公司 | 物联网微服务系统架构的构建方法、平台及计算机设备 |
CN108306955B (zh) * | 2018-01-24 | 2021-06-15 | 北京万得嘉瑞汽车技术有限公司 | 一种车载终端大规模互联集群方法 |
CN109413185A (zh) * | 2018-10-31 | 2019-03-01 | 国网河南省电力公司焦作供电公司 | 一种设备巡检系统及其云服务器设计方法 |
CN112468580A (zh) * | 2020-11-25 | 2021-03-09 | 政采云有限公司 | 一种业务服务的调用方法、装置、设备及存储介质 |
CN115604333B (zh) * | 2022-10-12 | 2023-09-12 | 江苏赛融科技股份有限公司 | 基于dubbo的分布式大数据分析服务调度方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7613696B2 (en) * | 2006-02-24 | 2009-11-03 | International Business Machines Corporation | Configuring search results using a layout editor |
CN102281152B (zh) * | 2011-06-08 | 2014-10-29 | 烽火通信科技股份有限公司 | 分布式通信系统、实现方法及远程api的编组和解组方法 |
CN103136095A (zh) * | 2011-11-28 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 一种测试应用程序接口的方法、装置及系统 |
CN103164270B (zh) * | 2011-12-12 | 2017-08-04 | 阿里巴巴集团控股有限公司 | java系统应用程序编程接口调用方法及系统 |
CN103297381B (zh) * | 2012-02-22 | 2017-01-18 | 阿里巴巴集团控股有限公司 | 一种基于插件的业务访问方法及其系统 |
CN104427627B (zh) * | 2013-08-23 | 2018-04-24 | 阿里巴巴集团控股有限公司 | 测试数据获取方法、客户端与服务器 |
CN104423961B (zh) * | 2013-09-11 | 2017-11-17 | 阿里巴巴集团控股有限公司 | 一种生成测试脚本的方法及系统 |
CN104536809B (zh) * | 2014-11-26 | 2018-01-19 | 上海瀚之友信息技术服务有限公司 | 一种基于客户端、服务器系统的分布式定时任务调度系统 |
CN105791354A (zh) * | 2014-12-23 | 2016-07-20 | 中兴通讯股份有限公司 | 作业调度方法和云调度服务器 |
CN104731893A (zh) * | 2015-03-17 | 2015-06-24 | 北京京东尚科信息技术有限公司 | 一种基于dubbo的web服务查找方法、装置和系统 |
CN106126332A (zh) * | 2016-06-27 | 2016-11-16 | 北京京东尚科信息技术有限公司 | 分布式定时任务调度系统及方法 |
CN106487596B (zh) * | 2016-10-26 | 2019-12-13 | 宜人恒业科技发展(北京)有限公司 | 分布式服务跟踪实现方法 |
CN106550033A (zh) * | 2016-10-27 | 2017-03-29 | 普元信息技术股份有限公司 | 基于云计算系统实现模拟全网能力开放平台的系统和方法 |
-
2017
- 2017-05-27 CN CN201710390891.XA patent/CN107181806B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107181806A (zh) | 2017-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107181806B (zh) | 一种基于dubbo的分布式业务处理系统及方法 | |
US8719427B2 (en) | Efficiency for network group communication | |
US7644267B2 (en) | Controlling access to services in a communications system | |
CN107623729B (zh) | 一种缓存方法、设备及缓存服务系统 | |
WO2017167050A1 (zh) | 配置信息生成、发送方法及资源加载方法和装置及系统 | |
CN103795689A (zh) | 资源订阅方法及装置 | |
CN111797091A (zh) | 数据库中数据查询的方法、装置、电子设备和存储介质 | |
CN102291243A (zh) | 业务处理服务器、系统和方法 | |
CN104767690A (zh) | 一种流量调度装置及方法 | |
EP4247103A1 (en) | Method and apparatus for determining satellite backhaul information | |
US20180331974A1 (en) | Method and apparatus for controlling and facilitating control of data stream of user in sdn network | |
CN113630428B (zh) | 用于服务数据的获取方法和获取系统 | |
CN114731526A (zh) | 支持分析生成的网络实体 | |
KR20150103220A (ko) | 통신 네트워크 기능의 개방을 위한 시스템 아키텍처, 서브시스템, 및 방법 | |
CN108989420A (zh) | 注册服务的方法及系统、调用服务的方法及系统 | |
EP2466854A1 (en) | Mobile search method and system thereof | |
CN109063140A (zh) | 一种数据查询方法、中转服务器及计算机可读存储介质 | |
JP2003141002A (ja) | Url長変換システム及びそのプログラム | |
WO2012110079A1 (en) | Distribution of data processing | |
US10027754B2 (en) | Large data set updating for network usage records | |
CN103533001A (zh) | 基于http多重代理的通信方法和系统、中间代理服务器 | |
JP5530474B2 (ja) | 情報処理装置及び方法 | |
CN115396494A (zh) | 基于流式计算的实时监控方法及系统 | |
CN113138943B (zh) | 一种处理请求的方法和装置 | |
CN110995890B (zh) | 域名请求的调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |