首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
钟陈星  李杉杉  张贺  章程 《软件学报》2019,30(10):3227-3241
近年来,DevOps日渐火热,作为支撑技术的微服务架构由于其敏捷性、灵活性和可扩展性已成为软件行业关注的热点.然而,微服务粒度的界定是微服务领域的一项难题,至今仍缺乏行之有效的评估微服务粒度的标准.针对这一问题,结合几种微服务划分原则提出了4项评估指标,用于量化地衡量微服务划分的合理性,并基于此提出了一种基于限界上下文的微服务粒度评估模型.同时,实现了工具原型可自动化地计算评估结果.案例研究部分将模型的评估结果与架构设计人员的心理预期进行比较,结果表明,所提出的评估模型可以较好地评估微服务粒度.  相似文献   

2.

The microservice architecture has gained remarkable attention in recent years. Microservices allow developers to implement and deploy independent services, so they are a naturally effective architecture for continuously deployed systems. Because of this, several organizations are undertaking the costly process of manually migrating their traditional software architectures to microservices. The research in this paper aims at facilitating the migration from monolithic software architectures to microservices. We propose a framework which enables software developers/architects to migrate their software systems more efficiently by helping them remodularize the source code of their systems. The framework leverages model-driven reverse engineering to obtain a model of the legacy system and reinforcement learning to propose a mapping of this model toward a set of microservices.

  相似文献   

3.
柔性微服务监控框架   总被引:2,自引:1,他引:1  
微服务细化了服务的粒度,针对微服务的监控是微服务管理需要面对的核心问题,以可扩展全链路应用服务监控为目标,在已有服务管理层之上设计实现了一种柔性微服务监控框架,用于监控微服务状态和不断变化的服务负载,与已有的分布式监控架构相比,这种监控框架灵活度更高,对服务变化的感知能力更强,使用Raft算法增强了数据一致性,避免了单点故障的情况,经试验分析,代价更小,在实际项目中验证了框架及方法的有效性.  相似文献   

4.
微服务已逐渐成为互联网应用所采用的设计架构,为了提升微服务价值,需要定期对各微服务的应用价值进行公正、透明的评价,推动开发人员对低价值微服务进行优化升级.为此,提出一种基于区块链技术的微服务评价系统,利用Hyperledger Fabric区块链技术的分布式记账和共识算法,对微服务各维度的评价数据进行记账,保证评价数据的不可篡改性和可追溯性.同时,结合层次分析法和熵值法构建微服务综合评价模型,计算得到微服务综合得分.实验结果表明,该系统能够对微服务的评价结果进行追踪溯源,相比单一评价模型,该评价结果更为合理,为微服务的智能管理提供有效数据支撑.  相似文献   

5.
为提高企业级应用的可伸缩性,基于微服务的软件体系结构将单体应用细化为可相互协作、配合的一组小服务,使得服务间开发自由、独立部署、易于维护,更好地满足企业发展需求。目前,微服务框架作为微服务架构的具体实现方案,已被很多大型企业成功实施并开源。论述面向服务体系结构、Web服务及微服务相关概念并作比较;给出微服务体系结构实践中的关键技术以及核心功能模块;分析对比主流微服务体系结构实施框架及其核心部件的特征和差异;探讨微服务组合面临的挑战及微服务框架中的服务组合方案,并总结全文。  相似文献   

6.
传统的单体应用架构系统,随着用户需求和系统功能的变动,出现了单体应用功能模块边界模糊、部署效率低、扩展困难、技术更迭代价高等缺点,尤其是单个模块修改部署效率低的问题.因此,微服务技术得到关注和应用,微服务架构的业务边界确定服务边界,具有高内聚性,易于开发与维护、局部修改部署、技术选择不受限等优势.本文研究微服务应用系统的架构优势,设计了一B/S应用系统进行测试分析.实验设计测试指标为线程响应时间、吞吐量以及部署时间的实验方案,并使用Jmeter性能测试工具进行测试,分析了20个和50个并发用户的测试数据.实验结果表明微服务在响应时间、吞吐量等指标有明显的效率和性能优势.  相似文献   

