分布式服务框架-原理与实践:15---服务降级[展示API]-学习笔记
2017-06-22 00:00
886 查看
要做服务降级,首先要解决API发现的问题,基于spring cloud的eureka来说,怎么来做到服务API发现呢?这是我目前要解决的问题。
1 ===首先来看dubbo是如何做的===
做1个测试
特意写了1个辨识度高的API,启动server, 查看zk,
可见,dubbo是通过server端直接注册到zk上的,web直接查询就可以了。
2 ===首先来看swagger是如何做的===
https://www.oschina.net/p/swagger
正好公司有个QA环境,上去看了下
只有URL?我觉得方法级别的比较好,咨询同事,说有个url可以查询,试一把!
拿到了swagger相关的信息,不合适的改造就是了,那么接口信息获取的问题就解决了。
3 ===接口信息保存在什么地方?===
对于zk来说,信息保存在zk里,没有问题,用cloud的话如何保存?
可以在每个进程启动时,因为admin可以感受到up的信息,此时去进程内部调用接口拉取
每个进程启动1次,只会触发1次拉取操作,如果有多个实例,会触发多次,
将多个结果融合到一起。
当然,这要区分版本号。
服务-版本号-接口-方法,打到数据库里永久保存!
这样,就解决了展示API的问题。
===当然,也可以是每个实例把信息打到eureka里的meta里去,这样天生就可以拿到信息了。
注意:只是在每个实例的up状态下才需要处理这个meta里的接口信息。
1 ===首先来看dubbo是如何做的===
做1个测试
package com.penngo.dubbo.service; public interface LoginService { public User login(String name, String psw); public void test12345678111111111111(); }
特意写了1个辨识度高的API,启动server, 查看zk,
ls /dubbo/com.penngo.dubbo.service.LoginService/providers [ dubbo:// ---协议 172.17.245.188:20881 ---IP:端口 /com.penngo.dubbo.service.LoginService? ---接口名 anyhost=true &application=provider-penngo-app ---应用名 &dubbo=2.0.0 &generic=false &interface=com.penngo.dubbo.service.LoginService ---接口名 &methods=test12345678111111111111,login ---方法集合 &pid=12604 ---进程ID(我猜是为了区分进程是不是重启了) &side=provider ---提供方 ×tamp=1498100414818 ---启动时间戳 ]
可见,dubbo是通过server端直接注册到zk上的,web直接查询就可以了。
2 ===首先来看swagger是如何做的===
https://www.oschina.net/p/swagger
正好公司有个QA环境,上去看了下
只有URL?我觉得方法级别的比较好,咨询同事,说有个url可以查询,试一把!
拿到了swagger相关的信息,不合适的改造就是了,那么接口信息获取的问题就解决了。
3 ===接口信息保存在什么地方?===
对于zk来说,信息保存在zk里,没有问题,用cloud的话如何保存?
可以在每个进程启动时,因为admin可以感受到up的信息,此时去进程内部调用接口拉取
每个进程启动1次,只会触发1次拉取操作,如果有多个实例,会触发多次,
将多个结果融合到一起。
当然,这要区分版本号。
服务-版本号-接口-方法,打到数据库里永久保存!
这样,就解决了展示API的问题。
===当然,也可以是每个实例把信息打到eureka里的meta里去,这样天生就可以拿到信息了。
注意:只是在每个实例的up状态下才需要处理这个meta里的接口信息。
相关文章推荐
- 分布式服务框架-原理与实践:15---服务降级-学习笔记
- 分布式服务框架-原理与实践:11---服务灰度发布-学习笔记
- 分布式服务框架-原理与实践:14---流量控制-学习笔记(理论篇)
- 分布式服务框架-原理与实践:9---服务注册中心-学习笔记
- 分布式服务框架-原理与实践:6---服务路由-学习笔记
- 分布式服务框架-原理与实践:14---流量控制-学习笔记(实际篇)
- 分布式服务框架-原理与实践:13---服务多版本-学习笔记
- 分布式服务框架-原理与实践:11---服务灰度发布【扩展】-蓝绿发布
- 分布式服务框架学习笔记4 服务路由
- 分布式服务框架学习笔记7 Thrift入门试用
- 《深入理解Android:Telephon原理剖析与最佳实践》学习笔记(系统框架)
- 二、分布式服务框架Zookeeper学习笔记
- 分布式服务框架学习笔记2 常用的分布式服务框架 与 通信框架选择
- 分布式服务框架学习笔记3 序列化、反序列化与协议栈
- <分布式服务框架-原理与实践-李林锋>重点词汇
- 分布式服务框架学习笔记9 ActiveMQ入门2 管理、生产者/消费者模式
- 分布式服务框架学习笔记6 Motan试用
- 阿里巴巴分布式服务框架dubbo学习笔记
- 分布式服务框架学习笔记5 消息队列
- 分布式服务框架学习笔记 01 - 软件架构发展史