CN111190580A - 一种基于微服务架构的菠菜云技术平台 - Google Patents
一种基于微服务架构的菠菜云技术平台 Download PDFInfo
- Publication number
- CN111190580A CN111190580A CN201911358737.XA CN201911358737A CN111190580A CN 111190580 A CN111190580 A CN 111190580A CN 201911358737 A CN201911358737 A CN 201911358737A CN 111190580 A CN111190580 A CN 111190580A
- Authority
- CN
- China
- Prior art keywords
- service
- configuration
- framework
- frame
- spinach
- 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.)
- Pending
Links
- 238000005516 engineering processes Methods 0.000 title claims abstract description 30
- 235000009337 Spinacia oleracea Nutrition 0.000 title claims abstract description 27
- 280000647938 Spinach companies 0.000 title 1
- 240000003453 Spinacia oleracea Species 0.000 title 1
- 239000008264 clouds Substances 0.000 title 1
- 241000219315 Spinacia Species 0.000 claims abstract description 26
- 238000004458 analytical method Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000004140 cleaning Methods 0.000 claims description 4
- 230000000875 corresponding Effects 0.000 claims description 4
- 230000003862 health status Effects 0.000 claims description 3
- 230000002688 persistence Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06Q—DATA PROCESSING SYSTEMS OR METHODS, SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL, SUPERVISORY OR FORECASTING PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/20—Product repair or maintenance administration
Abstract
本发明提出了一种基于微服务架构的菠菜云技术平台,包括开发框架、监控系统及运维系统,所述开发框架包括数据访问层框架、通用业务层框架、控制层框架、权限框架、异常处理框架、服务调用框架及日志处理框架。本发明提供了研发到运维一体化解决方案,降低了开发与运维成本,提高物流IT项目交付的效率,提升了客户服务的满意度,降低了企业对技术人员的要求,便于企业培养开发、测试、运维技术人员。
Description
技术领域
本发明涉及系统架构设计和框架开发技术领域,尤其涉及一种基于微服务架构的菠菜云技术平台。
背景技术
微服务开发相对于传统的单体应用开发更加的简单、高效,但多应用于互联网产品,在物流行业中业务形态多、系统的功能复杂、流程众多,使用微服务架构时需要考虑存储、读写性能、负载、熔断、监控运维等众多因素。目前主流的有dubbo、springcloud等解决方案。但这些解决方案应用于物流行业软件时,存在以下问题:功能分散在各子项目中,整合配置项繁多,不易于控制和管理;从开发到运维没能提供一个完整的解决方案,依赖过多的三方服务,会导致整个平台太过臃肿和庞大,资源消耗多,无法满足项目交付场景,运维成本增加;针对行业无法提供标准化规范,过多的技术替换方案让开发人员无所适从。
发明内容
有鉴于此,本发明提出了一种基于微服务架构的菠菜云技术平台,以解决传统微服务架构技术的技术繁杂、资源冗余、规范不全、行业提炼缺失的问题。
本发明的技术方案是这样实现的:本发明提供了一种基于微服务架构的菠菜云技术平台,包括开发框架、监控系统及运维系统,所述开发框架包括数据访问层框架、通用业务层框架、控制层框架、权限框架、异常处理框架、服务调用框架及日志处理框架,其中:
所述数据访问层框架用于数据库操作,所述通用业务层框架用于提供通用业务工具,所述控制层框架用于规范数据的输入输出及自动生成API,所述权限框架用于提供访问权限控制,所述异常处理框架用于处理异常并自动推送异常信息,所述服务调用框架用于服务调用过程中的负载和熔断控制;所述日志处理框架用于规范日志输出格式及方式、自动捕获、记录及实时推送用户行为信息;
所述监控系统用于根据所述控制层框架和所述日志处理框架对服务健康状态进行监控,根据所述服务调用框架跟踪并记录整个服务调用链路;
所述运维系统用于系统日志分析、链路节点分析及分布式服务在线配置。
可选的,所述数据库包括多种标准化数据库。
可选的,所述数据库的类型包括oracle、mysql、redis、mongodb。
可选的,所述通用业务工具包括日期处理、excel处理、字符串处理、聚类计算、文件操作、图片操作、分布式事务处理。
可选的,所述运维系统的分布式配置包括配置界面服务、配置推送服务及配置客户端,所述配置界面服务后台连接所述配置推送服务,所述配置推送服务与多个所述配置客户端保持长连接。
可选的,所述分布式服务在线配置的步骤包括:
所述配置推送服务接收配置发布命令;
所述配置推送服务将配置信息实时推送给指定的所述配置客户端;
所述配置客户端接收所述配置信息,动态刷新服务的相应配置项。
可选的,所述配置界面服务提供图形界面。
可选的,所述监控系统根据所述控制层框架和所述日志处理框架对服务健康状态进行监控的步骤包括:
所述日志处理框架将日志信息实时推送到kafka消息中间件;
日志分析服务实时消费所述kafka消息中间件中的日志信息,并进行数据的清洗和实时计算;
所述日志分析服务将实时信息放入到elasticsearch中进行存储,并由所述监控系统进行读取使用。
本发明的基于微服务架构的菠菜云技术平台相对于现有技术具有以下有益效果:
(1)本发明的基于微服务架构的菠菜云技术平台提供了研发到运维一体化解决方案,降低了开发与运维成本,提高物流IT项目交付的效率,提升了客户服务的满意度,降低了企业对技术人员的要求,便于企业培养开发、测试、运维技术人员;
(2)本发明的数据访问层框架提供了大量标准化数据库访问方法,避免了开发者编写sql,同时提供了多数据库的支持,相比较常规的JPA框架,API更加的简洁,入门更容易,同时支持针对复杂业务场景下的sql调优。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的基于微服务架构的菠菜云技术平台的结构框图;
图2为本发明的监控系统根据日志处理框架对服务业务状态进行监控的流程图;
图3为本发明的分布式配置的流程图。
具体实施方式
下面将结合本发明实施方式,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
如图1所示,本发明的基于微服务架构的菠菜云技术平台,包括开发框架、监控系统及运维系统,所述开发框架包括数据访问层框架、通用业务层框架、控制层框架、权限框架、异常处理框架、服务调用框架及日志处理框架,其中:
所述数据访问层框架用于数据库操作,所述通用业务层框架用于提供通用业务工具,所述控制层框架用于规范数据的输入输出及自动生成API,所述权限框架用于提供访问权限控制,所述异常处理框架用于处理异常并自动推送异常信息,所述服务调用框架用于服务调用过程中的负载和熔断控制;所述日志处理框架用于规范日志输出格式及方式、自动捕获、记录及实时推送用户行为信息;
所述监控系统用于根据所述控制层框架和所述日志处理框架对服务健康状态进行监控,根据所述服务调用框架跟踪并记录调用链路;
所述运维系统用于系统日志分析、链路节点分析及分布式服务在线配置。
本实施例中,数据访问层框架用于数据库操作,数据访问层框架提供了大量标准化数据库访问方法,包括对oracle、mysql、redis、mongodb等不同类型的数据库进行适配,这样可支持多种标准化数据库的操作,避免了开发者编写sql,同时提供了多数据库的支持,相比较常规的JPA框架如hibernate,API更加的简洁,入门更容易,同时支持针对复杂业务场景下的sql调优。数据访问层框架中提供了通用增删改查操作的快速实现,通过简单的接口集成即可完成,同时提供了分库分表和分布式锁的实现。通用业务层框架除了提供日期处理、excel处理、字符串处理、文件操作、图片操作、分布式事务处理等常用工具外,还提供了聚类计算等库内作业常用算法支持,这样大大丰富了菠菜云技术平台的功能种类。权限框架具有独有的双重校验机制,将前端权限和后端权限进行了分离,并实现了不同的网关,可在不同的业务场景下为不同的网关提供服务。服务调用框架采用约定式配置,可保证服务的高可用。日志处理框架通过切面技术,实现用户行为信息的自动捕获、记录及实时推送。
这里以具体的定时调度服务对本实施例的菠菜云技术平台的工作进行说明。
定时调度服务是一个分布式定时任务调度服务,主要功能是按照配置的定时规则定时的通过接口自动化处理业务,其业务场景包含了数据同步、信息采集、消息推送等,具体功能模块包括规则维护、处理日志记录、权限控制、任务管理,支持无状态部署、高可用、稳定输出。定时调度服务依托于菠菜云技术平台构建。
定时调度服务从开发角度上讲分三层,包括数据持久层、业务层及访问控制层。定时调度服务的数据持久层使用菠菜云技术平台开发框架中的数据访问层框架进行开发。定时调度服务的业务层主要使用了菠菜云技术平台中的通用业务层框架,在通用业务层框架中,通用业务层框架实现服务的调用问题,同时提供了很多通用业务处理工具,比如文件操作、图片操作、分布式事务处理等,其中分布式事务控制引入事务组概念,采用数据源代理加上事务协调器来实现,在具体的开发过程中只需要在本地事务上开启分布式事务注解即可。定时调度服务的访问控制层主要使用了菠菜云技术平台中的控制层框架,控制层框架提供了全局异常处理、API自动生成等功能。
定时调度服务是一个微服务单元,在一个微服务中必须考虑服务的注册、授权、网关、服务调用、服务熔断等技术点的实现,但在实际的开发中使用本实施例的菠菜云技术平台,技术平台自身就实现了这所有的功能,只需要通过一个注解进行开启功能即可。
定时调度服务生产时会以多实例的方式运行于多台不同的服务器上,以保证其高可用,但是这会导致运维的难度提高,分布在各个服务器上各实例的健康状态难以监测,日志都在本地,导致出现问题时日志排查变的复杂,调度接口性能难以监控和调优。本实施例中,定时调度服务的服务实例运行在菠菜云技术平台之上,平台提供了服务监控、链路跟踪、日志跟踪、在线配置等治理功能,系统运维人员可以通过平台实时的知晓定时调度服务的健康状态、查询链路情况、跟踪运行日志及在线修改配置,以便更好的展开运维工作,从而让运维更加的简单、智能。这样,本实施例的菠菜云技术平台提供了研发到运维一体化解决方案,降低了开发与运维成本,提高物流IT项目交付的效率,提升了客户服务的满意度,降低了企业对技术人员的要求,便于企业培养开发、测试、运维技术人员。
可选的,如图2所示,所述监控系统根据所述控制层框架和所述日志处理框架对服务健康状态进行监控的步骤包括:
步骤S10,所述日志处理框架将日志信息实时推送到kafka消息中间件;
步骤S11,日志分析服务实时消费所述kafka消息中间件中的日志信息,并进行数据的清洗和实时计算;
步骤S12,所述日志分析服务将实时信息放入到elasticsearch中进行存储,并由所述监控系统进行读取使用。
本实施例中的监控系统基于开发框架中的服务调用框架和日志处理框架,打造服务的监控平台。首先,根据日志处理框架中的实施推送功能,实现基于日志的服务业务状态监控,主要过程是日志处理框架将日志信息实时的推送到kafka消息中间件中,日志分析服务实时消费kafka消息中间件中的日志信息,并进行数据的清洗和实时计算,将实时信息推送给监控服务,并放入到elasticsearch中进行存储。其次,基于服务调用框架,实现调用链路的跟踪和记录,过程同日志的服务业务状态监控相同。这样可根据上述步骤实现监控系统的监控功能。
可选的,所述运维系统的分布式配置中心包括配置界面服务、配置推送服务及配置客户端,所述配置界面服务后台连接所述配置推送服务,所述配置推送服务与多个所述配置客户端保持长连接。
具体的,如图3所示,所述分布式服务在线配置的步骤包括:
步骤S20,所述配置推送服务接收配置发布命令;
步骤S21,所述配置推送服务将配置信息实时推送给指定的所述配置客户端;
步骤S22,所述配置客户端接收所述配置信息,动态刷新服务的相应配置项。
本实施例中,日志分析和链路节点分析的功能在监控系统中已进行说明,这里,分布式配置中心主要分为配置界面服务、配置推送服务和配置客户端,配置客户端包含在通用业务框架中,配置界面服务后台连接配置推送服务,并提供图形界面给运维人员以方便其操作,配置推送服务将与多个配置客户端保持一个长连接,当运维人员通过界面发送配置发布命令到配置推送服务时,配置推送服务将实时的将配置信息推送给指定客户端,配置客户端接到配置信息,将动态刷新服务的相应配置项,最终实现在线集中配置功能。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于微服务架构的菠菜云技术平台,其特征在于,包括开发框架、监控系统及运维系统,所述开发框架包括数据访问层框架、通用业务层框架、控制层框架、权限框架、异常处理框架、服务调用框架及日志处理框架,其中:
所述数据访问层框架用于数据库操作,所述通用业务层框架用于提供通用业务工具,所述控制层框架用于规范数据的输入输出及自动生成API,所述权限框架用于提供访问权限控制,所述异常处理框架用于处理异常并自动推送异常信息,所述服务调用框架用于服务调用过程中的负载和熔断控制;所述日志处理框架用于规范日志输出格式及方式、自动捕获、记录及实时推送用户行为信息;
所述监控系统用于根据所述控制层框架和所述日志处理框架对服务健康状态进行监控,根据所述服务调用框架跟踪并记录调用链路;
所述运维系统用于系统日志分析、链路节点分析及分布式服务在线配置。
2.如权利要求1所述的基于微服务架构的菠菜云技术平台,其特征在于,所述数据库包括多种标准化数据库。
3.如权利要求2所述的基于微服务架构的菠菜云技术平台,其特征在于,所述数据库的类型包括oracle、mysql、redis、mongodb。
4.如权利要求1所述的基于微服务架构的菠菜云技术平台,其特征在于,所述通用业务工具包括日期处理、excel处理、字符串处理、聚类计算、文件操作、图片操作、分布式事务处理。
5.如权利要求1所述的基于微服务架构的菠菜云技术平台,其特征在于,所述运维系统的分布式配置中心包括配置界面服务、配置推送服务及配置客户端,所述配置界面服务后台连接所述配置推送服务,所述配置推送服务与多个所述配置客户端保持长连接。
6.如权利要求5所述的基于微服务架构的菠菜云技术平台,其特征在于,所述分布式服务在线配置的步骤包括:
所述配置推送服务接收配置发布命令;
所述配置推送服务将配置信息实时推送给指定的所述配置客户端;
所述配置客户端接收所述配置信息,动态刷新服务的相应配置项。
7.如权利要求6所述的基于微服务架构的菠菜云技术平台,其特征在于,所述配置界面服务提供图形界面。
8.如权利要求1所述的基于微服务架构的菠菜云技术平台,其特征在于,所述监控系统根据所述控制层框架和所述日志处理框架对服务健康状态进行监控的步骤包括:
所述日志处理框架将日志信息实时推送到kafka消息中间件;
日志分析服务实时消费所述kafka消息中间件中的日志信息,并进行数据的清洗和实时计算;
所述日志分析服务将实时信息放入到elasticsearch中进行存储,并由所述监控系统进行读取使用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911358737.XA CN111190580A (zh) | 2019-12-25 | 2019-12-25 | 一种基于微服务架构的菠菜云技术平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911358737.XA CN111190580A (zh) | 2019-12-25 | 2019-12-25 | 一种基于微服务架构的菠菜云技术平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111190580A true CN111190580A (zh) | 2020-05-22 |
Family
ID=70707579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911358737.XA Pending CN111190580A (zh) | 2019-12-25 | 2019-12-25 | 一种基于微服务架构的菠菜云技术平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111190580A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193546A (zh) * | 2017-04-11 | 2017-09-22 | 国网天津市电力公司信息通信公司 | 一种微服务化业务应用系统 |
US20180309637A1 (en) * | 2017-04-25 | 2018-10-25 | Nutanix, Inc. | Systems and methods for networked microservice modeling and visualization |
CN109150599A (zh) * | 2018-08-10 | 2019-01-04 | 山东浪潮通软信息科技有限公司 | 一种基于云架构的运维监控系统 |
CN109600269A (zh) * | 2019-01-21 | 2019-04-09 | 云南电网有限责任公司信息中心 | 一种基于dcos的云管理平台 |
CN109803018A (zh) * | 2019-01-24 | 2019-05-24 | 云南电网有限责任公司信息中心 | 一种基于Mesos和YARN结合的DCOS云管理平台 |
CN110321152A (zh) * | 2019-07-04 | 2019-10-11 | 青岛华正信息技术股份有限公司 | 一种软件开发平台 |
-
2019
- 2019-12-25 CN CN201911358737.XA patent/CN111190580A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193546A (zh) * | 2017-04-11 | 2017-09-22 | 国网天津市电力公司信息通信公司 | 一种微服务化业务应用系统 |
US20180309637A1 (en) * | 2017-04-25 | 2018-10-25 | Nutanix, Inc. | Systems and methods for networked microservice modeling and visualization |
CN109150599A (zh) * | 2018-08-10 | 2019-01-04 | 山东浪潮通软信息科技有限公司 | 一种基于云架构的运维监控系统 |
CN109600269A (zh) * | 2019-01-21 | 2019-04-09 | 云南电网有限责任公司信息中心 | 一种基于dcos的云管理平台 |
CN109803018A (zh) * | 2019-01-24 | 2019-05-24 | 云南电网有限责任公司信息中心 | 一种基于Mesos和YARN结合的DCOS云管理平台 |
CN110321152A (zh) * | 2019-07-04 | 2019-10-11 | 青岛华正信息技术股份有限公司 | 一种软件开发平台 |
Non-Patent Citations (1)
Title |
---|
风中程序猿: ""微服务架构:基于微服务和Docker容器技术的PaaS云平台架构设计(微服务架构实施原理)"", 《HTTPS://WWW.CNBLOGS.COM/FANGFUHAI/P/7065847.HTML》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chandarana et al. | Big data analytics frameworks | |
Russom | Managing big data | |
US10606711B2 (en) | Recovery strategy for a stream processing system | |
US20190138367A1 (en) | Managing Resource Allocation in a Stream Processing Framework | |
US8918363B2 (en) | Data processing service | |
US9965330B2 (en) | Maintaining throughput of a stream processing framework while increasing processing load | |
US8660987B2 (en) | Data cache techniques in support of synchronization of databases in a distributed environment | |
US8938421B2 (en) | Method and a system for synchronizing data | |
US7814470B2 (en) | Multiple service bindings for a real time data integration service | |
US8060553B2 (en) | Service oriented architecture for a transformation function in a data integration platform | |
US6738975B1 (en) | Extensible distributed enterprise application integration system | |
Fowler et al. | Grand challenges in modeling and simulation of complex manufacturing systems | |
US10296373B2 (en) | Generic wait service: pausing and resuming a plurality of BPEL processes arranged in correlation sets by a central generic wait server | |
CN102880503B (zh) | 数据分析系统及数据分析方法 | |
US20180240062A1 (en) | Collaborative algorithm development, deployment, and tuning platform | |
CN100440205C (zh) | 利用联机分析处理变型先发地高速缓存的系统和方法 | |
US6910053B1 (en) | Method for data maintenance in a network of partially replicated database systems | |
Cai et al. | DartFlow: A workflow management system on the web using transportable agents | |
Vera-Baquero et al. | Real-time business activity monitoring and analysis of process performance on big-data domains | |
Lin et al. | Scaling big data mining infrastructure: the twitter experience | |
US7184940B2 (en) | Collaboration session recording model | |
US9077717B2 (en) | Propagation and adoption of extensions across applications in networked solutions | |
US7865459B2 (en) | Integration of a service-oriented transaction system with an information storage, access and analysis system | |
Dourish | No SQL: The shifting materialities of database technology | |
US10684990B2 (en) | Reconstructing distributed cached data for retrieval |
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 |