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

劲松网站建设公司wordpress 消息队列

劲松网站建设公司,wordpress 消息队列,网站怎样做公众号,深圳cms建站模板服务调用是什么在分布式应用程序中的服务之间进行调用会涉及到许多挑战。例如#xff1a;维护其他服务的地址。如何安全地调用服务。在发生短暂的 暂时性错误 时如何处理重试。分布式应用程序调用链路追踪。服务调用构建块通过使用 Dapr 挎斗作为服务的 反向代理 来解决这些难… 服务调用是什么在分布式应用程序中的服务之间进行调用会涉及到许多挑战。例如维护其他服务的地址。如何安全地调用服务。在发生短暂的 暂时性错误 时如何处理重试。分布式应用程序调用链路追踪。服务调用构建块通过使用 Dapr 挎斗作为服务的 反向代理 来解决这些难题。工作原理由于调用经过SidecarDapr 可以注入一些有其他行为失败时自动重试调用。通过相互 (mTLS) 身份验证包括自动证书滚动更新在服务之间进行调用。使用访问控制策略控制客户端可以执行的操作。捕获服务间所有调用的跟踪和指标以提供分布式调用链路追踪与诊断。任何应用程序都可以通过使用 Dapr 中内置的本机 Invoke API 来调用 Dapr Sidecar。可以通过 HTTP 或 gRPC 调用 API。使用以下 URL 调用 HTTP APIhttp://localhost:dapr-port/v1.0/invoke/application-id/method/method-namedapr-port Dapr 正在侦听的 HTTP 端口。application-id 要调用的服务的应用程序 ID。method-name 要在远程服务上调用的方法的名称。项目演示我们使用.NET5创建两个WebAPI项目BackEnd和FrontEnd通过FrontEnd调用BackEnd指定BackEnd默认启动端口5000public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup().UseUrls(http://*:5000);});通过Dapr CLI启动BackEnd指定sidecar端口为3511默认为3500指定app-port是5000与BackEnd默认端口保持一致dapr run --dapr-http-port 3511 --app-port 5000 --app-id backend dotnet .\BackEnd\bin\Debug\net5.0\BackEnd.dllC:\demo\test\DaprBackEnddapr run --dapr-http-port 3511 --app-port 5000 --app-id backend dotnet .\BackEnd\bin\Debug\net5.0\BackEnd.dll Starting Dapr with id backend. HTTP Port: 3511. gRPC Port: 30204 time2021-09-23T14:14:08.378542908:00 levelinfo msgstarting Dapr Runtime -- version 1.4.0 -- commit ed969edc72b3934fffb481f079b736f3588e373a app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.383108908:00 levelinfo msglog level set to: info app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.383108908:00 levelinfo msgmetrics server started on :30205/ app_idbackend instancechesterchen-lap scopedapr.metrics typelog ver1.4.0 time2021-09-23T14:14:08.386120308:00 levelinfo msgstandalone mode configured app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.386120308:00 levelinfo msgapp id: backend app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.387110708:00 levelinfo msgmTLS is disabled. Skipping certificate request and tls validation app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.411568108:00 levelinfo msglocal service entry announced: backend - 10.32.193.9:30209 app_idbackend instancechesterchen-lap scopedapr.contrib typelog ver1.4.0 time2021-09-23T14:14:08.411568108:00 levelinfo msgInitialized name resolution to mdns app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.412702408:00 levelinfo msgloading components app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.416022408:00 levelinfo msgcomponent loaded. name: pubsub, type: pubsub.redis/v1 app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.416022408:00 levelinfo msgwaiting for all outstanding components to be processed app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.418704208:00 levelinfo msgcomponent loaded. name: statestore, type: state.redis/v1 app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.418704208:00 levelinfo msgall outstanding components processed app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.419248608:00 levelinfo msgenabled gRPC tracing middleware app_idbackend instancechesterchen-lap scopedapr.runtime.grpc.api typelog ver1.4.0 time2021-09-23T14:14:08.419248608:00 levelinfo msgenabled gRPC metrics middleware app_idbackend instancechesterchen-lap scopedapr.runtime.grpc.api typelog ver1.4.0 time2021-09-23T14:14:08.419248608:00 levelinfo msgAPI gRPC server is running on port 30204 app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.419788808:00 levelinfo msgenabled metrics http middleware app_idbackend instancechesterchen-lap scopedapr.runtime.http typelog ver1.4.0 time2021-09-23T14:14:08.419788808:00 levelinfo msgenabled tracing http middleware app_idbackend instancechesterchen-lap scopedapr.runtime.http typelog ver1.4.0 time2021-09-23T14:14:08.420295408:00 levelinfo msghttp server is running on port 3511 app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.42033508:00 levelinfo msgThe request body size parameter is: 4 app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.42033508:00 levelinfo msgenabled gRPC tracing middleware app_idbackend instancechesterchen-lap scopedapr.runtime.grpc.internal typelog ver1.4.0 time2021-09-23T14:14:08.422540308:00 levelinfo msgenabled gRPC metrics middleware app_idbackend instancechesterchen-lap scopedapr.runtime.grpc.internal typelog ver1.4.0 time2021-09-23T14:14:08.423086808:00 levelinfo msginternal gRPC server is running on port 30209 app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.423086808:00 levelinfo msgapplication protocol: http. waiting on port 5000. This will block until the app is listening on that port. app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0APP info: Microsoft.Hosting.Lifetime[0]APP Now listening on: http://[::]:5000APP info: Microsoft.Hosting.Lifetime[0]APP Application started. Press CtrlC to shut down.APP info: Microsoft.Hosting.Lifetime[0]APP Hosting environment: ProductionAPP info: Microsoft.Hosting.Lifetime[0]APP Content root path: C:\demo\test\DaprBackEnd time2021-09-23T14:14:08.725268108:00 levelinfo msgapplication discovered on port 5000 app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0APP info: Microsoft.AspNetCore.Hosting.Diagnostics[1]APP Request starting HTTP/1.1 GET http://127.0.0.1:5000/dapr/config application/json -APP info: Microsoft.AspNetCore.Hosting.Diagnostics[2]APP Request finished HTTP/1.1 GET http://127.0.0.1:5000/dapr/config application/json - - 404 0 - 17.3850ms time2021-09-23T14:14:08.769364908:00 levelinfo msgapplication configuration loaded app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:14:08.769900308:00 levelinfo msgactor runtime started. actor idle timeout: 1h0m0s. actor scan interval: 30s app_idbackend instancechesterchen-lap scopedapr.runtime.actor typelog ver1.4.0APP info: Microsoft.AspNetCore.Hosting.Diagnostics[1]APP Request starting HTTP/1.1 GET http://127.0.0.1:5000/dapr/subscribe application/json -APP info: Microsoft.AspNetCore.Hosting.Diagnostics[2] time2021-09-23T14:14:08.773638308:00 levelinfo msgdapr initialized. Status: Running. Init Elapsed 387.518ms app_idbackend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0APP Request finished HTTP/1.1 GET http://127.0.0.1:5000/dapr/subscribe application/json - - 404 0 - 0.1789ms time2021-09-23T14:14:08.788844408:00 levelinfo msgplacement tables updated, version: 0 app_idbackend instancechesterchen-lap scopedapr.runtime.actor.internal.placement typelog ver1.4.0 Updating metadata for app command: dotnet .\BackEnd\bin\Debug\net5.0\BackEnd.dll Youre up and running! Both Dapr and your app logs will appear here.现在修改FrontEnd里Demo指定启动端口5001public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup().UseUrls(http://*:5001);});引入Nuget包 Dapr.Client新建DaprController1.使用 HttpClient调用HTTP服务using Dapr.Client;using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging;using System.Collections.Generic; using System.Net.Http; using System.Threading.Tasks;namespace FrontEnd.Controllers {[ApiController][Route([controller])]public class DaprController : ControllerBase{private readonly ILoggerDaprController _logger;public DaprController(ILoggerDaprController logger){_logger logger;}// 通过HttpClient调用BackEnd[HttpGet]public async TaskActionResult GetAsync(){using var httpClient DaprClient.CreateInvokeHttpClient();var result await httpClient.GetAsync(http://backend/WeatherForecast);var resultContent string.Format(result is {0} {1}, result.StatusCode, await result.Content.ReadAsStringAsync());return Ok(resultContent);}} }GetAsync API中通过DaprClient.CreateInvokeHttpClient()新建了HttpClient,通过GetAsync方法调用了backend服务中的WeatherForecastAPI。Sidecar使用可插接式名称解析组件来解析服务BackEnd的地址。在自承载模式下Dapr 使用 mdn 来查找它。在 Kubernetes 模式下运行时Kubernetes DNS 服务将确定地址。2.使用 DaprClient调用HTTP服务// 通过DaprClient调用BackEnd[HttpGet(get2)]public async TaskActionResult Get2Async(){using var daprClient new DaprClientBuilder().Build();var result await daprClient.InvokeMethodAsyncIEnumerableWeatherForecast(HttpMethod.Get, backend, WeatherForecast);return Ok(result);}DaprController中新增API Get2Async 3.使用注入方式调用 DaprClient首先引入Nuget包Dapr.AspNetCore然后在Startup.cs注入Daprpublic void ConfigureServices(IServiceCollection services){services.AddControllers().AddDapr();}新建DaprDIControllerusing Dapr.Client;using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging;using System.Collections.Generic; using System.Net.Http; using System.Threading.Tasks;namespace FrontEnd.Controllers {[Route([controller])][ApiController]public class DaprDIController : ControllerBase{private readonly ILoggerDaprDIController _logger;private readonly DaprClient _daprClient;public DaprDIController(ILoggerDaprDIController logger, DaprClient daprClient){_logger logger;_daprClient daprClient;}[HttpGet()]public async TaskActionResult GetAsync(){var result await _daprClient.InvokeMethodAsyncIEnumerableWeatherForecast(HttpMethod.Get, backend, WeatherForecast);return Ok(result);}} }以上代码通过注入方式注入DaprClient4.使用DaprClient同样可以调用GRPCawait daprClient.InvokeMethodGrpcAsyncOrder, OrderConfirmation(orderservice, submitOrder, order);与HTTP调用方式一致不再为GRPC新建server通过Dapr CLI启动FrontEnd指定sidecar端口为3501默认为3500指定app-port是5001与FrontEnd默认端口保持一致dapr run --dapr-http-port 3501 --app-port 5001 --app-id frontend dotnet .\FrontEnd\bin\Debug\net5.0\FrontEnd.dllC:\demo\test\DaprBackEnddapr run --dapr-http-port 3501 --app-port 5001 --app-id frontend dotnet .\FrontEnd\bin\Debug\net5.0\FrontEnd.dll Starting Dapr with id frontend. HTTP Port: 3501. gRPC Port: 1045 time2021-09-23T14:15:24.522223608:00 levelinfo msgstarting Dapr Runtime -- version 1.4.0 -- commit ed969edc72b3934fffb481f079b736f3588e373a app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.526965908:00 levelinfo msglog level set to: info app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.526965908:00 levelinfo msgmetrics server started on :1046/ app_idfrontend instancechesterchen-lap scopedapr.metrics typelog ver1.4.0 time2021-09-23T14:15:24.530260308:00 levelinfo msgstandalone mode configured app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.530290408:00 levelinfo msgapp id: frontend app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.530290408:00 levelinfo msgmTLS is disabled. Skipping certificate request and tls validation app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.55912808:00 levelinfo msglocal service entry announced: frontend - 10.32.193.9:1051 app_idfrontend instancechesterchen-lap scopedapr.contrib typelog ver1.4.0 time2021-09-23T14:15:24.55912808:00 levelinfo msgInitialized name resolution to mdns app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.56010808:00 levelinfo msgloading components app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.564108908:00 levelinfo msgcomponent loaded. name: pubsub, type: pubsub.redis/v1 app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.564108908:00 levelinfo msgwaiting for all outstanding components to be processed app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.567108208:00 levelinfo msgcomponent loaded. name: statestore, type: state.redis/v1 app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.567108208:00 levelinfo msgall outstanding components processed app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.567108208:00 levelinfo msgenabled gRPC tracing middleware app_idfrontend instancechesterchen-lap scopedapr.runtime.grpc.api typelog ver1.4.0 time2021-09-23T14:15:24.567108208:00 levelinfo msgenabled gRPC metrics middleware app_idfrontend instancechesterchen-lap scopedapr.runtime.grpc.api typelog ver1.4.0 time2021-09-23T14:15:24.567108208:00 levelinfo msgAPI gRPC server is running on port 1045 app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.568403908:00 levelinfo msgenabled metrics http middleware app_idfrontend instancechesterchen-lap scopedapr.runtime.http typelog ver1.4.0 time2021-09-23T14:15:24.570049108:00 levelinfo msgenabled tracing http middleware app_idfrontend instancechesterchen-lap scopedapr.runtime.http typelog ver1.4.0 time2021-09-23T14:15:24.570049108:00 levelinfo msghttp server is running on port 3501 app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.570593108:00 levelinfo msgThe request body size parameter is: 4 app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.570593108:00 levelinfo msgenabled gRPC tracing middleware app_idfrontend instancechesterchen-lap scopedapr.runtime.grpc.internal typelog ver1.4.0 time2021-09-23T14:15:24.570593108:00 levelinfo msgenabled gRPC metrics middleware app_idfrontend instancechesterchen-lap scopedapr.runtime.grpc.internal typelog ver1.4.0 time2021-09-23T14:15:24.571129408:00 levelinfo msginternal gRPC server is running on port 1051 app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.571129408:00 levelinfo msgapplication protocol: http. waiting on port 5001. This will block until the app is listening on that port. app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0APP info: Microsoft.Hosting.Lifetime[0]APP Now listening on: http://[::]:5001APP info: Microsoft.Hosting.Lifetime[0]APP Application started. Press CtrlC to shut down.APP info: Microsoft.Hosting.Lifetime[0]APP Hosting environment: ProductionAPP info: Microsoft.Hosting.Lifetime[0]APP Content root path: C:\demo\test\DaprBackEnd time2021-09-23T14:15:24.872914308:00 levelinfo msgapplication discovered on port 5001 app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0APP info: Microsoft.AspNetCore.Hosting.Diagnostics[1]APP Request starting HTTP/1.1 GET http://127.0.0.1:5001/dapr/config application/json -APP info: Microsoft.AspNetCore.Hosting.Diagnostics[2]APP Request finished HTTP/1.1 GET http://127.0.0.1:5001/dapr/config application/json - - 404 0 - 19.0408ms time2021-09-23T14:15:24.918835408:00 levelinfo msgapplication configuration loaded app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.919369208:00 levelinfo msgactor runtime started. actor idle timeout: 1h0m0s. actor scan interval: 30s app_idfrontend instancechesterchen-lap scopedapr.runtime.actor typelog ver1.4.0APP info: Microsoft.AspNetCore.Hosting.Diagnostics[1]APP Request starting HTTP/1.1 GET http://127.0.0.1:5001/dapr/subscribe application/json -APP info: Microsoft.AspNetCore.Hosting.Diagnostics[2]APP Request finished HTTP/1.1 GET http://127.0.0.1:5001/dapr/subscribe application/json - - 404 0 - 0.2000ms time2021-09-23T14:15:24.923609308:00 levelinfo msgdapr initialized. Status: Running. Init Elapsed 393.349ms app_idfrontend instancechesterchen-lap scopedapr.runtime typelog ver1.4.0 time2021-09-23T14:15:24.939394808:00 levelinfo msgplacement tables updated, version: 0 app_idfrontend instancechesterchen-lap scopedapr.runtime.actor.internal.placement typelog ver1.4.0 Updating metadata for app command: dotnet .\FrontEnd\bin\Debug\net5.0\FrontEnd.dll Youre up and running! Both Dapr and your app logs will appear here.  Dapr CLI查看运行中的appdapr listAPP ID HTTP PORT GRPC PORT APP PORT COMMAND AGE CREATED PIDbackend 3511 1033 5000 dotnet .\BackEnd\... 9s 2021-09-24 09:25.17 860frontend 3501 1056 5001 dotnet .\FrontEnd... 7s 2021-09-24 09:25.19 5236测试调用1.浏览器地址栏输入http://localhost:3501/v1.0/invoke/frontend/method/daprhttp://localhost:3501/v1.0/invoke/frontend/method/dapr/get2http://localhost:3501/v1.0/invoke/frontend/method/DaprDI可以看到正常响应 2.DaprCLI测试调用打开cmd输入dapr invoke --app-id frontend --verb GET --method dapr也可以看到调用成功C:\Users\chesterychendapr invoke --app-id frontend --verb GET --method dapr result is OK [{date:2021-09-24T14:20:51.238668108:00,temperatureC:47,temperatureF:116,summary:Mild},{date:2021-09-25T14:20:51.238670508:00,temperatureC:50,temperatureF:121,summary:Mild},{date:2021-09-26T14:20:51.238670708:00,temperatureC:34,temperatureF:93,summary:Hot},{date:2021-09-27T14:20:51.238670808:00,temperatureC:42,temperatureF:107,summary:Bracing},{date:2021-09-28T14:20:51.238670908:00,temperatureC:-19,temperatureF:-2,summary:Warm}] App invoked successfullyPS:单机运行的情况下每个服务的sidecar是一个进程名为daprd下图两个分别是backend和frontend连个服务的 链路追踪自承载的方式下Dapr默认启动了zipkin容器可以通过以下链接查看http://localhost:9411/zipkin/
http://www.zqtcl.cn/news/539785/

