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

Apache ServiceComb

开源微服务解决方案
授权协议 Apache License v2.0
开发语言 Java Google Go
所属分类 程序开发、 微服务框架
软件类型 开源软件
地区 国产
投 递 者 娄建义
操作系统 跨平台
开源组织 Apache
适用人群 未知
 软件概览

Apache ServiceComb 是业界第一个Apache微服务顶级项目, 是一个开源微服务解决方案。

愿景:

致力于帮助企业、用户和开发者将企业应用轻松微服务化上云,并实现对微服务应用的高效运维管理。其提供一站式开源微服务解决方案,融合SDK框架级、0侵入ServiceMesh场景并支持多语言。

项目历史:

  • 2015年:在华为内部探索设计并商用。

  • 2017年5月:开源到github;

  • 2017年11月:全票通过Apache孵化器投票入Apache软件基金会孵化器孵化。

  • 2018年10月24日:ServiceComb获得企业及社区开发者的广泛支持,并在Apache 软件基金会毕业成为顶级项目。

ServiceComb目前拥有三个主要的子项目,分别为:

Java chassis

https://github.com/apache/servicecomb-java-chassis

开箱即用Java语言 微服务SDK,含服务契约、编程模型、运行模型与通信模型四个部分,具备负载均衡、容错熔断、限流降级、调用链追踪等全面微服务治理能力,服务治理能力与业务逻辑隔离。

Service Center—服务注册中心

https://github.com/apache/servicecomb-service-center

基于Etcd的高性能、高可用、无状态的Golang版分布式服务注册与发现中心,可实时服务实例注册、实时服务实例推送和服务间契约测试等。

Saga—分布式事务解决方案

https://github.com/apache/servicecomb-saga

ServiceComb Saga是提供了分布式事务最终一致性解决方案,用户只需要通过注解方式定义事务的执行方法以及撤销方法,Saga框架会自动保证分布式事务执行的最终一致性。

2018年10月24日, Apache软件基金会宣布Apache ServiceComb 毕业成为Apache顶级项目:

https://blogs.apache.org/foundation/entry/the-apache-software-foundation-announces41

以下为Apache市场总监Sally Khudairi 发布在Apache软件基金会各渠道官号上的官方通告译文:

Apache 软件基金会宣布将Apache ServiceComb作为顶级项目。一个应用在奇蛙智能科技、华为云、软通动力、传智播客、梅斯医学、文思海辉、中国人保和同济大学等企业和领域的开源微服务框架。

2018年10月,马萨诸塞州,韦克菲尔德 – 完全由志愿开发者组成、管理,旗下孵化器拥有超过350个开源项目的 Apache软件基金会(ASF),今天宣布Apache ServiceComb为顶级项目(TLP)。

Apache ServiceComb是一个开源微服务软件框架,旨在使开发人员能够高效、方便地轻松构建和管理微服务应用。该项目最初是在华为开发的,并于2017年11月捐赠给Apache孵化器。

Apache ServiceComb负责人姜宁说:

“ 我们为ServiceComb到达这一重要的里程碑感到非常自豪。ServiceComb在不到一年的时间内从微服务软件开发套件发展成为完整的微服务解决方案。在Apache孵化期间,ServiceComb用户数迅速增长,新的开发人员不断涌入,以如此高的速度成长是令人惊叹的。”

Apache ServiceComb作为一站式微服务解决方案,包含3个子项目:

Java-Chassis 

一个开箱即用的Java语言微服务SDK,包括四个部分:服务契约,编程模型,运行模型和通信模型,以及一整套微服务治理能力,如负载均衡、容错、限流和调用链跟踪。微服务治理和业务逻辑是隔离的。

2 Service-Center

基于Etcd的、高性能、高可用性、无状态、Go语言实现的服务发现和注册中心,提供实时服务实例注册,实时服务实例通知和服务间契约测试。

3 Saga

为分布式事务提供最终的一致性解决方案,解决微服务痛点问题。

Apache ServiceComb 的亮点包括:

异步内核

基于VertX的同步和异步模型编程有效确保了无论是在传统企业或电商领域,还是在新兴的互联网或物联网等新兴企业中,都能够保持高性能和低延迟,以避免在达到峰值负载时应用出现雪崩效应。

◆开箱即用体验

开发人员通过脚手架网站start.servicecomb.io启动的微服务项目,可以集服务注册、发现、通信和微服务治理能力和默认的集中化配置为一体。

◆OpenAPI

