模拟springcloud微服务调用

分布式服务框架目前市面上用的最多的估计就是上面两个框架,dubbo与springcloud

关于这两个框架的对比 我个人跟认为 dubbo是远程服务调用框架 springcloud更是微服务框架 从性能上来说 dubbo性能更好 但是本身的功能有限 springcloud 是提供了一整套微服务的框架 除了远程服务调用 还有网关 调用链追踪 配置中心等 并且 springcloud提供的外部服务主推http接口 这样可以对内提供服务的同时 这个接口还能对外提供服务 但是其序列化中 主要依靠http报文的转换 并不像dubbo使用byte数组进行序列化 并且 在传输的框架上 dubbo使用netty 进行传输 异步非阻塞io 虽然现在 servlet3.1也支持 但是 要依靠外部的容器升级 与 webflux 的配合 但是在两者使用上 我觉得 springcloud是真的舒服
下面 我参考 springcloud模拟了一个微服务rpc调用框架 其中使用zookeeper 临时节点作为注册发现的功能,网络间传输
原理:
提供者启动后 会降自身的ip与端口 注册到zookeeper列表 并且 将自身的url写到节点的数据中去

消费者 监听这个节点 并 事实改变节点列表内的数据

下面是源码地址
模拟springcloud服务调用源码
启动方式
配置好zookeeper地址
消费者:
在这里插入图片描述
提供者:
在这里插入图片描述
启动后 在提供者未启动的情况下调用 会抛出异常 这里 可以 作为降级 模拟
服务提供者未启动效果

在这里插入图片描述
当启动多个服务提供者效果:
在这里插入图片描述
在这里插入图片描述

我这里 启动了两个提供者 分别是不同的端口 每次 调用都会轮训的切换节点调用

ps:本代码仅供学习交流使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值