什么是RPCRPC(Remote Procedure Call Protocol)远程过程调用协议。 通俗的描述是:客户端在不知道调用细节的情况下,调用存在于远程计算机上的某个过程或函数,就像调用本地应用程序中的一样。 正式的描述是:一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC主要特质RPC是协议:协议意味着规范。目前典型的RPC实现包括:Dubbo、Thrift
转载 2024-03-03 09:33:10
27阅读
一.简介Zookeeper是一个分布式协调服务,就是为用户的分布式应用程序提供协调服务Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)。Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务…… 虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:管理(存储,读...
原创 2021-08-31 09:15:54
97阅读
一.简介Zookeeper是一个分布式协调服务,就是为用户的分布式应用程序提供协调服务Zookeeper本身就是一个分布式程序(只要有半数以上节点存活,zk就能正常服务)。Zookeeper所提供的服务涵盖:主从协调、服务器节点动态上下线、统一配置管理、分布式共享锁、统一名称服务…… 虽然说可以提供各种服务,但是zookeeper在底层其实只提供了两个功能:管理(存储,读...
原创 2022-02-10 11:13:21
67阅读
RPC Demo(二) 基于 Zookeeper服务发现简介    基于上篇的:RPC Demo(一) Netty RPC Demo 实现    第二部分来实现使用Zookeeper作为服务注册中心,去掉在RPC调用中的显示传参    完整项目工程地址:RpcDemoJava改进说明    在客户端调用中,我们需要显示的传入后端服务器的地址,这样显的有些不方便,代码大致如下:UserServi
转载 2021-01-29 21:20:42
193阅读
2评论
一、什么是RPCRPC(Remote Procedure Call),即远程过程调用。我们可以直接从字面意思去理解,就是进行对运行在远程的一些服务进行调用。下面我们举例说明:1.单一系统我们传统的系统,整个系统都是运行在单个服务器上,对于服务(如:下订单、支付、查询等)的调用,都是调用本地的(或者说服务是写在本地的)2.RPC远程过程调用,说白了就是不需要将服务写在本地上,转而直接调用在远程服务
转载 2024-02-29 14:47:24
83阅读
HTTP/1.0无连接,无状态HTTP1.0默认使用 Connection:cloose,浏览器每次请求都需要与服务器建立一个 TCP 连接,服务器处理完成后立即断开 TCP 连接,服务器不跟踪每个客户端也不记录过去的请求HTTP/1.1格式:header + body头部信息:key-value优点:简单,灵活和易于扩展,应用广泛和跨平台缺点:无状态,明文传输,不安全窃听风险,篡改风险,冒充风险
一.RPC框架必会的基本知识1.1 什么是RPCRPC(Remote Procedure Call ——远程过程调用),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络的技术。一次完整的RPC同步调用流程:服务消费方,也就是我们常说的客户端,以本地调用方式调用客户端存根;什么叫客户端存根?就是远程方法在本地的模拟对象,一样的也有方法名,也有方法参数,client stub接收到调
转载 2024-09-16 12:39:28
62阅读
平常使用的RPC中,例如webservice,使用的习惯类似于下图:如果需要基于netty实现一个我们熟悉的RPC框架。逻辑如下:在上面的框架中,server端存在着一个问题,就是单点问题,也就是说,当服务端“挂了”之后,框架的使用就造成了单点屏障。我们可以通过zookeeper来实现服务端的负载均衡...
原创 2022-03-24 10:29:33
94阅读
平常使用的RPC中,例如webservice,使用的习惯类似于下图:如果需要基于netty实现一个我们熟悉的RPC框架。逻辑如下:在上面的框架中,server端存在着一个问题,就是单点问题,也就是说,当服务端“挂了”之后,框架的使用就造成了单点屏障。我们可以通过zookeeper来实现服务端的负载均衡...
原创 2021-07-08 11:22:24
179阅读
  注:下面使用dubbo依赖的是zookeeper注册中心,这里没有详细的介绍。在配置之前,请自行准备好zookeeper环境。    后续如果写zookeeper的配置会补放链接添加Gradle依赖compile group: 'com.alibaba', name: 'dubbo', version: '2.5.10'//dubbo compile group: 'org.apach
转载 2024-03-08 10:31:48
91阅读
三台机器zookeeper的集群环境搭建Zookeeper 集群搭建指的是 ZooKeeper 分布式模式安装。 通常由 2n+1台 servers 组成。 这是因为为了保证 Leader 选举(基于 Paxos 算法的实现) 能过得到多数的支持,所以 ZooKeeper 集群的数量一般为奇数。Zookeeper 运行需要 java 环境, 所以需要提前安装 jdk。 对于安装leader+fol
class LockThread implements Runnable { private DistributedLock lock; public LockThread(int threadId,CountDownLatch latch) throws Exception { this.lock = new DistributedLock(threa
一、RPC框架设计的核心模块1、服务发现2、健康检查3、路由策略4、负载均衡5、异常重试6、优雅关闭7、优雅启动8、熔断限流9、服务分组二、服务发现1、整体架构2、技术选型(1)DNS(不可用)如果服务端IP 端口下线了,服务调用者不能及时摘除下线节点。如果服务端ip,端口 扩容,新上线的服务提供方,调用方不能及时发现。DNS存在缓存时间长的问题(2)负载均衡设备 (不可用)搭建负载均衡设备或 T
转载 2024-07-03 20:23:01
95阅读
RPC(Remote Procedure Call)是一种远程过程调用的技术,可以让不同的进程在不同的机器上调用彼此的函数或方法,从而实现分布式系统之间的通信。在Kubernetes(K8S)集群中,我们也可以使用RPC服务来实现微服务之间的通信,提高系统的可扩展性和可维护性。 下面我将为您介绍如何在Kubernetes中实现RPC服务,以便于您快速入门并开始使用这项技术。 ### 步骤概览:
原创 2024-05-23 10:09:07
40阅读
我一毕业进公司就接触到了RPC,主要是使用前辈们搭建好的RPC框架以及封装好的RPC函数进行业务开发,虽说使用RPC框架开发已经近半年了,但一直想知道如何从零开始搭建起这么一个好用的分布式通信系统框架,近日心血来潮,虽说没人教怎么搭建,但自己在网上查阅了大量资料后,开始自己一手一脚从零搭建这么一个RPC框架,所以就有了以下这篇文章,以记录我的搭建过程。 首先对RPC做一个简要介绍。&nb
转载 2024-03-11 16:19:23
154阅读
      在分布式系统中,为了提供系统的可用性和稳定性一般都会将服务部署在多台服务器上,为了实现自动注册自动发现远程服务,通过ZK,和ProtocolBuffe 以及Nettyr实现一个简单的分布式RPC框架。   首先简单介绍一下Zookeeper和ProtocalBuffer &nb
一、RPC是什么remote procedure call:远程过程调用过程就是程序,像调用本地方法一样调用远程的过程RPC采用Client-Server结构,通过request-response消息模式实现 RMI(remote method invocation)远程方法调用时oop领域中RPC的一种具体实现webservice、restfull接口调用都是RPC,仅消息组织方式及消
转载 2024-08-14 21:50:48
399阅读
目录前言RPC的实现原理把理论变成实践为什么说这个RPC实现很挫参考 前言在如何给老婆解释什么是RPC中,我们讨论了RPC的实现思路。 那么这一次,就让我们通过代码来实现一个简单的RPC吧!RPC的实现原理正如上一讲所说,RPC主要是为了解决的两个问题:解决分布式系统中,服务之间的调用问题。远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。 还是以计算器Calculator为
转载 2024-06-21 12:38:33
34阅读
  自从在园子里,发表了两篇如何基于Netty构建RPC服务器的文章:谈谈如何使用Netty开发实现高性能的RPC服务器、Netty实现高性能RPC服务器优化篇之消息序列化 之后,收到了很多同行、园友们热情的反馈和若干个优化建议,于是利用闲暇时间,打算对原来NettyRPC中不合理的模块进行重构,并且增强了一些特性,主要的优化点如下:在原来编码解码器:JDK原生的对象序列化方式、kryo
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。 RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供
转载 2024-03-03 22:46:19
109阅读
  • 1
  • 2
  • 3
  • 4
  • 5