api-web:这个是根据业务实际情况来做的, 一个目的是参数校验, 各种控制统一在这里, 另一个就是数据聚合, 有些接口部分数据从A来 部分数据从B来, 总得有地方给组合一下, 让A搞或者让B搞都容易扯皮, 索性就让C来搞; 是后端提供的所有的前端的接口 如果前端没控制好 会在这一层再控制一次 前端通过api-web的路径调我们后端 前端:真正的前端页面
Remote client是服务之间的桥梁 然后foreign是通道,它实现了代码的本地化,可以不用foerign 但是代码写起来会比较麻烦, http client.post('/api/web/vi') 比较晦涩 api-web接口和uaa接口是对外暴露的接口,remote-client是基础包,还有其他基础包,例如comm :时间格式统一等
remoteclient模拟的是http请求 其中
产生原因:get接口传参 url超长
修改方法:get接口修改为post接口
前端请求过来后 先去api-web api-web会调用remote-client remote-client通过foreign连接ci服务
api-web定义接口的路径和参数示例:
Eureka注册机制: 当一个微服务发现它依赖的资源不可用时,会自动向eureka发送消息,下线这个微服务。微服务依赖的所有基础服务如rabiitmq, mongo等都要高可用才能保证微服务的稳定