如果让你设计一个RPC框架,网络通信,代理机制,负载均衡如何设计

如果让你设计一个RPC框架,网络通信,代理机制,负载均衡如何设计,第1张

如果让你设计一个RPC框架,网络通信,代理机制,负载均衡如何设计

这个面试题还是挺常见的

人家并不是要你手撸一个RPC框架,资料,现场手撸一个RPC框架,撸的特别的简单,人家也不是要你手撸,也不是说让你进来了以后就是让你来研发RPC框架的

    系统设计的问题

就是让你站在系统设计的角度,来考虑一下,到底如果要设计一个RPC框架,你会如何来考虑

    动态代理

比如消费者和提供者,其实都是需要一个实现某个接口的动态代理的,RPC框架的一切的逻辑细节,都是在这个动态代理中实现的,动态代理里面的代码逻辑就是你的RPC框架核心的逻辑

JDK提供了API,去创建针对某个接口的动态代理

调用动态代理对象的方法之后,此时就应该先干一个事情,通过Cluster层的一些组件,服务注册中心,是用什么技术来进行实现呢?往简单了说,服务注册中心也可以是你自己手撸一个,也不难

自己手撸一个,服务去注册,其他服务去拉取注册表进行发现

ZooKeeper,稍微自己上网百度搜索一下,ZooKeeper入门使用教程,基本概念和原理,还有基本的使用,了解一下

Cluster层,从本地缓存的服务注册表里获取到要调用的服务的机器列表

    负载均衡

参考Dubbo的负载均衡策略,此时你就可以把那些策略说一说,我要设计多少种策略,从服务的机器列表中采用负载均衡算法从里面选择出来一台机器

选择好了机器,知道了对方的端口号,而且知道你的请求调用

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5710504.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存