morec

netcore6项目,微服务框架选orleans ,国内似乎没什么项目在用,坑多无资料。
orleans文档可以解决几乎,只能看官方资料。

Introduction | Microsoft Orleans 中文文档

服务异常客户端怎么接收,链接释放,内存泄露等各种问题都迎刃而解。
早先弄了几个服务测试,发现同一个请求或者同几个请求,都只集中在一个服务上,而且不管服务多耗时间,都是无限等待一个请求完再下一个,除非一个挂了,下一个就顶上。这显然不是想要的效果
(这里的服务是cpoy改文件就行)。这就是遇到无法负载均衡的问题
,网上翻遍资料,源码test过了一遍,除了Azure提到了无关紧要的负载,已无办法可寻。
晚上打王者突然有了灵感,既然外面获取不到,不如自己创造条件。
很早想过用consul,但是它不是http请求那么简单,所以以自己的能力行不通。那想做负载,为什么不弄几个一样的服务呢,在客户端随机或者循环请求几个服务,而服务的接口应该是一模一样的,只是看起来像不同的服务而已。
结果比想的还要简单,只需要做配置端口,后面请求不需要自己手动去轮询或者随机。
这,也是最终的办法了,虽然会多出来几个服务。(这里是实实在在的新建服务,代码一样,服务名空间名不一样。)

demo代码如下:

项目中各种配置比这复杂的多,就不多赘述

exercise/Orleans/Orleans.MultiClient-Test at master · liuzhixin405/exercise (github.com)

这是我提的issue:

how can orleans server response load balancing · Issue #7497 · dotnet/orleans (github.com)

分类:

技术点:

相关文章: