RPC
LL小蜗牛
这个作者很懒,什么都没留下…
展开
-
基于netty、zookeeper手写RPC框架之五——心跳机制优化及添加负载均衡
本系列的第二篇,加入netty心跳机制,只是简单地描述了如何监听不活跃的服务端,即自定义一个标记服务是否活跃的规则及空闲链接的监听器,在标记为不活跃后,客户端应该怎么处理,服务端再次活跃了,客户端又如何处理,先看下这个图monitor负责监控server们的是否活跃,如果不活跃,修改zk上对应节点的值,client则监听zk上的事件,当发生变动的节点的值为不活跃,则加进不活跃的优先队列,这...原创 2019-11-24 16:07:38 · 847 阅读 · 0 评论 -
基于netty、zookeeper手写RPC框架之四——实现异步请求和连接池管理
上一篇文章说到,现在这种每发起请求一次就新建一个client链接,但是如果在并发比较高的情况下,就会造成资源浪费,如果通过client和server进行长期链接,把需要处理的请求存到client里面,并且通过异步的形式返回,便会减少资源浪费。这里有两个主要的问题,1、如何实现异步返回?2、如何把client和server对应起来?先看第一个问题,所谓的异步返回,可以以点奶茶为例,当顾客(消...原创 2019-11-22 12:11:45 · 437 阅读 · 0 评论 -
基于netty、zookeeper手写RPC框架之三——接入Spring
在接入前,先自定义一组传输对象,而不是原来传输一个Invocation,返回则是一个String,这里需要用到netty的编解码器,当然这里可以用netty已经实现好的对象编解码、第三方的Probuff编解码器,而如果想要实现自己的传输协议,就要继承netty的编解码,他可以用来自定义解析对象以及封装对象,这里对对象处理采用本来是采用gson,但是有很多bug,便用了另一种进行序列化,这样自定义协...原创 2019-11-20 19:04:01 · 300 阅读 · 0 评论 -
基于netty、zookeeper手写RPC框架之二——接入zookeeper作为注册中心,添加心跳机制
zookeeper介绍分布式是指多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务,由于远程调用会出现网络故障等问题,如何保持数据一致性和可用性则成为要解决的问题。而zookeeper是一个分布式服务协调组件,是一个高性能的分布式数据一致性的解决方案。特性一致性:数据一致性,数据按照顺序分批入库。原子性:事务要么成功要么失败,不会局部化单一视图:客户端...原创 2019-11-19 14:10:25 · 955 阅读 · 0 评论 -
基于netty、zookeeper手写RPC框架之一——基本模块搭建与编写
最近在b站看到一个视频,可以用来入门rpc(remote procedure call),记录一下学习的过程,rpc即是一个计算机通信协议,该协议允许运行于一台计算机的程序调用另一台计算机的子程序,程序员无需额外地为这个交互作用编程,如果设计的软件采用面向对象编程,远程调用亦可作为远程方法调用大概的流程是消费方以本地方式调用服务,将方法、参数等信息封装成请求体,并且找到服务地址,将消息发送到服...原创 2019-11-18 17:59:09 · 490 阅读 · 0 评论