分布式服务框架设计

编程入门 行业动态 更新时间:2024-10-26 02:32:17

<a href=https://www.elefans.com/category/jswz/34/1770120.html style=分布式服务框架设计"/>

分布式服务框架设计

目录

服务框架的设计

服务框架的功能

服务框架的性能指标

服务治理需要哪些功能


  • 服务框架的设计

  • 尽管不同的分布式服务框架实现细节存在差异,但是核心功能差异不大,下面的架构图描绘了一个分布式服务框架的整体逻辑架构

  • 总共分为 3 层:
  • 1-服务层,Service,其中主要部分就是动态代理,主要用于将服务提供者的接口封装成远程服务调用
    • 上层的服务接口用于 Spring 之类的业务框架使用,也是 Spring 的 bean
  • 2-过滤器层,服务调用职责链,提供多种调用切面供框架自身和使用者扩展,例如负载均衡,性能统计,服务调用完成通知,失败重试等
  • 3-RPC层,这里就是 RPC 框架的核心部分,包括通信框架,序列化框架,还有用于屏蔽底层通信框架和序列化框架的抽象接口
  • 分布式服务框架通常会包含另外两个重要功能:服务治理中心 和 服务注册中心
  • 1-服务注册中心:负责服务的发布和通知,通常支持对等集群部署,某个节点宕机不会影响整个集群不可用
    • 即使全部宕机,只影响新的节点注册和发布,不影响现有的,因为客户端需要缓存服务路由信息
  • 2-服务治理中心:服务治理中心通常包括服务治理接口 和 服务治理 Portal,架构师,测试人员和系统运维人员通过服务治理 Portal 对服务的运行状态,历史数据,健康度和调用关系等进行可视化的分析和维护,目标是要持续优化服务,防止服务架构腐化,保证服务高质量运行
  • 服务框架的功能

  • 虽然每个服务框架不尽相同,但是还是有一些核心功能是相同的,比如以下功能:
    • 1-服务订阅发布:比如,配置化发布和引用服务,服务自动发现,服务在线注册和取消注册
    • 2-服务路由:比如,默认提供随机路由,轮询,基于权重的路由,粘滞连接,路由定制功能
    • 3-集群容错:比如,Failover(失败自动切换),Failback(失败自动恢复),Failfast(快速失败)
    • 4-服务调用:需要支持:同步调用,异步调用,并行调用
    • 5-多协议:包括私有协议,公有协议
    • 6-序列化方式:需要支持二进制和文本类序列化方式
    • 7-统一配置:支持本地静态配置,支持基于配置中心的动态配置
  • 以上功能可以按照业务定制,不需要 100% 支持
  • 服务框架的性能指标

  • 分布式服务框架的性能肯定比不上本地调用,原因是:网络通信,序列化,反射调用,动态代理这些都会消耗性能;所以需要有性能指标
  • 1-高性能:在同等资源占用情况下,单服务提供者的 TPS 要尽量高
  • 2-低延时:在同等资源占用情况下,服务调用延时要尽量低
  • 3-性能线性增长:如果增加了服务提供者,整体性能要能够线性增长
  • 4-可靠性:服务注册中心的可靠性,网络链路的可靠性
  • 服务治理需要哪些功能

  • 服务运行态监控,例如通过路由导流,限流,服务降级,动态控制超时时间
  • 服务监控,性能统计,报表,报警
  • 服务生命周期管理
  • 故障快速定位
  • 服务安全

更多推荐

分布式服务框架设计

本文发布于:2023-11-16 12:25:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1622631.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:分布式   框架

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!