7.
针对煤矿监控类软件开发面临版本混乱、重复开发、维护困难,软件的定制化修改导致不同煤矿监控软件之间的通信变得困难等问题,提出了一种采用微服务架构的煤矿监控类软件开发框架。基于微服务架构,通过规范化开发流程、简化技术栈优化煤矿监控类软件的开发流程;将基础业务固化在开发框架中,专有业务通过微服务的方式进行加载运行,减少了基础代码的重复编码工作,并使得专有业务可以重用;沙盒运行方式让微服务的部署不受运行环境影响,部署方便,跨平台移植性强,微服务托管平台可对微服务进行统一的版本管理。实际应用结果表明:采用微服务架构的煤矿监控类软件通过将常用功能拆分为微服务,可以最大程度减少软件功能的重复开发,微服务的数据存储效率比现有垂直架构更高,使用Docker镜像部署,软件安装过程更为便捷,为监控类软件开发提供了一种更为高效的开发方式。  相似文献   

8.
Microservices have gained wide recognition and acceptance in software industries as an emerging architectural style for autonomic, scalable, and more reliable computing. The transition to microservices has been highly motivated by the need for better alignment of technical design decisions with improving value potentials of architectures. Despite microservices' popularity, research still lacks disciplined understanding of transition and consensus on the principles and activities underlying that transition. In this paper, we report on a systematic mapping study that consolidates various views, approaches and activities that commonly assist in the transition to microservices. The study aims to provide a better understanding of the transition; it also contributes a working definition of the transition and technical activities underlying it. We term the transition and technical activities leading to microservice architectures as microservitization. We then shed light on a fundamental problem of microservitization: microservice granularity and reasoning about its adaptation as first-class entities. This study reviews state-of-the-art and -practice related to reasoning about microservice granularity; it reviews modeling approaches, aspects considered, guidelines and processes used to reason about microservice granularity. This study identifies opportunities for future research and development related to reasoning about microservice granularity.  相似文献   

9.
Aquarius-II is a cache coherent multiprocessor system designed for the parallel execution of Prolog programs. It contains two tiers of memory: synchronization memory and high bandwidth (HB) memory. The synchronization memory consists of snooping caches connected to a bus and is used to store rendezvous points, synchronization bits, synchronization variables such as locks and semaphores and most of the write shared data. The HB memory is used to store the bulk of the application program code and data. It contains caches and an inexpensive VLSI chip based crossbar interconnection network to memory. The caches connected to the crossbar do not have full snooping capability. The architecture is evaluated by a full simulation of parallel execution of Prolog programs on Aquarius-II. The design details of the components of the architecture and simulation results are presented. Simulation results indicate that the two tier memory system significantly reduces memory interference and speeds up synchronization when compared to a single bus multi. This shared memory multiprocesor architecture has the potential to support other parallel programming paradigms.  相似文献   

10.
Software architecture contains, in addition to its structural part, interaction patterns that can be regarded as part of the architectural solution of the system. The interaction patterns define architecturally significant behavior of the software system. In this paper we propose a visual modeling language, behavioral profiles, for specifying architecturally significant behavioral rules for an application. The language is built on the Unified Modeling Language (UML), which is a visual language widely used in software development. We show how behavioral profiles can be used to support software designers in creating behavioral models that conform to some predefined rules and for ensuring that an application behaves correctly with respect to the rules given in the profiles. A tool called Bebop was built to support software engineers in behavioral profile‐based design and analysis of program behavior. To evaluate the approach and the tools in different application domains, they are utilized in three cases. The size of the applications used in the cases varies from small to quite large software systems, and from academic to industrial ones. The examples demonstrate how the approach presented can be used in practice for different steps in a software engineering process. The examples cover specializing an application framework and monitoring the program execution in run‐time. In addition, they show how behavioral profiles can be used to support guided program comprehension and to validate program execution by analyzing execution traces. Copyright © 2010 John Wiley & Sons, Ltd.  相似文献   

11.
This paper presents AIBench (SING group, Ourense, Spain), a JAVA desktop application framework mainly focused on scientific software development, with the goal of improving the productivity of research groups. Following the MVC design pattern, the programmer is able to develop applications using only three types of concepts: operations, data‐typesand views. The framework provides the rest of the functionality present in typical scientific applications, including user parameter requests, logging facilities, multithreading execution, experiment repeatability and graphic user interface generation, among others. The proposed framework is implemented following a plugin‐based architecture, which also allows assembling new applications by the reuse of modules from past development projects. Copyright © 2011 John Wiley & Sons, Ltd.  相似文献   

