ServiceComb在Service Mesh的
探索与思考Confidential 9 基于微服务元数据的路由管理 • 匹配请求者header • 匹配请求者元数据信息 • 按权重引流 • Router使用统一配置模型,支持插件对接不同生态 请求特征: • Service Name • Headers • Consumer metadata Resolve 决定要访问的服务名后即可开 始匹配路由规则,比如 • 系统中稳定运行着A服务, 版本是1 支持路由管理 支持Citadel安全管理 1.6 泛服务化,Mysql支持 1.8 支持grpc协议 支持本地健康查询 Sidecar Injector 1.5 目前版本 支持per host运行模式 支持Skywalking 1.7 支持更多的生态 1.9 2017.11 2018.11 2019.2 2018.9 2018.12 2019.3 Huawei Confidential0 码力 | 21 页 | 8.48 MB | 1 年前3
Service Mesh的思考及在华为云的实践基于微服务元数据的路由管理 • 匹配请求者header • 匹配请求者元数据信息 • 按权重引流 • Router使用统一配置模型,支持插件对接不 同生态 6/30/2018 Request 请求特征: • Service Name • Headers • Consumer metadata Resolve 决定要访问的服务名后即可开 始匹配路由规则,比如 • 系统中稳定运行着A服务, 供服务 6/30/2018 最佳实践 • 结合容器,容器网络,编排调度平台,监控平台使用 • 业务代码只需监听在127.0.0.1.使用mesher对外提供服务 • 使用SideCar部署模式 • 将服务提供者地址写在配置文件中,在本地里信息是http://x.x.x.x:port, 进行开发调试,上云后 需要与Mesher使用时,改为http://ServiceName • 服务调用层级不要超过3层0 码力 | 29 页 | 1.55 MB | 1 年前3
Linux Con Workshop Quick Start Demo 殷湘 姜宁Manager查询Project archive是否该内容 请求有处理记录 6. 如有处理记录,Manager将历史处理结果 直接返回给用户 7. 无处理记录,Manager从Bulletin board 获取有能力匹配人员的联系方式 8. Manager将请求发送给符合条件的 Worker/Beekeeper 9. Worker/Beekeeper处理请求并返回 处理结果给Manager 10. Manager返回处理结果给用户 Cushman's website Bulletin board提供为Worker和Doorman注册联系方式的设施, 同时Manager和Worker可通过此设施查询注册方的联系方式, 以方便匹配能力的提供和消费 将最近常用的项目进行归档,如果有内容相同的请求到达, Manager可以就近获取结果,不必再购买Worker/Beekeeper提 供的计算服务,节省项目组开支 Human0 码力 | 12 页 | 2.10 MB | 1 年前3
微服务创新新品发布安全高效:混合Token模式和Session模式,满足性能和安全性的最佳组合。 https://github.com/apache/servicecomb-fence 微服务鉴权 多种应用 场景支持 对接第三方认 证鉴权服务 多种认证 模式支持 简化模式 授权码模式 密码模式 客户端模式 灵活架构 模式 纯Session模式 纯Token模式 混合模式 8 github.com/apache0 码力 | 12 页 | 2.96 MB | 1 年前3
Apache ServiceComb 微服务创新项目解读项目地址:https://github.com/apache/servicecomb-fence 多种应用 场景支持 对接第三方认 证鉴权服务 多种认证 模式支持 简化模式 授权码模式 密码模式 客户端模式 灵活架构 模式 纯Session模式 纯Token模式 混合模式 • 开箱即用:提供了默认的Authentication Server、Edge Service、Resource Server实现,简化用户开发难度 代码逻辑分离,也支持在使用Annotation声明式 的权限配置,相辅相成。 • 第三方认证支持:采用Open ID协议,对接Github等三方认证系统。 • 安全高效:混合Token模式和Session模式,满足性能和安全性的最佳组合。 • 快速入门 https://github.com/apache/servicecomb-fence/blob/master/docs/zh_CN/developersGuide0 码力 | 13 页 | 1.24 MB | 1 年前3
ServiceComb在华为消费者云的亿级用户微服务实践微服务API设计:支持Swagger API规范 开发方式:支持透明RPC、Spring MVC风格的微服务开发 编程模型:同时支持同步、异步的编程模型 性能:支持原生的Reactive模式(EventLoop),相比于传 统的同步服务调用,性能更高(吞吐量N倍+提升、时延降低 为原来的50%-) 轻量级、易集成:可以方便的与Spring MVC、Tomcat等 已有技术和 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
Service Mesh在华为公
有云的实践实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务 • ⽣生态与扩展 • Service Mesh在华为内部的技术演进 我们在构建微服务,⽽而构建微服务是困难 的 微服务架构模式引⼊入的问题 路由规则 • 引流 • ⽀支持权重 • 根据消费者信息或请求特征进⾏行引流 Consumer 0.2 Provider 1.2 Provider 1.3 80% 20% 第⼀一代:基于Nginx的微服务代理 • 2013年,微服务开发平台中的组 件,公司内部某电信业务 • 400多个微服务,800左右实例, 200多个数据中⼼心 Sidecar模式 • 基于容器的分布式系统设计模式 • 容器可以共享存储与⺴⽹网络的能⼒力 应⽤用程序容器 ⽇日志同步⼯工具容器 存储卷 Sidecar优势 • 以容器作为基础打包单元,可以分给不同的团队进⾏行开发测试 Mesh的⼀一种实现 • 基于⾃自研的Go语⾔言微服务框架(即将开源)开发 • 使⽤用CSE注册中⼼心与配置中⼼心 • 以Sidecar的⽅方式部署在微服务所运⾏行的环境中,也可以 PerHost模式运⾏行 • ⽀支持多种部署⽅方式 • 占⽤用资源⼩小(闲置10多M,并发运⾏行时30多M) • 简介 • 实现⼀一个Service Mesh • 使⽤用Service Mesh快速构建微服务0 码力 | 52 页 | 4.37 MB | 1 年前3
微服务架构及ServiceComb实践http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 什么是微服务架构? 一个既“简单”的又“强大” 的后端架构模式。 简单: • 每个服务相对较小并比较容易开发维护。 • 服务可以独立的部署。 • 更适合小团队(个人)开发管理 • 更容易实验和采纳新的技术。 强大: • 使大型的复杂应用程序可以持续的交付和持续的部署。 关注对性能的要求 举例:商品维护和下订单是2个微服务,下订单系统对性能有较高要求,所以可以考虑把商品的价格从商品维护微服务同步到订单系统,该同步动作 对性能没有要求,对事务性有要求。 常见的服务间通信模式:同(异)步通信,API组合,基于MQ的异步通信 事务性: saga, 事务性消息发布(一次仅一次),分布式事务等 很易用的服务间saga事务方案Servicecomb-Pack: https://github Gateway Saga同步qualification 1. 每个微服务对应自己数据层 2. 拆分经验:看业务,不看技术 3. 利用:saga, 事务性消息发布,最终一致性,同(异)步调用组合等微服务模式 [社区网站] http://servicecomb.apache.org [Github ] https://github.com/apache?q=servicecomb 步骤2 优化 先关注数据层的优化0 码力 | 14 页 | 2.04 MB | 1 年前3
ServiceComb java SDK详解Transport RPC Servlet Rest Consumer 透明RPC RestTemplate Producer 透明RPC JAX-RS SpringMVC • 传输绑架开发模式 • 传输可能对业务代码产生严重的侵入 • 治理逻辑与业务代码或传输耦合,需要针对各种场景独立开发 治理 治理 治理 治理 设计演进 服务契约 (OpenAPI) Transport Highway 透明RPC RestTemplate Producer 透明RPC JAX-RS SpringMVC 以契约为核心,贯穿始终 • 开发模式(业务代码)、治理、传输三方解耦,互不感知 • 以高性能的Reactive为基础,同时兼容传统的同步开发模式,且支持传统的Servlet传输 LoadBalance …… QPS Trace …… QPS 架构 Common Swagger // 传统同步调用,默认在线程池中执行 public String hello1(String name) { return “hello “ + name; } // 默认为reactive模式,不通过线程池执行 public CompletableFuturehello2(String name) { return CompletableFuture.completedFuture(“hello 0 码力 | 21 页 | 1.15 MB | 1 年前3
张波-虎牙直播在微服务改造中的实践使用注册+DNS-f+健康检查模式。 DNS-F客户 端使用监听模式push/pull拉取更新信息 客户端定时轮询服务端获取其他服务ip信息并对 比,相比之下服务端压力较大、延迟较大 伸缩性 使用Raft选举算法性能、可用性、容错性均比较 好,新加入节点无需与所有节点互相广播同步信 息 由于使用广播同步信息,集群超过1000台机器 后对eureka集群压力很大 健康检查模式/方式 支持服务端/客户端/关闭检查模式,检查方式有 支持服务端/客户端/关闭检查模式,检查方式有 tcp、http、sql。支持自己构建健康检查器 客户端向服务端发送http心跳 负载均衡 支持 支持 手动上下线服务方式 通过控制台页面和API 通过调用API 跨中心同步 支持 不支持 k8s集成 支持 不支持 分组 Nacos可用根据业务和环境进行分组管理 不支持 权重 Nacos默认提供权重设置功能,调整承载流量压 力 不支持 厂商 阿里巴巴 Netflix0 码力 | 27 页 | 1.03 MB | 1 年前3
共 24 条
- 1
- 2
- 3