相关文章:

  • 西安专业承接网站搭建模板网站聚合页
  • 便宜网站建设加盟推广公司
  • 手机移动端网站怎么做三维建设项目管理网站
  • 如何把网站设为正确建设中广东学校网站建设公司
  • 企业型网站建设怎样收费dw制作网站模板
  • 自适应网站欣赏医联体网站建设
  • 南安市住房和城乡建设部网站微商城网站建设行情
  • 网站开发的前景wordpress倒闭
  • 合肥网站建设网页设计免费推广渠道有哪些方式
  • 广州电力建设有限公司网站按月网站建设
  • 做网站客户会问什么问题手机如何制作网页链接
  • 做足球直播网站wordpress筛选框
  • 做网站需求文档深圳站建在边境
  • 网站建设法规浙江建设信息港证书查询
  • 影视作品网站开发与设计网站建设教程简笔画
  • 自己可以给公司做网站吗网站建设 用ftp上传文件
  • 电子商务网站开发与管理网站建设的设备
  • 网站建设项目公司沈阳网站关键字优化
  • 可以做淘宝联盟的免费网站优质国外网站
  • 石家庄营销型网站建设公司服装公司网站源码
  • 网站开发的软硬件需求做网站盘锦
  • 创意网站建设排行榜python和php哪个做网站
  • 开锁做网站怎么样榆林网站开发公司
  • 松原市建设局网站苏州网站建设-中国互联
  • 标书制作教程视频网站福田祥菱v1单排
  • 点网站出图片怎么做能看人与动物做的网站
  • 免费开源建站系统源码wordpress公共函数在哪里
  • 西昌市建设工程管理局网站模块化网站开发
  • 无限看片的视频大全免费下载上海网络优化方法
  • 物流公司做网站注重什么问题中国建设银行征信中心网站