当前位置: 首页 > 软件库 > 程序开发 > 微服务框架 >

Apache ServiceComb Toolkit

基于契约的微服务开发工具套件
授权协议 Apache-2.0
开发语言 Java
所属分类 程序开发、 微服务框架
软件类型 开源软件
地区 不详
投 递 者 邹慈
操作系统 跨平台
开源组织 Apache
适用人群 未知
 软件概览

 Apache ServiceComb Toolkit 是基于契约的微服务开发工具套件。

1 简介

1.1 目标

  • 提供契约、代码、文档相互转换及校验的能力,帮助用户一键式快速构建基于流行微服务框架和流行编程模型的微服务工程,降低微服务入门成本,使用户聚焦业务开发,提升遗留系统重构、开发效率。

1.2 特性

  • 遗留应用提取契约文件

    在基于SpringMVC/POJO/JAX-RS模型开发的应用中,一键提取符合OpenAPI规范的服务契约文件。

  • 契约文件生成微服务工程

    输入符合OpenAPI规范的服务契约,一键生成以ServiceComb/SpringCloud/Swagger为底座,以及以SpringMVC/POJO/JAX-RS或SpringBoot为开发模型的微服务项目。

  • 契约与代码一致性校验

    校验应用的实际实现(如数据和服务API)是否与样本服务契约描述一致。

  • 契约/代码生成文档

    输入符合OpenAPI规范的服务契约,一键生成html格式的文档。

  • Todo List

    • 支持一键生成以SpringCloud为底座的微服务工程。

    • 支持一键从遗留应用代码生成微服务工程。

    • 支持基于gradle的契约开发插件。

    • 支持插件埋入eclipse。

    • 支持word、pdf等流行格式文档。

    • 支持契约增量生成代码。

    • 工具能力服务化。

1.3 适用场景

  • 集成多厂商应用的企业

    问题:厂商数据、服务标准不一致,开发语言、习惯、框架不一致,集成商难集成,企业难管控。

    措施:通过统一定义的接口描述标准(服务契约),使用工具套件一键生成基于指定微服务框架的微服务工程,并且通过服务契约校验手段协同维护整体系统的一致性。以此协调多个开发团队,降低沟通成本且避免后期的混乱。

  • 遗留系统微服务化快速改造

    问题:用户需要额外学习和理解微服务及相关框架后,再设计微服务工程,学习成本高。

    措施:使用工具套件分析遗留应用提取服务契约,再一键生成基于指定微服务框架的微服务工程后,即可聚焦业务开发,减少用户对微服务框架的学习成本。

2 设计

2.1 主体架构

2.2 工作原理

 相关资料
  • 在单体架构时,因为服务不会经常和动态迁移,所有服务地址可以直接在配置文件中配置,所以也不会有服务发现的问题。但是对于微服务来说,应用的拆分,服务之间的解耦,和服务动态扩展带来的服务迁移,服务发现就成了微服务中的一个关键问题。 服务发现分为客户端服务发现和服务端服务发现两种,架构如下图所示。 这两种架构都各有利弊,我们拿客户端服务发现软件Eureka和服务端服务发现架构Kubernetes/SkyD

  • 我一直在读关于微服务和事件来源的文章,以及它是如何将服务从另一个服务中分离出来的。有两个概念我不清楚。首先,如果在微服务体系结构中,每个服务都可以独立开发,我们如何解释服务间的通信依赖? 例如,如果服务A和服务B需要通信,那么A需要将一个事件发送到一个中央总线,而B需要监听该事件并根据该事件采取行动,但这似乎会产生很多依赖关系。现在,如果我正在开发服务B,我需要知道服务A可以生成的所有事件。此外,

  • 在自由软件项目中的契约需要小心处理。理想状况下,你希望一个承包者的工作被社区接受并打包进入公共发布版本。在理论上,谁是承包者并不重要,只要他的作品足够好并满足项目的指导方针。理论和实践一般也是一致的:一个通过贡献好的补丁展示自己的完全陌生人通常能将代码置入软件当中。问题是,一个完全的陌生人很难为非琐碎的改进或新的特性贡献好的补丁;一个人必须首先和项目的其他人进行讨论。讨论的时间不能精确预测。如果承

  • 本文向大家介绍基于PHP技术开发客服工单系统,包括了基于PHP技术开发客服工单系统的使用技巧和注意事项,需要的朋友参考一下 相关知识:客顺通php在线客服系统 v2.0.0 PESCMS Ticket PESMCS Ticket(下称PT)是一款基于GPLv2协议发布的开源客服工单系统。PT基于PESCMS2为核心进行开发,以全新的设计理念,实现一句JS即可嵌入任意页面中,让工单系统变得更加轻便。

  • Git https://skyao.gitbooks.io/learning-git/installation/ubuntu1604.html sudo add-apt-repository ppa:git-core/ppa sudo apt-get update sudo apt-get install git gitbook https://skyao.gitbooks.io/leaning-

  • 我们有一组相互通信的微服务和一些外部下游服务。Spring Cloud合同用于集成测试以检查服务接口。我能够测试微服务之间通信的合同。 我想知道如何为生产商写合同测试 不提供任何合同(无法访问源代码) 基于SOAP 我可以强制消费者自己签订合同吗? 找不到SCC文档在这方面有帮助。任何有帮助的指示都是非常感谢的。谢谢!

  • 本文向大家介绍详解.NET Core+Docker 开发微服务,包括了详解.NET Core+Docker 开发微服务的使用技巧和注意事项,需要的朋友参考一下 .NET Core发布很久了,因为近几年主要使用java,所以还没使用过.NET Core,今天正好有一个c#写的demo,需要做成服务,不想再转成java来实现,考虑使用.NET CORE来尝下鲜,目标是开发一个微服务,然后部署到Dock

  • 本文向大家介绍C#微信开发(服务器配置),包括了C#微信开发(服务器配置)的使用技巧和注意事项,需要的朋友参考一下 小编对微信开发颇感兴趣,查阅了网上相关文章进行整理,方便大家一起学习。 1、注册帐号--填写服务器配置 在https://mp.weixin.qq.com/ 微信公众平台上注册帐号; 服务号是公司申请的微信公共账号,订阅号是个人申请的,个人权限比较少; 登录微信公众平台官网后,在公众