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

帝国cms做门户网站wordpress 采集蜘蛛

帝国cms做门户网站,wordpress 采集蜘蛛,wordpress 拷贝页面,外贸圈的尖子生使用 Tye 辅助开发 k8s 应用竟如此简单#xff08;一#xff09;使用 Tye 辅助开发 k8s 应用竟如此简单#xff08;二#xff09;使用 Tye 辅助开发 k8s 应用竟如此简单#xff08;三#xff09;使用 Tye 辅助开发 k8s 应用竟如此简单#xff08;四#xff09;续上篇一使用 Tye 辅助开发 k8s 应用竟如此简单二使用 Tye 辅助开发 k8s 应用竟如此简单三使用 Tye 辅助开发 k8s 应用竟如此简单四续上篇这篇我们来进一步探索 Tye 更多的使用方法。本篇我们来了解一下如何在 Tye 中实现对分布式链路追踪。我是谁我在哪儿我咋了 分布式系统纷繁复杂特别以现在微服务架构的出现使得应用系统中的应用实例变得更加多变难以捉摸。那么如何在如此繁杂的系统中找到一条业务调用链的上下游关系、性能细节、业务数据等等成为了一项开发者必然要面对的挑战。使用分布式链路追踪系统无非是解决该问题的一个良好方法。目前市面上也有非常多可用的开源方案其中不乏开箱即用的优秀用例SkyWalking、Jaeger和Zipkin等等。本篇我们将探索 Tye 中已经实现扩展的 Zipkin 来演示一下分布式链路追踪的简易效果。创建测试应用 要测试分布式情况那么至少需要两个应用实例才能够体现效果。因此此处创建两个测试服务实例dotnet new sln -n TyeTestdotnet new webapi -n TyeTest dotnet add ./TyeTest/TyeTest.csproj package Microsoft.Tye.Extensions.Configuration --version 0.6.0-alpha.21070.5 dotnet sln ./TyeTest.sln add ./TyeTest/TyeTest.csprojdotnet new webapi -n TyeTest2 dotnet sln ./TyeTest.sln add ./TyeTest2/TyeTest2.csproj tye init 在 TyeTest 项目的 Startup.cs 增加对 HttpClientFactory 的注册。  public void ConfigureServices(IServiceCollection services){services.AddHttpClient();services.AddControllers();services.AddSwaggerGen(c {c.SwaggerDoc(v1, new OpenApiInfo { Title  TyeTest, Version  v1 });});} 进入 WeatherForecastController 我们使用 HttpClient 来调用下游服务并且将得到的数据返回using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text.Json; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging;namespace TyeTest.Controllers {[ApiController][Route([controller])]public class WeatherForecastController : ControllerBase{private readonly ILoggerWeatherForecastController _logger;private readonly IConfiguration _configuration;private readonly HttpClient _httpClient;public WeatherForecastController(ILoggerWeatherForecastController logger,IConfiguration configuration,HttpClient httpClient){_logger  logger;_configuration  configuration;_httpClient  httpClient;}[HttpGet]public async Taskstring Get(){var serviceUri  _configuration.GetServiceUri(tyetest2);Console.WriteLine(serviceUri);var httpResponseMessage  await _httpClient.GetAsync(${serviceUri}WeatherForecast);var json  await httpResponseMessage.Content.ReadAsStringAsync();return json;}} } 这样我们就得到了一个在服务 TyeTest 中调用 TyeTest2 的一个服务间调用的示例。这其实和 《使用 Tye 辅助开发 k8s 应用竟如此简单二》 中得到的测试用例是相同的。然后使用tye run便可以启用测试应用。开发者可以在 swagger 页面中测试具体的效果。但是其实没完。此处我们还需要修改Program.cs变更默认的Activity.DefaultIdFormat:using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging;namespace TyeTest {public class Program{public static void Main(string[] args){Activity.DefaultIdFormat  ActivityIdFormat.W3C;CreateHostBuilder(args).Build().Run();}public static IHostBuilder CreateHostBuilder(string[] args) Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder {webBuilder.UseStartupStartup();});} } 注意两个应用都需要修改。这将会在消息请求头中添加这是一种符合 W3C 标准追踪头信息。不过如果开发者是 net5 应用则不需要变更了因为这已经是默认行为。有关此内容的详细信息开发者可以参阅https://devblogs.microsoft.com/aspnet/improvements-in-net-core-3-0-for-troubleshooting-and-monitoring-distributed-apps/https://docs.microsoft.com/en-us/dotnet/core/compatibility/core-libraries/5.0/default-activityidformat-changed启用 Zipkin 接下来我们修改 tye.yml 来启用 zipkin 以监控服务间的调用name: tyetest extensions:- name: zipkin services:- name: tyetestproject: TyeTest/TyeTest.csproj- name: tyetest2project: TyeTest2/TyeTest2.csproj 没错其实只是加了extensions就完成了。使用tye run启动应用便可以在 dashboard 中查看到自动部署起来的 zipkinzipkin in dashboard打开对应链接便可以看到对应的 zipkin 查询界面zipkin search ui然后我们打开 tyetest 服务的 swagger 界面进行一次调用。然后在回来查询便可以查询到服务调用的情况zipkin results点击其中的 Show 按钮便可以查看到一次服务调用的详细过程信息one tracing这就是使用 zipkin 对 http 调用进行追踪的最简易示例。自行部署 Zipkin 和 seq 一样开发者可以使用已经部署好的 zipkin 以便重复利用避免每次都要启动浪费时间。version: 3.3services:zipkin:image: openzipkin/zipkinrestart: alwayscontainer_name: zipkinports:- 9411:9411 name: tyetest extensions:- name: zipkin services:- name: tyetestproject: TyeTest/TyeTest.csproj- name: tyetest2project: TyeTest2/TyeTest2.csproj- name: zipkinexternal: truebindings:- name: httpcontainerPort: 9411 和 seq 一样通过自行部署 zipkin 实例。然后修改 tye.yml 使得服务得以连接。预期效果与前面一节相同。但是节约了每次启动都需要启动 zipkin 实例的时间。Jaeger 也可以 实际上只要是 zipkin 协议兼容的收集端那么都可以被这种方式集成。因此我们该用 Jaeger 作为后端进行测试。version: 3.3 services:jaeger:image: jaegertracing/all-in-one:1.21restart: alwaysports:- 9411:9411- 16686:16686environment:COLLECTOR_ZIPKIN_HTTP_PORT: 9411 tye.yml和先前对比没有变化。启用并测试应用。便可以在 jaeger dashboard 得到类似的结果jaeger result当然使用与 Zipkin 兼容的 SkyWalking 也是可以的开发者可以自行尝试。更详细的追踪 如果在应用程序中需要更加细致的追踪细节那么可以使用 OpenTelemetry 相关的类库在系统中进行集成。然后通过 Tye 获取对应服务的 connectionString 便可以实现自行导出特定的活动细节。这里开发者可以参照 《使用 Tye 辅助开发 k8s 应用竟如此简单二》 中连接 mongodb 的方式进行实验。《OpenTelemetry .NET》https://github.com/open-telemetry/opentelemetry-dotnet《OpenTelemetry - 云原生下可观测性的新标准》https://blog.csdn.net/sd7o95o/article/details/112645413最后发到 K8S 里面试一下 注意和前面的 seq 一样。tye deploy 并不会自动部署对应的 zipkin 服务。因此如果要部署extensions包含 zipkin 的 tye.yml。请确保 k8s 集群中存在名称为 zipkin 的服务这样数据才会被收集。小结 本篇我们已经顺利完成了使用 Tye 中的 zipkin 扩展来实现分布式链路追踪。下一篇我们将进一步研究 Tye 如何与分布式应用程序运行时 Dapr 如何碰撞出更精彩的火花。本文作者newbe36524本文链接https://www.newbe.pro/Newbe.Claptrap/Try-Tye-5/版权声明本博客所有文章除特别声明外均采用 BY-NC-SA 许可协议。转载请注明出处
http://www.zqtcl.cn/news/453273/

