快速微服务化编程体验0 码力 | 12 页 | 2.67 MB | 1 年前3
Experience on Fast Microservice Programming - 亲自动手,体验微服务开源开发-快速微服务化编程体验0 码力 | 12 页 | 2.56 MB | 1 年前3
ServiceComb雄关漫道微服务的雄关漫道 • 服务框架 • Service Mesh ServiceComb开源微服务解决方案 ServiceComb微服务解决方案 Java编程 (POJO/Spring MVC/JAX-RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量 通信协议 (Rest&RPC) 边缘服务 熔断/容错 Token认证 Saga事务一致性 (序列化、 传输协议) 编程模型 (Spring MVC JAXRS, POJO…) 服务契约 (OpenAPI) 服务发现 熔断 负载均衡 配置 跟踪 … 运行模型 围绕服务契约进行开发以及运维 异步化支持 • 基于Vertx提供的异步内核 • 保持高性能的同时支持同步调用方式 • 将通信线程与业务处理线程分离 • 操作级别线程池控制,支持隔离仓 • 支持多种异步编程接口 • CompletableFuture 边缘服务 系统Metric 异步调用API Saga 0.0.1 集中式Saga原型 Saga 0.0.2 Saga调用支持条件判断 2017年6月 2017年8月 2017年10月 2017年9月 2017年12月 ServiceComb 1.0.0-m1 新特性 • Java Chassis • 支持 CompletableFeature 异步调用接口 • 监控指标模块优化,支持与prometheus对接0 码力 | 20 页 | 4.00 MB | 1 年前3
ServiceComb介绍微服务框架与解决⽅方案 • 服务框架 • Service Mesh ServiceComb开源微服务解决⽅方案 ServiceComb微服务解决⽅方案 Java编程(POJO/ SpringMVC/JAX- RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量量 通信协议 (Rest&RPC) 边缘服务 熔断/容错 Token认证 Saga事务⼀一致性 通信模型 (序列列化、 传输协议) 编程模型 (Spring MVC JAXRS, POJO…) 服务契约 (OpenAPI) 服务发现 熔断 负载均衡 配置 跟踪 … 运⾏行行模型 围绕服务契约进⾏行行开发以及运维 异步化⽀支持 • 基于Vertx提供的异步内核 • 保持⾼高性能的同时⽀支持同步调⽤用⽅方式 保持⾼高性能的同时⽀支持同步调⽤用⽅方式 • 将通信线程与业务处理理线程分离 • 操作级别线程池控制,⽀支持隔离仓 • ⽀支持多种异步编程接⼝口 • CompletableFuture • RxJava • Reactive Stream • ……. Process Event-Loop Process R R W W 线 程 池 分布式服务调⽤用追踪 • ⽀支持标准的分布式调⽤用追踪Zipkin V10 码力 | 16 页 | 877.58 KB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践没有十全十美的微服务框架,适合的才是最好的 微服务API设计:支持Swagger API规范 开发方式:支持透明RPC、Spring MVC风格的微服务开发 编程模型:同时支持同步、异步的编程模型 性能:支持原生的Reactive模式(EventLoop),相比于传 统的同步服务调用,性能更高(吞吐量N倍+提升、时延降低 为原来的50%-) 轻量级、易集成:可以方便的与Spring 实践-同步和异步 Website: http://servicecomb.incubator.apache.org/ Gitter: https://gitter.im/ServiceCombUsers/Lobby 不一刀切,根据业务实际需要选择同步或者异步微服务调用 微服务消费端 业务 线程 池 异步 I/O线 程池 NIO异步通信 微服务提供端 NIO异步通信 业务线程阻塞, 微服务同步调用问题: 1、同步服务调用:业务线程将请求消息交给I/O线程之后, 无论I/O线程是同步还是异步发送请求消息,业务线程都会 同步阻塞,等待响应 2、异步I/O通信:I/O通信方式与服务调用方式没关联关 系,无论是同步服务调用还是异步服务调用,I/O通信都 可以采用异步非阻塞模式 同步服务调用的几个缺点: 1、业务线程利用率低:线程资源是系统中比较重要的资源, 在一个进0 码力 | 15 页 | 1.15 MB | 1 年前3
华为微服务框架ServiceCombMicroservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 ServiceComb Chassis架构 通信模型 序列化 传输协议 编程模型 Spring MVC POJO JAXR 服务契约 OpenAPI 服务发现 熔断 负载均衡 配置 跟踪 Microservice NO.1 深圳站: Cloud Native 架构下的 K8S 和微服务实践 异步性能支持 • 基于Vertx提供的异步内核 • 保持高性能的同时支持同步调用方式 • 将通信线程不业务处理线程分离 • 操作级别线程池控制,支持隔离仓 • 支持多种异步编程接口 • CompletableFuture • RxJava • Reactive Stream Chassis • 异步调用接口支持 • 监控指标模块优化,支持不prometheus, OverWatch • 支持通过携程Apollo劢态配置实例 • Service Center • 优化Service Center性能,修复Bug • Saga 0.1.0 • 支持通过Annotation在用户代码定义事务 • Pack原型实现,通过切面编程技术获取事务信息,通过集中式的事务管0 码力 | 28 页 | 1.53 MB | 1 年前3
ServiceComb 的前世今生现有代码提取 OpenAPI工具 与RPC的IDL互 转工具 protobuf3 多语言多框架代 码生成器 多语言Protobuf3对象 编码库 Java 微服务编程框架 Go 框架 其他 框架 Spring MVC JAX-RS POJO Martini Mux Java protobuf对象 Go protobuf对象 编辑 增速微服务开发 --- 降低学习门槛 SpringMVC JAXRS 性能保证 Process Event-Loop Process R R W W 线 程 池 •异步 • 标准、开放、协议健壮性 • 开发框架的性能在于细节,而不仅仅 是协议。 更细致的服务路由管控 ETCD 集群 服务中 心实例 服务中 心实例 服务中 心实例 • 统一的路由策略管控 实例动态扩容,海量的长连接或者短连接 • 支持灰度发布、服务分组等高级管理特性 微服务 ServiceComb 开发框架 通信模型 (序列化、传输协 议) 编程模型 (同步、异步、 Reactive…) 服务契约 (OpenAPI) 服务发现 熔断 负载均衡 配置 跟踪 …0 码力 | 16 页 | 1.45 MB | 1 年前3
Metrics in ServiceComb Java Chassis 1.0.0-m1 让微服务运行状态清晰可见q=servicecomb servicecomb.apache.org ServiceComb开源微服务解决方案 ServiceComb微服务解决方案 Java编程 (POJO/Sprin gMVC/JAX- RS) Golang 编程 限流 负载均衡 分布式追踪 动态配置 服务注册 服务度量 通信协议 (Rest&RP C) 边缘服务 熔断/容错 Token认证 Saga事务一致性 Sample示例优化 Service Center Java Chassis 0.4.0 服务中心升级 Service Center Java Chassis 0.5.0 边缘服务 系统Metric 异步调用API Saga 0.0.1 集中式Saga原型 Saga 0.0.2 Saga调用支持条件判断 2017年6月 2017年8月 2017年10月 2017年9月 2017年12月 开发者基本都是华为员工, 支持ServiceMesher 服务实例Cache优化支 持黑白名单 Service Center Java Chassis 1.0.0-m1 支持Dev开发模式 集成外部配置中心 Metrics 监控支持 异步编程模型支持 ZipkinV2版本支持 Service Center Java Chassis 1.0.0-m2 提升etcd弹性伸缩 边缘服务网关优化 支持文件流上传下载 用户自定义访问日志0 码力 | 18 页 | 3.12 MB | 1 年前3
反应式微服务框架ServiceComb设计思想&mdash更高的性能,规模效应 • 更好的用户体验 业界趋势 n Java 9中把反应式流规范以 java.util.concurrent.Flow 类的方式添加到了标准库中 n Spring 5对反应式编程模型提供了内置支持,并增加了新的 WebFlux 模块来支持反应 式 Web 应用的开发 ServiceComb Apache孵化的第一个微服务框架。 服务契约 怎么解决中台开发命苦的问题? Zuul VS EdgeService 3 Callback hell 实践案例—华为消费者云 异步场景1:降低长流程/复杂业务流程时延 异步场景2:CPU资源使用率低、性能要求高 异步场景3:需要配置较长超时时间的接口 异步场景4:多个微服务级联调用 性能对比测试: 采用Reactive异步模式之后,TPS提升 43% 左右 时延降低 28% 左右,CPU占用降低 56% 左右 总结0 码力 | 33 页 | 5.68 MB | 1 年前3
Java Chassis通信处理详解 - 通信优化实践问题不挑战 整体线程模型 Consumer Producer 问题不挑战 消费者 编程 模型 透明 RPC Spring MVC Transport Highway Vertx REST Servlet REST 生产者 编程 模型 透明 RPC JAX-RS Spring MVC 服务契约(OpenAPI) 负 …… 跟 踪 1. RPC还是REST,传输方式决定编程模型 2. 丌同开发人员熟悉丌同的编程模型 3. RPC、REST的治理如何迚行 4. REST性能低 5. Reactive还是同步 ServiceComb的同步 仅仅是指编程模型上的同步,跟网络通信无关 因为所有场景下网络操作都是异步的 •Producer •Consumer0 码力 | 17 页 | 2.22 MB | 1 年前3
共 25 条
- 1
- 2
- 3













