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

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 工作原理

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

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

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

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

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

  • 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-

  • 测试是 Web 应用开发过程中不可获缺的工作。Nuxt.js 尽量帮助你简化这部分工作。 端对端测试 ava 是一个很强大的 JavaScript 测试框架,结合 jsdom,我们就可以轻松地给 nuxt 应用进行端对端测试。 首先,我们需要添加 ava 和 jsdom 作为项目的开发依赖: npm install --save-dev ava jsdom 然后在 package.json 中添加

  • 第三方 SDK C#: v2ray-dotnet-sdk 自动化工具 V2Ray 使用下列自动化工具进行编译和发布。 Bazel: 用于编译和打包。 Azure DevOps: 用于部分项目的自动化发布。 Google Cloud: 用于部分项目的自动化发布。 CloudFlare: 用于支持官网和域名解析。