本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
fantaxy025025 - johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- jickcai
- gengyun12
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- arpenker
- tanling8334
- gaojingsong
- kaizi1992
- xpenxpen
- 龙儿筝
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- luxurioust
- lemonhandsome
- mengjichen
- jbosscn
- zxq_2017
- lzyfn123
- nychen2000
- forestqqqq
- wjianwei666
- ajinn
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- mwhgJava
- kingwell.leng
最新文章列表
带你手写基于 Spring 的可插拔式 RPC 框架(五)注册中心
注册中心代码使用 zookeeper 实现,我们通过图片来看看我们注册中心的架构。
首先说明, zookeeper 的实现思路和代码是参考架构探险这本书上的,另外在 github 和我前面配置文件中的 zookeeper 服务器是用的1个月免费适用的阿里云,大家也可以用它当测试用。
不多说,一次性给出注册中心全部代码。
客户端对应的注册中心接口
Copy
public interface ...
带你手写基于 Spring 的可插拔式 RPC 框架(四)代理类的注入与服务启动
上一章节我们已经实现了从客户端往服务端发送数据并且通过反射方法调用服务端的实现类最后返回给客户端的底层协议。这一章节我们来实现客户端代理类的注入。
承接上一章,我们实现了多个底层协议,procotol 有 netty,http,和 socket 三个实现类,每个实现类都有启动服务端和客户端发送数据两个方法。
问题
如何实现底层协议的选择那?可以通过配置文件来选择协议。
单独的配置文件还是 ...
带你手写基于 Spring 的可插拔式 RPC 框架(三)通信协议模块
在写代码之前我们先要想清楚几个问题。
我们的框架到底要实现什么功能?我们要实现一个远程调用的 RPC 协议。
最终实现效果是什么样的?我们能像调用本地服务一样调用远程的服务。
怎样实现上面的效果?前面几章已经给大家说了,使用动态代理,在客户端生成接口代理类使用,在代理类的 invoke 方法里面将方法参数等信息组装成 request 发给服务端,服务端需要起一个服务器一直等待接收这种消息, ...
带你手写基于 Spring 的可插拔式 RPC 框架(一)介绍
概述
首先这篇文章是要带大家来实现一个框架,听到框架大家可能会觉得非常高大上,其实这和我们平时写业务员代码没什么区别,但是框架是要给别人使用的,所以我们要换位思考,怎么才能让别人用着舒服,怎么样才能让我们的框架性能优异。通过自己写一个框架,我们能学到的有很多,能让我们脱离 CURD,在更高的层面上去思考。
目的
写这个框架最主要的目的是要让大家了解整个框架的设计思想和用到的技术,并不是 ...
【dubbo】基于httpclient实现rpc的思路
今天在看 dubbo http 协议的时候,发现它是使用 jsonrpc 实现的. 当时就在想能否基于 httpclient 实现了?
答案是肯定的。
做法如下:
1.需要为接口实现一个代理类,在代理类中发起 http 请求
2.在发送 http 请求的时候,需要把方法名,参数序列化,放入到 request 的 header 中(我是这么干的)
3.在服务端从 header 中获取方法名和参数 ...
java高性能rpc,企业级rpc,zk调度,负载均衡,泛化调用一体的rpc服务框架
一:项目介绍
koalas-RPC 个人作品,提供大家交流学习,有意见请私信,欢迎拍砖。客户端采用thrift协议,服务端支持netty和thrift的TThreadedSelectorServer半同步半异步线程模型,支持动态扩容,服务上下线,权重动态,可用性配置,页面流量统计等,QPS统计,TP90,TP99,TP95等丰富可视化数据,持续为个人以及中小型公司提供可靠的RPC框架技术方案。 ...
Linux thrift rpc客户端步骤
本文用的thrift方式,首先建立user.thrift
#=================用户模块RPC服务接口=================
service UserInfoService {
UserInfo getUserInfo(1:i32 pageIndex,2:i32 pageSize,3:string userId) #根据用户id
}
#======= ...
既然有http 请求,为什么还要用rpc调用?
https://www.zhihu.com/question/41609070?sort=created
链接:https://www.zhihu.com/question/41609070/answer/191965937
这个问题其实是有理解误区的,首先 http 和 rpc 并不是一个并行概念。rpc是远端调用协议, 包含传输协议和编码协议。传输协议包含: 如著名的 [gRPC](grpc ...