自动代码生成,业务逻辑代码和治理能力隔离,可以使能DevOps Pipeline, 使用契约文件和OpenAPI的双向生成能力可以使不同的团队高效且独立的开发和管理代码、测试和进行文档化工作。

Apache ServiceComb已在数十家企业中使用,包括奇蛙智能科技、华为云、软通动力,传智播客、梅斯医学、文思海辉、中国人保和同济大学等。

“2015年,华为云推出了微服务相关的服务,这就是ServiceComb的原始代码,”华为云PaaS产品部总经理廖振钦表示:“ Apache ServiceComb是华为云微服务引擎CSE的核心。它广泛应用于华为消费云、华为云核、华为EI等众多主要产品,是华为微服务的事实标准。我们非常高兴看到ServiceComb在Apache 孵化器中快速发展,鼓励更多工程师通过成为Apache 软件基金会志愿者社区的一员继续接受开源,并为开源做出贡献。”

华为消费者云基于Apache ServiceComb的高性能,低延迟的异步技术来实现1,500多个节点级的微服务,支持4亿移动手机用户在线。使用ServiceComb,QPS提升2倍+,时延降低45%。

“我们使用Apache ServiceComb构建无人机控制的智慧大脑。ServiceComb是一种开箱即用的微服务解决方案,无需任何编码即可提供微服务治理能力,”奇蛙智能科技首席架构师周苏建表示:“ 与使用自己实现的或传统的其他RPC框架相比,节省了大量的开发资源。使用ServiceComb,团队开发和节点部署效率都提高了1倍,这是非常令人兴奋。我们也非常高兴看到ServiceComb的集成了如APM、Apache Zipkin、Apache SkyWalking和Prometheus等开源分布式追踪系统,极大地提高了我们的跨节点调用链追踪能力,团队定位和解决问题的效率。”

“由于微服务架构不是一个单点技术问题,我们需要响应技术、组织和流程的快速变化,”软通智慧城市科技有限公司产品工程中心副总裁鲍永伟说:“ Apache ServiceComb java-chassis做得很好,其核心完全基于OpenAPI的服务契约实现,可以帮助我们自动生成服务框架代码。这使我们的团队能够顺利地将我们的智慧城市业务系统进行微服务化。 非常高兴看到我们的员工积极参与ServiceComb项目,并与Apache社区一起学习开放开发的Apache Way。Apache ServiceComb是一个明星项目,我们坚信参与ServiceComb社区将有助于提高我们的软件工程师能力。”

“Apache ServiceComb拥有完善健康的社区和全面的技术背景。该项目致力于让企业更轻松微服务化和上云,这令人印象深刻,”传智播客研究院院长于洋说:“ 传智播客基于对微服务设计、优秀技术实践和完善的社区文档等考虑,选择了ServiceComb作为教育培训的微服务技术教材。”

“毕业成为Apache顶级项目,表明进入孵化器前或孵化期间加入的所有贡献者们都拥有一个被称为Apache ServiceComb的地方,”姜宁补充说:“ 很高兴在这个开放、平等和多样化的环境中与志愿者合作。我们欢迎新的贡献者以代码开发、布道微服务、微服务创新、推进社区在“Apache Way”下发展,以及任何其他形式加入ServiceComb。”

 

可用性和监督:

Apache ServiceComb软件是在Apache License v2.0下发布的,由活跃的贡献者自主选择并组建的团队监督。项目管理委员会(PMC)负责指导项目的日常运营,包括社区发展和产品发布。有关下载,文档以及参与Apache ServiceComb的方法,

请访问:http://servicecomb.apache.org/     https://twitter.com/ServiceComb

关于Apache软件基金会(ASF)

Apache软件基金会(Apache Software Foundation,简称ASF)成立于1999年,是世界上最大的开源基金会,负责监管350多个免费的企业级项目和1.9亿多行的代码,它们作为主干支撑着全球广泛使用的应用程序。

ASF屡获殊荣的“The Apache Way”精英管理流程让730名独立会员和6800名代码提交者在人工智能/深度学习、大数据、构建管理、云计算,内容、DevOps、物联网/边缘、移动化、服务器、Web框架等方面进行合作和创新。广泛应用的Apache许可证利于商业运作,使得无数解决方案得以传播。Apache社区计划包括ASF官方全球会议ApacheCon。ASF是符合美国国內税收法501(c)(3)的非营利慈善机构,由个人捐赠和企业赞助商资助。

更多信息请访问:http://www.apache.org/      https://twitter.com/TheASF

