架构设计:系统间通信(15)——服务治理与Dubbo 上篇

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO

联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬

学习必须往深处挖,挖的越深,基础越扎实!

阶段1、深入多线程

阶段2、深入多线程设计模式

阶段3、深入juc源码解析


阶段4、深入jdk其余源码解析


阶段5、深入jvm源码解析

码哥源码部分

码哥讲源码-原理源码篇【2024年最新大厂关于线程池使用的场景题】

码哥讲源码【炸雷啦!炸雷啦!黄光头他终于跑路啦!】

码哥讲源码-【jvm课程前置知识及c/c++调试环境搭建】

​​​​​​码哥讲源码-原理源码篇【揭秘join方法的唤醒本质上决定于jvm的底层析构函数】

码哥源码-原理源码篇【Doug Lea为什么要将成员变量赋值给局部变量后再操作?】

码哥讲源码【你水不是你的错,但是你胡说八道就是你不对了!】

码哥讲源码【谁再说Spring不支持多线程事务,你给我抽他!】

终结B站没人能讲清楚红黑树的历史,不服等你来踢馆!

打脸系列【020-3小时讲解MESI协议和volatile之间的关系,那些将x86下的验证结果当作最终结果的水货们请闭嘴】

1、上篇中“自定义服务治理框架”的问题

在之前的文章中(《架构设计:系统间通信(13)——RPC实例Apache Thrift 下篇(1)》、《架构设计:系统间通信(14)——RPC实例Apache Thrift 下篇(2)》),我们基于服务治理的基本原理,自己实现了一个基于zookeeper + thrift的服务治理框架。但实际上前文中我们自行设计的服务治理框架除了演示基本原理外,并没有多大的实际使用价值,因为还有很多硬性需求是没有实现的:

  • 访问权限:在整个系统生态环境中,不是任何用户都可以随意访问任何的接口。那么除了访问接口的用户组、用户和密码管理以外(或者是公私钥文件),还需要限制用户的访问权限。例如规定用户组A下所有的用户才能够访问接口X。
  • 版本控制:就像上篇文中描述的问题一样。在比较大的系统中,某一个子系统一般都是使用集群环境运行(有多个工作节点),且必须24小时连续工作不允许中断。那么要进行服务接口升级,一般是先升级一部分服务节点,其间让另一部分服务节点继续提供服务,造成了在一个时间段同一个子系统提供的某一个服务可能出现服务接口版本的不兼容。为了子系统能够保证24小时连续提供服务,就需要标注服务接口的版本号,让之前没有完成升级的服务节点提供/访问老版本的服务接口;已经完成升级的服务节点提供/访问新版本的服务接口。
  • 服务时效控制、次数控制:各个子系统提供的服务本身也是具有时效性的。比如某一个服务Y只在每天早上10:00——11:00才能提供访问服务,且对于某个用户来说每天只能调用100次。再比如说,
    · `
  • 性能措施:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值