
rpcx 分布式服务框架
文章平均质量分 75
九品神元师
AI平台、分布式存储、分布式计算、微服务
展开
-
rpcx服务框架浅析1-角色说明
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。RPCX服务框架角色节点角色说明:Provider: 暴露服务的服务提供方。 Consumer: 调用远程服务的服务消费方。 Registry: 服务注册与发现的注册中心。 Monitor: 统计服务的调用次数、调用时间、服务机器状态监控的监控中心。 调用关系说明: 1. 服务提供者在启动时,向...原创 2018-09-18 09:44:52 · 2593 阅读 · 1 评论 -
rpcx服务框架浅析12-断路器
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。断路器 (百度一下,到处都是概念说明,懒得打字下面全是百度抄的)在分布式环境下,特别是微服务结构的分布式系统中, 一个软件系统调用另外一个远程系统是非常普遍的。这种远程调用的被调用方可能是另外一个进程,或者是跨网路的另外一台主机, 这种远程的调用和进程的内部调用最大的区别是,远程调用可能会失败,或者挂起而没有...原创 2018-09-21 10:14:30 · 1214 阅读 · 0 评论 -
rpcx服务框架浅析11-调用拦截链
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。 拦截器 :是在面向切面编程中应用的,就是在你的service或者一个方法前调用一个方法,或者在方法后调用一个方法。比如java的动态代理就是拦截器的简单实现,在你调用方法前打印出字符串(或者做其它业务逻辑的操作),也可以在你调用方法后打印出字符串。RPCX框架中并没有调用拦截的处理(扫源代码好像没看到) ...原创 2018-09-20 17:04:54 · 1225 阅读 · 0 评论 -
rpcx服务框架浅析10-扩展Plugin
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。RPCX框架可能考虑到扩展性(猜测而已),增加了一个插件功能,引入了插件接口,如下:type PluginContainer interface { Add(plugin Plugin) Remove(plugin Plugin) All() []Plugin DoRegister(name string,...原创 2018-09-20 13:30:21 · 1225 阅读 · 0 评论 -
rpcx服务框架浅析9-序列化
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。RPCX消息序列化 RPC是RPCX框架中最核心的一种高性能、高吞吐量的远程调用方式,可以称之为多路复用的TCP长连接调用,简单的说:长连接:避免了每次调用新建TCP连接,提高了调用的响应速度 多路复用:单个TCP连接可交替传输多个请求和响应的消息,降低了连接的等待闲置时间,从而减少了同样并发数下的网络...原创 2018-09-19 15:48:59 · 1227 阅读 · 0 评论 -
rpcx服务框架浅析8-群集容错机制
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。群集容错机制Failover Mode失败自动切换,当出现失败,重试其它服务器。 通常用于读操作,但重试会带来更长延迟。 可通过retries="2"来设置重试次数(不含第一次)。Failfast Mode快速失败,只发起一次调用,失败立即报错。 通常用于非幂等性的写操作,比如新增记录。Failt...原创 2018-09-19 09:37:46 · 985 阅读 · 0 评论 -
rpcx服务框架浅析7-负载均衡策略
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。负载均衡 RPCX的负载均衡策略是在消费端进行的,也可以理解为“进程内负载均衡”。RPCX负载均衡策略Random LoadBalance随机,按权重设置随机概率。 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。RoundRob...原创 2018-09-18 16:46:35 · 1436 阅读 · 0 评论 -
rpcx服务框架浅析6-注册中心
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。服务注册中心 RPCX的服务注册中心主要负责维护系统服务信息、服务提供方访问地址及可用状态。服务注册中心和其他角色关系:服务提供方定期向注册中心“发送心跳”,表示自己在线可用。 服务消费方向注册中心查询服务提供方信息。 注册中心通知服务消费方服务提供方在线、离线状态。服务注册中心抽象t...原创 2018-09-18 15:37:31 · 1273 阅读 · 0 评论 -
rpcx服务框架浅析5-消费方(以zookeeper作为注册中心的Consumer例子)
rpcx开发服务消费方例子,以zookeeper作为服务注册中心输入参数定义type CmdIn struct { Param string}输出参数定义type CmdOut struct { Result int Info string}定义一个Hello服务type Hello struct { Param string}//定义Test1方法...原创 2018-09-18 14:49:42 · 1243 阅读 · 0 评论 -
rpcx服务框架浅析4-消费方服务引用
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。服务引用 服务引用是服务的消费方向注册中心订阅服务提供方提供的服务地址后向服务提供方引用服务的过程。RPCX消费方启动关键流程:配置注册中心:消费方会连接注册中心,获取服务相关信息。 配置服务名称即servicePath 配置集群模式:失败重试。 配置负载均衡策略:消费方相当于进程内负载均衡...原创 2018-09-18 14:46:15 · 927 阅读 · 0 评论 -
rpcx服务框架浅析3-服务发布流程
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。服务发布 服务发布是服务提供方向注册中心注册服务的过程,以便服务消费方从注册中心查询并调用服务。本文以zookeeper作为注册中心说明rpcx框架服务发布过程。 服务Handler约定rpcx框架规定服务Handler必须是如下形式:func Handler(ctx context.Co...原创 2018-09-18 10:45:12 · 1904 阅读 · 0 评论 -
rpcx服务框架浅析2-服务发布(以zookeeper作为注册中心的Provider例子)
rpcx开发服务提供方例子,以zookeeper作为服务注册中心输入参数定义type CmdIn struct { Param string}输出参数定义type CmdOut struct { Result int Info string}定义一个Hello服务type Hello struct { Param string}//定义Test1方法...原创 2018-09-18 09:58:06 · 2252 阅读 · 0 评论 -
rpcx服务框架浅析13-远程调用
RPCX分布式服务框架主要致力于提供高性能和透明化的RPC远程服务调用。RPCX框架服务消费方向服务提供方发起调用,可分为同步和异步方式。异步调用func (client *Client) Go(ctx context.Context, servicePath, serviceMethod string, args interface{}, reply interface{}, do...原创 2018-09-21 15:49:45 · 1265 阅读 · 0 评论