相关文章:

  • 网站怎么吸引人网站优化策略分析
  • 河北建设厅网站衡水网站建设培训学校
  • 新网网站空间到期停了 咋续费网站营销推广应该怎么做
  • 网站建设和编辑实训报告安卓版网页制作软件
  • 网站模板框架站长资讯
  • 上海做网站哪家公司2022年国际国内重大新闻
  • 网站建设如何定位网站建设思路方向
  • 手机网站拦截怎么解除网站生成软件免费制作
  • 中国房地产网站茂名住房和城乡建设厅网站
  • 做网站销售工资怎么样网页设计是哪个专业
  • 吉林省住房城乡建设厅网站首页微商城模板包含哪些
  • 优秀个人网站案例wordpress 文章格式
  • 2019年做网站装修平面设计图的制作
  • 潍坊网站建设top淘宝客网站名
  • 怎么给网站做外链网上接效果图平台
  • 电影网站建设教程下载怎么经营团购网站
  • 做网站卖什么建设银信用卡网站首页
  • 大连市城乡建设档案馆网站网上竞价采购网站建设
  • 国际物流公司网站建设浏览器正能量网站免费图片
  • 河南做外贸网站的公司怎么做家庭网站
  • 知名营销类网站互联网软件开发是什么工作
  • 做网站前新闻录入网站模板
  • 网站域名做跳转要收费吗科技信息期刊
  • 登别的网站应怎么做网站推广广告词大全集
  • 漯河城乡建设管理局网站wordpress icon class
  • 买空间哪个网站好广州多少网络科技有限公司
  • 网站的网络推广方案营销型网站建设论文
  • 苏州做网站便宜的公司哪家好门店管理系统app
  • 学校多语言网站建设网络维护网站建设培训
  • Wordpress外贸网站搭建公司建站系统的应用场景