当前位置: 首页 > news >正文

网站显示系统建设中精美ppt模板下载

网站显示系统建设中,精美ppt模板下载,开发公司哪个部门工作好,大理网站开发什么是发布-订阅发布订阅是一种众所周知并被广泛使用的消息传送模式#xff0c;常用在微服务架构的服务间通信#xff0c;高并发削峰等情况。但是不同的消息中间件之间存在细微的差异#xff0c;项目使用不同的产品需要实现不同的实现类#xff0c;虽然是明智的决策#x… 什么是发布-订阅发布订阅是一种众所周知并被广泛使用的消息传送模式常用在微服务架构的服务间通信高并发削峰等情况。但是不同的消息中间件之间存在细微的差异项目使用不同的产品需要实现不同的实现类虽然是明智的决策但必须编写和维护抽象及其基础实现。此方法需要复杂、重复且容易出错的自定义代码。Dapr为了解决这种问题提供开箱即用的消息传送抽象和实现封装在 Dapr 构建基块中。业务系统只需调用跟据Dapr的要求实现订阅发布即可。工作原理Dapr 发布订阅构建基块提供了一个与平台无关的 API 框架来发送和接收消息。服务将消息发布到指定主题 业务服务订阅主题以使用消息。服务在 Dapr sidecar 上调用 pub/sub API。然后sidecar 调用预定义 Dapr pub/sub 组件。任何编程平台都可以使用 Dapr 本机 API 通过 HTTP 或 gRPC 调用构建基块。若要发布消息请进行以下 API 调用http://localhost:dapr-port/v1.0/publish/pub-sub-name/topic上述调用中有几个特定于 Dapr 的 URL 段dapr-port 提供 Dapr sidecar 侦听的端口号。pub-sub-name 提供所选 Dapr pub/sub 组件的名称。topic 提供消息发布到的主题的名称。设置发布订阅组件Dapr 为 Pub/Sub 提供很多支持的组件例如 Redis 和 Kafka 等。支持组件详见 链接在win10上的自承载的Dapr中默认在 %UserProfile%\.dapr\components\pubsub.yaml 中使用redis作为了pub/sub组件dapr run一个app时使用默认组件作为pub/sub组件apiVersion: dapr.io/v1alpha1 kind: Component metadata:name: pubsub spec:type: pubsub.redisversion: v1metadata:- name: redisHostvalue: localhost:6379- name: redisPasswordvalue: 订阅主题Dapr 允许两种方法订阅主题声明式其中定义在外部文件中。编程方式订阅在用户代码中定义1.声明式订阅在默认组件目录 %UserProfile%\.dapr\components\pubsub.yaml 中新建subscription.yaml文件并写入以下内容apiVersion: dapr.io/v1alpha1 kind: Subscription metadata:name: myevent-subscription spec:topic: test_topicroute: /TestPubSubpubsubname: pubsub scopes: - frontend上面的示例显示了 test_topic主题的事件订阅使用组件 pubsub。route 告诉 Dapr 将所有主题消息发送到应用程序中的 /TestPubSub 端点。scopes 为 FrontEnd启用订阅现在需要在FrontEnd项目中定义接口TestSub在FrontEnd中新建TestPubSubControllerusing Dapr.Client;using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging;using System.IO; using System.Text; using System.Threading.Tasks;namespace FrontEnd.Controllers {[Route([controller])][ApiController]public class TestPubSubController : ControllerBase{private readonly ILoggerTestPubSubController _logger;private readonly DaprClient _daprClient;public TestPubSubController(ILoggerTestPubSubController logger, DaprClient daprClient){_logger logger;_daprClient daprClient;}[HttpPost]public ActionResult Post(){Stream stream Request.Body;byte[] buffer new byte[Request.ContentLength.Value];stream.Position 0L;stream.ReadAsync(buffer, 0, buffer.Length);string content Encoding.UTF8.GetString(buffer);return Ok(content);}[HttpGet(pub)]public async TaskActionResult PubAsync(){var data new WeatherForecast();await _daprClient.PublishEventAsyncWeatherForecast(pubsub, test_topic, data);return Ok();}} }需要在Startup的Configure中开启重复读取Body才能读取到数据app.Use((context, next) {context.Request.EnableBuffering();return next();});启动FrontEnddapr run --dapr-http-port 3501 --app-port 5001 --app-id frontend dotnet .\FrontEnd\bin\Debug\net5.0\FrontEnd.dll调用 pub API发布消息查看订阅情况订阅消息消费成功 2.编程式订阅为了防止声明式订阅的影响需要先把目录%UserProfile%\.dapr\components\pubsub.yaml中subscription.yaml文件删除TestPubSubController新增Api Sub[Topic(pubsub, test_topic)][HttpPost(sub)]public async TaskActionResult Sub(){Stream stream Request.Body;byte[] buffer new byte[Request.ContentLength.Value];stream.Position 0L;stream.ReadAsync(buffer, 0, buffer.Length);string content Encoding.UTF8.GetString(buffer);_logger.LogInformation(testsub content);return Ok(content);}在Startup的Configure方法中新增中间件public void Configure(IApplicationBuilder app, IWebHostEnvironment env) {// ...app.UseCloudEvents();app.UseEndpoints(endpoints {endpoints.MapSubscribeHandler();// ...}); }启动FrontEnddapr run --dapr-http-port 3501 --app-port 5001 --app-id frontend dotnet .\FrontEnd\bin\Debug\net5.0\FrontEnd.dll调用API发布消息 查看订阅情况订阅消息消费成功 通过DapreCLI同样可以发布消息dapr publish --publish-app-id frontend --pubsub pubsub --topic test_topic --data {date:0001-01-01T00:00:00,temperatureC:0,temperatureF:32,summary:null}查看订阅情况订阅消息消费成功相关文章Dapr实战一 基础概念与环境搭建Dapr .NET Core实战二 服务调用Dapr .NET Core实战三状态管理
http://www.pierceye.com/news/34798/