“Apache”、“ServiceComb”、“Apache ServiceComb”和“ApacheCon”是Apache软件基金会在美国和/或其他国家/地区的注册商标或商标。 所有其他品牌和商标均为其各自所有者的财产。

  • 全球最大的开源软件基金会Apache软件基金会(以下简称Apache)于北京时间10月24日宣布Apache ServiceComb成为Apache 顶级项目。 ServiceComb 由华为公司于2017年11月捐赠给Apache并启动孵化, 之后在Apache导师的指导下由孵化器管理委员会成员进行经营孵化,9月25日在Apache孵化器10票一次性通过毕业提案投票,10月17日,Apache

  • 目录 Apache ServiceComb Apache ServiceComb 是一个具有开箱即用、高性能、兼容流行生态、支持多语言的一站式开源微服务解决方案。 官方网站:http://servicecomb.apache.org/cn/ 官方博客:https://blog.csdn.net/ServiceComb Apache ServiceComb 的前身为华为云的微服务引擎 CSE(Clo

  • Q: ServiceComb和SpringCloud是什么关系,具体的应用场景是什么? A: ServiceComb是华为基于内部多个大型IT系统实践提炼出来的一套微服务开发框架,在开发态基于最佳实践封装了一套微服务运行模型,这些能力对用户完全透明,可以通过配置引入功能和对其进行调整。在运维阶段充分考虑了微服务运维,提供了丰富的监控指标和动态治理能力。 B: ServiceComb的这套能力可以作

  • Apache ServiceComb 开源,全栈微服务解决方案。开箱即用,高性能,兼容流行的生态,多语言支持   ServiceComb是一个微服务框架,提供服务注册,发现,配置和管理实用程序。   下载 :http://servicecomb.apache.org/release 转载于:https://www.cnblogs.com/xiaoshen666/articles/11242214.

 相关资料
  • 任何建议都将不胜感激。 多谢太平绅士

  • 据我目前的一点经验所知,“微服务”的核心概念之一是它依赖于自己的数据库,独立于其他微服务。 深入研究如何在微服务系统中处理分布式事务,最好的策略似乎是事件源模式,其核心是事件存储。 不同微服务之间是否共享事件存储?或者每个微服务都有多个独立的事件存储数据库和一个公共事件代理? 如果第一个选项是解决方案,那么使用CQRS,我现在可以假设每个微服务的数据库都是作为查询端的,而共享事件存储在命令端。这是

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

  • 本文向大家介绍tomcat服务器宕机解决方案,包括了tomcat服务器宕机解决方案的使用技巧和注意事项,需要的朋友参考一下 报错信息: 每次出现这个报错都会导致tomcat应用服务器停机,加了下面的java代码后就再也没有停过了。 解决办法: 编写Java代码 @WebListener,这个注解相当于在web.xml配置如下内容 解决方案可以参考如下网址 当然还有就是我再参考这个解决方案的时候,发

  • 我有一个关于分解为微服务的问题。假设我们有 2 个微服务:用户和产品。假设我们现在需要向系统添加类别。更具体地说,产品具有一个或多个类别(例如,产品红色微型法拉利属于玩具和汽车类别),并且用户可以具有她喜欢的类别(例如玩具和鞋子)。现在,当我们检索产品的完整列表时,我们希望对它们进行排序,以便属于首选用户类别的产品位于顶部。 基本上有一个在微服务之间共享的概念(在本例中为类别)。如何在微架构环境中

  • 事件源和CQR如何帮助实现微服务的解耦架构。 我们可以让微服务拥有自己的数据,其他人通过服务访问数据,即使是通过传统的持久性手段。不是吗?

  • 基本 Nest 微服务是一种使用与HTTP不同的传输层的应用程序。 安装 首先,我们需要安装所需的软件包: $ npm i --save @nestjs/microservices 概述 通常,Nest支持一系列内置的传输器。它们基于 请求-响应 范式,整个通信逻辑隐藏在抽象层之后。多亏了这一点,您可以轻松地在传输器之间切换,而无需更改任何代码行。我们不支持具有基于日志的持久性的流平台,例如 Ka

  • 问题内容: 让我们定义以下 用例 : 必须完成一个模拟任务,其中涉及[ day1,day2,…,dayN ]上的迭代/模拟。迭代的每个步骤都取决于先前的步骤,因此顺序是预先定义的。 任务具有由 Object1 表示的状态,该对象将在迭代的每个步骤中更改。 迭代步骤涉及2个不同的任务: Task1 和 Task2 。 为了完成 Task1 ,需要来自 Database1的 数据。 为了实现 Task