在使用微服务的过程中经常会遇到这样的情况,就目前我遇到的问题做下分析
情况一:
这里服务对于前后端分离情况来说,多使用查询服务,前端直接获取不同服务的数据展示,如果出现其中的服务失败,对业务数据无影响,只对前端数据展示出现影响
情况二
这列聚合服务主要出现在操作上,各个服务存在相互调用,相互协作完成某一项操作的情况
接下来我在API中添加了聚合服务模块,利用 IHttpClientFactory处理了情况的服务根目录及授权问题
这里可以动态配置管理你的一些注册服务
在聚合服务中我们根据我们自己业务情况 可以采用 Polly+ 消息队列处理
对于除程序代码外的外部原因造成的异常情况,可以使用Polly 来处理,比如:网络情况 等原因 可以发起重试 服务内部使用消息队列保持操作最终一致
var client= httpClientFactory.CreateClient("userservicesapi");
根据配置的名称创建相关的请求,这里涉及到在ServiceA中调用ServiceB的时候,ServiceB需要Accesstoken
这里需要获取下AccessToken来处理
这就OK了,在结合Polly之前封装的处理下,这里接受下返回值
原文地址:https://www.cnblogs.com/liyouming/p/9870839.html
.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com