ServiceComb在华为消费者云的亿级用户微服务实践微服务API设计:支持Swagger API规范 开发方式:支持透明RPC、Spring MVC风格的微服务开发 编程模型:同时支持同步、异步的编程模型 性能:支持原生的Reactive模式(EventLoop),相比于传 统的同步服务调用,性能更高(吞吐量N倍+提升、时延降低 为原来的50%-) 轻量级、易集成:可以方便的与Spring MVC、Tomcat等 已有技术和容器集成,支持轻量级的standalone部署 bby 不同团队,经验和开发习惯都有差异,选择适合业务的开发模式 1、传统使用Spring MVC开发的团队,继续使用Spring MVC风格: 2、使用DSF等服务框架开发的,更熟悉透明RPC开发模式: 3、还可以使用JAX-RS模式开发微服务: 开发模式没有优劣之分,对于重构方式进行的微服务开发,选择 业务熟悉的模式,可以更好的重用已有代码和开发经验,提升重构 效率 实践-同步和异步 无论I/O线程是同步还是异步发送请求消息,业务线程都会 同步阻塞,等待响应 2、异步I/O通信:I/O通信方式与服务调用方式没关联关 系,无论是同步服务调用还是异步服务调用,I/O通信都 可以采用异步非阻塞模式 同步服务调用的几个缺点: 1、业务线程利用率低:线程资源是系统中比较重要的资源, 在一个进程中线程总数是有限制的。提升线程的使用率,就能 够有效提升系统的吞吐量。在同步服务调用中,如果服务端没0 码力 | 15 页 | 1.15 MB | 1 年前3
消费者云CSE微服务实践语言特定的序列化机制、发布泛型、抽象接口等 微服务框架技术选型-灵活和轻量级架构 当前业务服务端都是非Web应用,所以丌需要运行在Web容器中, 需要类似Main函数可以直接拉起来的Standalone模式 服务框架要足够轻量级,可以按需加载类库,防止不当前业务的 三方库发生冲突 启停速度要快(秒级弹性伸缩)、资源占用要合理 微服务框架技术选型-微服务安全 有些业务场景对 强相关、非 通用能力可以通过扩展点实现 微服务框架技术选型-易集成 当前业务使用Spring MVC等传统的单体架构,希望可以较平滑、 低成本的迁移到微服务架构上: 从业务接受度上,希望丌要翻天覆地的改变业务开发习惯,最好能够兼容原Spring MVC开发模式 从集成角度看,希望可以灵活的不Spring Boot等框架集成 微服务框架技术选型-高性能、低时延 求 仔细阅读了CSE的主要模块代码,包括网络通信、线程调度模型等,代码质量非常高, 对细节的把握比较好 选型试用时,大家对CSE的接受度比较高,使用CSE改造已有的Spring MVC代码相对较 容易些 华为内部的平台,无论是新需求接纳,还是技术支撑,各方面保障都比较给力 天生支持Docker容器不华为公有云,降低业务云化成本 CSE在消费者云业务的实践-API0 码力 | 22 页 | 1.39 MB | 1 年前3
Java Chassis通信处理详解 - 通信优化实践 Producer 问题不挑战 消费者 编程 模型 透明 RPC Spring MVC Transport Highway Vertx REST Servlet REST 生产者 编程 模型 透明 RPC JAX-RS Spring MVC 服务契约(OpenAPI) 负 载 均 衡 …… 熔 断 QPS …… 跟 Producer 丌同于消费者,生产者主要的工作就是等待消费者 的请求,在处理之后,返回应答 在这一端我们更加关注:“如何高效地接收和处理 数据”这件事情 同步模式下,业务逻辑不IO逻辑分离,且根据 “隔离仓”原则,为了保证整个系统更加稳定和高 效地运行,业务逻辑本身也需要在丌同的隔离的区 域内迚行。而这些区域,就是线程池。 所以构建生产者,就需要对线程池迚行精细的管理。0 码力 | 17 页 | 2.22 MB | 1 年前3
ServiceComb 的前世今生考虑的Docker在2015年就已 经被所有人纳入应用计划 2009 2014 MSA By Simon Wardley http://enterpriseitadoption.com/ 传统企业应用开发模式 开发 产品发布计划 开发 集成开发 运维人员替换 部 署 旧 版 本 开发 开发 测试/发布 • 技术实现单一,需要想办法用一种技术解决所有问题 • 只能按大颗粒系统发布版本,响应周期长 转工具 protobuf3 多语言多框架代 码生成器 多语言Protobuf3对象 编码库 Java 微服务编程框架 Go 框架 其他 框架 Spring MVC JAX-RS POJO Martini Mux Java protobuf对象 Go protobuf对象 编辑 生成 生成 生成 提取 转换 生成 是协议。 更细致的服务路由管控 ETCD 集群 服务中 心实例 服务中 心实例 服务中 心实例 • 统一的路由策略管控 • 缓存以提升性能 •支持pull/push两种模式监控实例变化 • 实例动态扩容,海量的长连接或者短连接 • 支持灰度发布、服务分组等高级管理特性 微服务 ServiceComb 开发框架 通信模型 (序列化、传输协0 码力 | 16 页 | 1.45 MB | 1 年前3
ServiceComb雄关漫道微服务的雄关漫道 • 服务框架 • Service Mesh ServiceComb开源微服务解决方案 ServiceComb微服务解决方案 Java编程 (POJO/Spring MVC/JAX-RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量 通信协议 (Rest&RPC) 边缘服务 熔断/容错 Token认证 Saga事务一致性 com/apache?q=incubator-servicecomb ServiceComb Java Chassis的架构图 通信模型 (序列化、 传输协议) 编程模型 (Spring MVC JAXRS, POJO…) 服务契约 (OpenAPI) 服务发现 熔断 负载均衡 配置 跟踪 … 运行模型 围绕服务契约进行开发以及运维 异步化支持 • 基于Vertx提供的异步内核0 码力 | 20 页 | 4.00 MB | 1 年前3
Apache ServiceComb(incubating)社区最新路线��������������� https://github.com/apache?q=incubator-servicecomb ���� (���� �C��� ���� �Spring MVC JAXRS� POJO…) ���� �OpenAPI� ���� �� ���� �� �� … ���� ����������� �������������� ��������������0 码力 | 20 页 | 8.12 MB | 1 年前3
ServiceComb介绍com/apache?q=incubator-servicecomb ServiceComb Java Chassis的架构图 通信模型 (序列列化、 传输协议) 编程模型 (Spring MVC JAXRS, POJO…) 服务契约 (OpenAPI) 服务发现 熔断 负载均衡 配置 跟踪 … 运⾏行行模型0 码力 | 16 页 | 877.58 KB | 1 年前3
Apache ServiceComb (Incubating) Community Roadmapq=incubator-servicecomb Communications model (Serialization, Transfer Protocol) Programming model (Spring MVC JAXRS, POJO...) Service contract (OpenAPI) Service discovery Running model ServiceComb Java0 码力 | 20 页 | 7.95 MB | 1 年前3
华为微服务框架ServiceComb深圳站: Cloud Native 架构下的 K8S 和微服务实践 ServiceComb Chassis架构 通信模型 序列化 传输协议 编程模型 Spring MVC POJO JAXR 服务契约 OpenAPI 服务发现 熔断 负载均衡 配置 跟踪 …0 码力 | 28 页 | 1.53 MB | 1 年前3
微服务创新新品发布安全高效:混合Token模式和Session模式,满足性能和安全性的最佳组合。 https://github.com/apache/servicecomb-fence 微服务鉴权 多种应用 场景支持 对接第三方认 证鉴权服务 多种认证 模式支持 简化模式 授权码模式 密码模式 客户端模式 灵活架构 模式 纯Session模式 纯Token模式 混合模式 8 github.com/apache0 码力 | 12 页 | 2.96 MB | 1 年前3
共 28 条
- 1
- 2
- 3













