可承载千万级用户的 RPC框架结 构详解

本文深入解析RPC框架,阐述其如何简化远程服务调用,隐藏底层传输和序列化细节。通过DNS解析、防火墙筛选、Nginx负载均衡,以及微服务集群处理业务逻辑,揭示了大型互联网公司在高并发场景下的架构设计。重点讨论了消息队列、消息推送、文件存储和缓存服务等关键组件的作用。
摘要由CSDN通过智能技术生成

RPC(Remote Promote Call): 一种进程间通信方式。允许像调用本地服务一样调用远程服务。

RPC框架的主要目标就是让远程服务调用更简单、透明。RPC框架负责屏蔽底层的传输方式(TCP或者UDP)、序列化方式(XML/JSON/二进制)和通信细节。开发人员在使用的时候只需要了解谁在什么位置提供了什么样的远程服务接口即可,并不需要关心底层通信细节和调用过程。

RPC结构图如下: 

 从头开始挨个分析解释: 

用户访问时是根据域名来访问的, 光根据域名是找不到服务器的地址的(www.baidu.com服务器在哪?), 访问要到达的第一个地方就是DNS服务器, 由DNS告诉你你访问的这个域名对应的是哪个(些)IP, 从图中可以看到所有的访问都会经过DNS, 所以DNS是负载最重的地方, 不过不用担心DNS的硬件贼强(人家有钱, 就是干这个活的), 所以DNS可以帮我们做第一次请求分发,比如把60%的请求发给一台nginx服务器, 剩下40%分给另一台nginx 

防火墙是整个互联网公司直接与外界交互的部分, 经过防火墙的筛选后请求才能进入公司内部进行求请求的处理

nginx是用来负载均衡的 , 即使nginx是C写的性能高也有承受限度, 所以并发量过高的时候需要DNS帮忙做这个总的分发者, 分发到多台nginx同时工作, 比如阿里双十一的时候每秒的并发访问量可以超亿, 绝对不是一台nginx能承受的 , nginx根据访问的域名/IP/端口把请求发到对应的业务集群系统中

业务系统每个业务都是一个甚至多个系统集群, 这些集群只负责接受请求, 调用所需要的服务(微服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值