当前位置: 首页 > 知识库问答 >
问题:

通过消息传递系统的请求-响应策略(kafka/.NET)

裴凯定
2023-03-14

我正在将分布式架构从Python移动到。网络核心。此体系结构具有将请求推送到服务总线(KAFKA)的网关API。请求由微服务处理。这些微服务在请求对象中设置的主题上响应网关(然后响应客户端)。主题名称是基于python Application(Flask/uwsgi)的process_id构建的。

但是用。NetCore Webapi应用程序,我无法找到从其过程中获取主题的方法(我开始在.NetCore)。使用Async方法在等待微服务回答时释放切入点,最好是根据程序集ID的类型生成主题名称。但是每个Asyc方法调用都会产生不同的主题,对吗?这将导致大量的话题...有点奇怪...

你认为还有别的办法吗?

我正在考虑使用MemoryCache来包装来自微服务和网关进程的答案之间的通信。(请求将包含一个Guid,用作内存缓存访问的密钥)。你觉得怎么样?

共有1个答案

周兴朝
2023-03-14

此代码输出相同的数字,因此任务确实继承了主进程的进程id。线程id可能不同。

您还可以考虑使用GUID,而不是process_id。只是一个想法。

using System;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    class s
    {
        public s() { }
        static void Main(string[] args)
        {
        Console.WriteLine(System.Diagnostics.Process.GetCurrentProcess().Id);
        Task.Run(async () => { bool x = await Go(); }).GetAwaiter().GetResult(); ;
        }  

        private static Task<bool> Go()
        {
        Console.WriteLine(System.Diagnostics.Process.GetCurrentProcess().Id);
        return Task.FromResult<bool>(false);
        }
   }
}
 类似资料:
  • 我正在调查Kafka9作为一个爱好项目,完成了几个“你好世界”类型的例子。 我不得不考虑基于请求响应消息传递的真实世界的Kafka应用程序,更具体地说,是如何将Kafka请求消息链接到它的响应消息。 我的思路是使用生成的UUID作为请求消息键,并使用这个请求UUID作为关联的响应消息键。与WebSphere MQ具有消息关联ID的机制几乎相同。 我的end 2 end进程将是。 1)。Kafka客

  • 我正在读一本书中关于C#中的响应-消息模式的章节,当我最近遇到一个使用web API的项目时,我注意到了一些相似之处,并想要一些明确的东西。 在书中,作者的代码将请求(在本例中是CustomerRequestService)包装在一个名为CustomerRequestService的类中,该类的工作是处理这些请求(请求只不过是具有与查找客户的服务相关的搜索词或属性的类,而不执行其他非常稀薄/贫乏的

  • 在 Service Worker 环境下,可以通过 Fetch API 发送网络请求获取资源,也可以通过 Cache API、IndexedDB 等本地缓存中获取缓存资源,甚至可以在 Service Worker 直接生成一个 Response 对象,以上这些都属于资源响应的来源。资源请求响应策略的作用,就是用来解决响应的资源从哪里来的问题。 接下来将介绍一些常用的策略及其简易实现,这些给出的策略

  • 响应事件 function onResponse(Request $request,Response $response); 在任何的控制器响应结束后,均会执行该事件,该事件预留于做分析记录。例如结合onRequest事件做慢日志记录。 function onRequest(Request $request, Response $response) { // TODO: Implement

  • 我已经创建了一个应用程序,使用角和springboot进行Spring安全的基本身份验证,但我得到401错误...我是springboot新手 “从源'http://localhost:4200'访问'http://localhost:8080/hello-world/path-variable/MSD'的XMLHttpRequest已被CORS策略阻止:对预检请求的响应未通过访问控制检查:它没有

  • 问题内容: 如何通过python模块Requests传递csrftoken?这就是我所拥有的,但是它不起作用,并且我不确定将其传递给哪个参数(数据,标头,身份验证…) 每次都有相同的错误消息。 问题答案: 如果要设置引荐来源标头,则对于该特定站点,您需要将引引来源设置为与登录页面相同的URL: 当使用不安全时,标头通常会被过滤掉,否则无论如何很容易被欺骗,因此大多数站点不再需要设置标头。但是,在使