rpc框架设计
2016-07-29 15:42:32 0 举报
AI智能生成
RPC框架设计是一种远程过程调用的架构,它允许程序在运行时通过网络从远程计算机上请求服务。这种设计的主要目标是提高系统的可扩展性和灵活性,使得不同的系统可以更容易地集成在一起。RPC框架通常包括客户端和服务端两部分,客户端负责发送请求,而服务端则负责处理这些请求并返回结果。此外,RPC框架还需要解决一些关键问题,如网络通信、数据序列化和反序列化、错误处理等。为了实现这些功能,RPC框架通常会使用一些高级的技术,如多线程、异步IO、事件驱动等。总的来说,RPC框架设计是一种复杂但非常有用的技术,它可以大大提高软件开发的效率和质量。
作者其他创作
大纲/内容
服务监控
健康检查
生产节点上下线
服务的响应
多时间维度
调用统计
app的调用统计(针对应用)
服务消费的调用统计(针对机器)
服务提供者的被调用统计(每个应用和每台机器)
多时间维度
comsumer存活(java和golang)
对日志的处理和监控
统一处理调用日志,参数和返回值等
服务治理
服务降级
配置mock逻辑,返回预设结果
服务接口的容灾降级开关
降级开关打开时,断开consumer端的rpc,直接返回json
容错容灾
服务限流
每个服务设置appid
服务熔断
服务路由
流量控制
服务资源隔离
下层服务每个app 可以的隔离
服务依赖
调用链和依赖关系
服务治理
服务降级
配置mock逻辑,返回预设结果
服务接口的容灾降级开关
降级开关打开时,断开consumer端的rpc,直接返回json
容错容灾
对服务调用出错的容错
对网络的容错,主要是超时
服务限流
每个服务设置appid
单位时间最大调用次数
服务端调用的最大并发数
动态调整权重
服务熔断
针对单个上层应用的调用熔断
服务路由
流量控制
服务依赖
调用链和依赖关系
服务资源隔离
下层服务每个app 可以的隔离
边缘服务和核心服务做一定的隔离
通信方式
grpc+proto buffer
grpc协议 http://doc.oschina.net/grpc?t=58011
thrift
服务发现方式
zk
etcd
有更强大的配置中心的功能和目前团队比价完善的运维
consul
原生支持服务发现和健康检查,ui化管理
http://dockone.io/article/667
灰度流量控制
对于单个app提供灰度
服务报警
服务节点下线报警
单应用调用量超额报警
耗时报警
comsumer存活报警(java和golang)
日记监控报警
0 条评论
下一页