Post on 20-May-2020
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
Apache ServiceComb
微服务创新项目解读
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
面对用户痛点持续创新
在同一个业
务领域的微
服务中使用
了多种不同
语言进行开
发部署
使能多微服
务技术栈开
发的微服务
应用之间协
同工作和共
同治理
使能满足第三
方认证被广泛
采纳的趋势下
认证鉴权的性
能和安全的要
求
帮助企业用
户达成业务
模型和数据
集成标准统
一
通过易于理
解的数据和
入口,管理
复杂的分布
式系统配置
多语言运行环境 服务中心异构通信 微服务鉴权
分布式系统配置中心微服务契约工具
Apache ServiceComb
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
Mesher - 开箱即用的异构、多语言、非侵入式微服务框架
基于Golang实现的高性能服务网格框架,支持零侵入业
务代码实现微服务化改造,与流行微服务框架治理互通
• 项目地址
https://github.com/apache/servicecomb-mesher
• 开发计划
- 网关能力
- 融合生态 Istio/Promethues/Skywalking/…
- 兼容异构基础设施 K8S/BareMetal/docker/VM/…
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
Mesher - 多语言场景下向微服务架构演进
• 快速入门
http://servicecomb.apache.org/cn/docs/mersher-quick-start/
ServiceCombService Center
ServiceCombMesher
PHPService
ServiceCombMesher
NodeJSService
ServiceCombMesher
PythonService
ServiceCombConfig Center
Go-chassisSDK
GolangApplication
ServiceCombSDK
JavaApplication
Control Plane
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
ServiceComb Toolkit
Toolkit - 遵循OpenAPI的微服务开发、改造工具
提供遵循OpenAPI规范的API、代码、文档相互转换和校
验的能力,帮助用户快速构建基于流行微服务框架和编程
模型的微服务脚手架工程,提升遗留系统重构、开发效率
• 项目地址
https://github.com/apache/servicecomb-toolkit
• 开发计划
- 支持API生成Spring Cloud微服务工程
- 支持OAI V3
- 支持toolkit plugin集成到Eclipse&Intellij
接口层
API提取
文档制作 API校验
代码解析
微服务开发框架层
ServiceComb SpringCloud ……
实现层
插件 命令行
……
……脚手架服务
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
Toolkit - 一键生成基于流行微服务框架的微服务工程
• 快速入门
https://github.com/apache/servicecomb-toolkit/blob/master/samples/README-ZH.md
用户
第三方
输出
遵循OpenAPI规范API文件
代码与API一致性比较报告
API文档
基于ServiceComb/SpringCloud微服务工程
用户交互 转换 微服务开发框架
API提取 代码生成 文档生成 ServiceComb
ServiceComb toolkit
划分微服务(含依赖关系)
定义契约(接口和模型)
发布契约
ServiceComb契约开发工具
开发微服务测试微服务
客户+集成商
软件提供商
部署微服务
契约仓库
微服务运行环
境验收微服务
协同实现基于契约(API)的数据、服务标准化管控
划分微服务(含依赖关系)
定义契约(接口和模型)
发布契约
微服务运行环
境验收微服务
基于OpenAPI规范全新微服务开发
遗留应用微服务化改造
Maven插件
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
Syncer是一个多服务中心的同步工具,对应用程序透明。专为大型微服务架构设计,实现不同的微服务技术栈实现的微服
务业务可以进行数据通信,未来可支持跨云的数据通信支持
• 项目地址:https://github.com/apache/servicecomb-service-center/tree/master/syncer
Syncer - 融合异构、多服务中心的同步工具
gossip协议
Syncer
Syncer
Syncer
Syncer
Syncer
Syncer
Eureka
ServiceCenter
Consul
Kubernetes
Other DC
ETCD
gossip协议
Serf (Gossip)Pull&&Push
event notification between clusters
data stream of service instance
Pull&&Push
Pull&&Push
SyncerFollower
SyncerLeader
SERVICECENTER B
SyncerFollower
Microservice
Microservice
Microservice
ServiceCenter
Register Discover
Register Instances of other SC Discover
ETCD (Raft)
Microservice
Microservice
Microservice
Eureka
Register Discover
Syncer
Register Instances of other SC
SERVICECENTER C
Microservice
Microservice
Microservice
ServiceCenter
Register Discover
Syncer
Register Instances of other SC
SERVICECENTER A • 开发计划
- 支持动态连接集群
- 支持跨数据中心能力
- 支持对接流行认证鉴权服务
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
Syncer - 异构流行服务中心融合实践
• 快速入门
https://github.com/apache/servicecomb-service-center/tree/master/syncer/samples/multi-servicecenters
synchronize instances
HelloServer
ServiceCenter
Register Discover
AccountServer
Eurake
Register Discover
HelloServer
ServiceCenter
Register Discover
SyncerA
Register instance of Eureka
AccountServer
Eureka SyncerB
Register instance of ServiceCenter
Register Discover
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
Fence - 微服务认证鉴权框架
提供基于Oauth2.0和OpenID Connect的微服务架构认证鉴权框架,帮助用户快速搭建高性能、安全的微服务认证鉴权能力
• 项目地址:https://github.com/apache/servicecomb-fence
多种应用场景支持
对接第三方认证鉴权服务
多种认证模式支持
简化模式授权码模式
密码模式 客户端模式
灵活架构模式
纯Session模式纯Token模式
混合模式
• 开箱即用:提供了默认的Authentication Server、Edge Service、Resource Server实现,简化用户开发难度• 开发简单:提供配置文件和Annotation两种方式配置权限,支持权限配置和代码逻辑分离,也支持在使用Annotation声明式
的权限配置,相辅相成。• 第三方认证支持:采用Open ID协议,对接Github等三方认证系统。• 安全高效:混合Token模式和Session模式,满足性能和安全性的最佳组合。
• 快速入门
https://github.com/apache/servicecomb-fence/blob/master/docs/zh_CN/developersGuide.md
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
实现云原生的分布式系统配置中心,使能运维人员通过易于理解的数据和入口,管理复杂的分布式系统配置
• 项目地址:https://github.com/apache/servicecomb-kie
Timeout(service=serviceB, schema=user, operation=getUser):10s
OCR_address(environment=test): http://192.168.1.1
ServiceB.timeout=1sServiceB.user.getUser.timeout=10s
-在这样的数据格式设计下可生成多角度的配置视图,提升易用性,人类可读性-学习成本高,运维人员要学习这个只在团队内部生效的key规则
-所有的key集中在一种类型的视图中管理,管理成本高。
-不断增长的规则定义,越来越复杂,人类不可读。
-Key设计无法扩展变更,没法轻易变更数据结构
Kie - 语义型分布式系统配置中心
core
API
storage
config map cache
backends K8s operator
Consul operator
dao
config view manager
config view selectorsconfig maps
Event producer
数据加密
用户自定义服务
Encryption web hook
Version manager rollback
history
config map config view history
Observer
Config propagate
propagate
auth
自定义服务
Vault
mongodb
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
融合开源生态的一站式微服务解决方案
融合开源生态的一站式微服务解决方案
遗留应用转型 全新微服务开发 开源异构微服务兼容
ServiceMesh
服务通信规范
配置
流行微服务框架
可视化监控
分布式追踪
开发工具
代码自动生成
API自动提取
API校验
文档自动生成
微服务脚手架
快速入门
案例代码库用户手册社区网站
内核
服务中心微服务
开发框架分布式事务
框架
认证框架配置中心 多语言方案
Rest(OpenAPI) / RPC
云原生
融合流行生态
Apache ServiceComb
[Website] http://servicecomb.apache.org
[Github ] https://github.com/apache?q=servicecomb
社区召集令
对开发者们,我们想说
对用户们,我们想说
选择Apache ServiceComb,我们会认真对待您在微信群/Github Issue/MailGroup的:每一个问题每一个建议期待与您共建社区,持之以恒,共同解决微服务难题保护您的选择是我们的使命
不论您是大咖/已是微服务开发者 / 即将进入微服务开发者 / 单纯寻求开源贡献的开发者 / 学校学者 / 学生 /……我们期待您的加盟与贡献
如果您准备贡献代码,请扫描二维码进群,备注“贡献代码”我们将会与您进行一对一交流协作
PS: 不需要任何的顾虑,我们来一起做点有意思的事情未来它会是XX云上服务,会是XX企业方案,运行在各样的业务中
Copyright©2018 Huawei Technologies Co., Ltd.
All Rights Reserved.
The information in this document may contain predictive
statements including, without limitation, statements regarding
the future financial and operating results, future product
portfolio, new technology, etc. There are a number of factors that
could cause actual results and developments to differ materially
from those expressed or implied in the predictive statements.
Therefore, such information is provided for reference purpose
only and constitutes neither an offer nor an acceptance. Huawei
may change the information at any time without notice.
把数字世界带入每个人、每个家庭、每个组织,构建万物互联的智能世界。
Bring digital to every person, home and organization for a fully connected, intelligent world.
加入ServiceComb社区群 微服务微信公众号
Thank you.