相关文章:

  • 江西房地产网站建设深圳建设工程交易信息网
  • cpa广告网站怎么做重庆玖玺国际做网站
  • 网站建设域名注册门户网站是指提供什么的网站
  • 公司网站开发需求文档地推拉新app推广平台
  • 集团网站品牌建设特点官方网站建设公
  • 如何优化网站重庆网站建设aiyom
  • p2p网站做牛辽宁平台网站建设公司
  • 备案期间关闭网站法律服务网站建设
  • html做音乐网站模板易语言做网站登陆
  • 中国传统文化网页设计sem跟seo的区别
  • 企业网站代维护wordpress id清空
  • 网站分栏目怎么做抖音小程序在哪里
  • 包头网站建设多少钱营销型网站及原因有哪些方面
  • 北京网站优化公司 卓立海创电商网站开发视频
  • 庆云网站seo东莞市网络营销广告公司
  • 怎么让网站无法自适应广告公司怎么样
  • 济南网站建设费用百度网站如何优化排名
  • 如果自己做网站免费咨询保险
  • 碧江网站建设怎么在百度上制作自己的网站
  • 南宁网站建设哪个好wordpress首页固定页面
  • 中山做网站的公司介绍移动互联网的网站有哪些
  • jsp小型网站开发深圳公司网站开发
  • 江西省建设厅业绩网站网站降权不更新文章可以吗
  • jsp网站开发公司建设网站工作室
  • 广州网站优化软件六盘水网络推广
  • 网站的控制面板有哪些网站可以免费发布广告
  • 渭南建设工程信息网网站seo分析工具
  • 教学网站的设计如何开网站卖东西
  • 茶网站开发的意义目的天津网站排名提升
  • 如何修改网站后台的用户名和密码成都网站建设app开发