Springboot项目中多线程与分布式锁解决redis缓存穿透缓存雪崩的解决方案 在前面的文章《Springboot项目中多线程的正确使用方法》中,我们介绍过使用多线程不适合干事务完整性的逻辑,但是可以干一些如下的事情:写日志写缓存等操作然后我们在这篇文章《Spring Cloud微服务项... Rae /微服务 /2023-07-19 /0 评论 /263 阅读
手把手教你写rpc框架系列(十九)RPC框架学习总结 在本系列之前的文章我们介绍了如何从0基础开始编写一个rpc框架。这篇文章主要介绍一些总结性的内容:一、RPC是什么RPC就是一个远程调用框架,他主要使用tcp二进制方式进行传输。所以对于我们来说,需要自定义这个远程调... Rae /微服务 /2023-05-10 /0 评论 /197 阅读
手把手教你写rpc框架系列(十八)测试客户端的RPC访问 截止上一篇文章《手把手教你写rpc框架系列(十七)实现客户端的RPCClient注解》,我们实现了整个rpc框架的代码,这里的话我们是使用客户端进行测试一下。首先创建一个users-provider的项目这里的话,比... Rae /微服务 /2023-05-10 /0 评论 /300 阅读
手把手教你写rpc框架系列(十七)实现客户端的RPCClient注解 在上一篇文章《手把手教你写rpc框架系列(十六)实现客户端的代理(编组,请求,响应,解组)》,我们实现了代理的编写。现在就要进入应用环节了,应用的时候,其实我们更希望使用一个注解就自动帮我们完成了这些调用环节,这样子... Rae /微服务 /2023-05-10 /0 评论 /214 阅读
手把手教你写rpc框架系列(十六)实现客户端的代理(编组,请求,响应,解组) 前面我们已经实现了服务发现,这里的话我们快接近尾声了,也就是在实际中,我们所有的请求都是动态代理请求的,而不是由我们在每一个请求的时候去实际编写这些请求代码。如果实际编写很多代码的话,那么我们的工作量就非常大了,所以... Rae /微服务 /2023-05-10 /0 评论 /328 阅读
手把手教你写rpc框架系列(十五)实现客户端的服务发现 在前面,我们的服务端启动的时候会自动把自己的注册信息给注册到zookeeper注册中心上,所以那么我们就肯定是要求客户端在启动的时候,就能连接上注册中心,然后从注册中心去获取下所有的服务列表,在客户端需要使用的时候,... Rae /微服务 /2023-05-10 /0 评论 /240 阅读
手把手教你写rpc框架系列(十四)定义rpcclient 在前面的文章里面,我们已经实现了一个服务端的定义及功能运行。这里的话我们就要开启客户端模块的编写,首先大家想想,客户端连接服务器需要做什么?那肯定是需要这几个基础条件:1、定义一个客户端。2、定义一个客户端的请求协... Rae /微服务 /2023-05-10 /0 评论 /229 阅读
手把手教你写rpc框架系列(十三)启动rpcserver 上一篇文章《手把手教你写rpc框架系列(十二)构建rpcserver》我们编写了RPCServer的服务端,那么在真实的环境中,我们肯定是需要把这个服务端给启动起来的,也就是我们希望服务提供者运行的时候,就启动这里的... Rae /微服务 /2023-05-10 /0 评论 /218 阅读
手把手教你写rpc框架系列(十二)构建rpcserver 前面我们定义了二进制的通信协议,这篇文章我们我构建一个rpcserver,也就是定义服务器,同时通信协议使用我们自定义的。下面直接开始:首先我们定义一个服务端的接口,也就是RPCServerpackage ... Rae /微服务 /2023-05-10 /0 评论 /227 阅读
手把手教你写rpc框架系列(十一)实现二进制通信协议的java序列化和反序列化 在上一篇文章《手把手教你写rpc框架系列(十)定义网络通信模块的二进制协议》中,我们定义了二进制的通信协议,但是在这个MessageProtocol类里面看到他只是一个接口,是没有实现的,因此这里我们需要来实现下这个... Rae /微服务 /2023-05-09 /0 评论 /191 阅读