12.
本提出了一种支持非独立“与”并行的新型“与”并行执行模型DAPM,它通过在共享变元之间建立一种类似生产和消费的同步依赖关系以防止它们在并行执行时产生的约束冲突。与其它模型相比,DAPM可以开发更多的“与”并行。本还从理论上对DAPM的运行代价进行了分析,其分析结果表明DAPM只需较小的运行时刻支持。  相似文献   

13.
李杉杉  荣国平  高邱雅  邵栋 《软件学报》2021,32(5):1284-1301
近年来,微服务架构已经成为软件工程领域比较流行的架构风格,其天然支持DevOps和持续交付以及可伸缩性、可扩展性好等特性,驱动着业界实践者纷纷向微服务架构迁移.然而,采用微服务架构也面临诸多挑战,其中最关键的是缺乏自动化、一体化的解决方案来高效支持面向微服务的拆分设计以及候选微服务架构的评估.为了应对该挑战,对已有的数...  相似文献   

14.
15.
在单个SVG文档的模块化与结构化的基础上,分析了SVG实体的特征和组织方式,描述了SVG实体、对象、类的结构组成,提出了基于SVG应用的软件开发的体系结构SSA和系统框架设计。在SSA中,设计了一个转换算法,算法针对大量的SVG实体进行分类、提取SVG图元,并将SVG图元存储在关系数据库中,解决了包含大量SVG实体的应用系统存在的运行速度的问题、SVG组件的数据重用问题和基于数据库系统的SVG开发问题。设计了一个基于SSA的数字文物导航平台系统,通过该系统与传统的基于H tm l/Im age的文物展现模式的比较,验证了SSA开发模式的有效性。  相似文献   

16.
This paper presents a software model checking algorithm that combats state explosion by decomposing each thread's execution into a sequence of transactions that execute atomically. Our algorithm infers transactions using the theory of reduction, and supports both left and right movers, thus yielding larger transactions and fewer context switches than previous methods. Our approach uses access predicates to support a wide variety of synchronization mechanisms. In addition, we automatically infer these predicates for programs that use lock-based synchronization.  相似文献   

17.
伴随着云计算的快速发展,海量数据等业务需求的处理无法只依赖单体应用程序。微服务软件架构模式以其模块化、可扩展、高可用的应用优势为应用程序的开发带来了新的设计思路。容器是基于共享Linux内核、面向应用的一种新兴的轻量级虚拟化技术,以Docker为代表的容器技术为微服务提供了理想的载体。同时,以Kubernetes为代表的容器编排工具则极大地简化了容器化微服务创建、集成、部署、运维的整个流程。在开发和运维向“面向容器”的转变中,会带来数量庞大且关系复杂的服务组合,此时微服务的创建与部署则变得尤为重要。从易用性角度出发,提供了一种容器编排的可视化方法,实践分析显示,利用此方法进行的微服务部署不仅为研发人员提供了友好型服务创建界面,而且还便利了服务创建过程,提高了开发效率。  相似文献   

18.
一种面向普适计算的适应性软件体系结构风格   总被引:1,自引:0,他引:1  
丁博  王怀民  史殿习 《软件学报》2009,20(Z1):113-122
普适计算软件需要适应用户需求和运行环境的动态变化.这一特点使得软件复杂度空前增加,迫切需要以软件体系结构为代表的架构/设计层面重用手段来支持其高效开发.在以适应性为中心的普适计算空间抽象模型基础上,提出了一种面向普适计算的软件体系结构风格UbiArch,并从概念视图、运行视图和开发视图这3个维度对该软件体系结构风格进行了阐述.UbiArch支持软件实体按需加入应用、主动适应环境的行为模式,实现了软件适应能力的高层次重用,同时与构件等成熟软件技术的紧密结合也保证了其可实践性.支撑该体系结构风格的软件平台原型系统及其上的应用验证了UbiArch的有效性和通用性.  相似文献   

19.
20.
Certifying the execution of a service is a critical issue for an e-government infrastructure. In fact being able to document that an e-service was actually carried out, given the legal value that is often attached to data managed and exchanged by public administrations, is of the utmost importance. This is made more complex in cases, like it often happens in the public administration sector, where e-services are based on legacy systems managed by autonomous and independent organizations. In this paper we discuss the introduction, within the standard three tier architecture for e-services, of an architectural subsystem providing certification functions. This architecture features both physical and functional independence from the application level and is made up by new control components providing a highly efficient solution for certification requirements. Our solution has been successfully tested in real-world systems developed in Italy to support digital government functions.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号