Разговор о помпаже микро-службе отслеживания двигателя 2.0 и других новых функций

I. Введение

помпаж на основе службы двигателя .NET CORE. Первоначальная версия родилась в июне 2017 года, после двух лет инкубационного НККА сообщества, версия 2.0 будет выпущена 28 августа 2019 года, два года опыта разработки, все были заняты движениями , включая архитектуру стеки технологии микро-услуги, охватывающее регистрация от службы, обнаружения службы, промежуточного хоста протокола , а затем связать отслеживание, а также разработать набор правил микро услуг, формирование единого набора спецификаций. Следующие услуги помпаж схема архитектуры двигателя

 

 

 

 

Фигура Diagnostic позволяет различные типы информации, чтобы собрать всю ссылку службы.

Такие, как исходный адрес, удаленный адрес, с учетом времени выполнения, вызывает ссылку, весь тип протокола и параметры, собранные после завершения приобретения, чтобы Skywaking проталкивается КПГРЫ Skywaking Middleware промежуточного программного обеспечения, а затем отобразить с помощью Skywaking WebUI.

Соглашение рассчитано на передний конец для мобильных устройств, Интернета и Интернета вещей конечных решений.

Вслед за двигателем сервис обеспечивает.

Во-вторых, обслуживание вызовов ссылка слежения

 Linktrace интегрированного Skywalking, справочник SkyAPM-Dotnet и расширенные компоненты Surging.Apm.Skywalking двигателя, но только 2.0 версия орудия и отдых RPC ссылка трассировки вызовов, конкретная конфигурация выглядит следующим образом

 1. Во-первых, создайте файл skyapm.json, расположенный в корневом каталоге или двигателя указан rootpathg корневой каталог, код конфигурации выглядит следующим образом

{ 
  "SkyWalking": { 
    "Имя_службы": "Surging.Services.Server", 
    "пространство имен": "", 
    "HeaderVersions": [ 
      "SW6" 
    ], 
    "Отбор проб": { 
      "SamplePer3Secs": -1, 
      "Процент" : -1,0 
    }, 
    "Logging": { 
      "Уровень": "информация", 
      "FilePath": "журналы / skyapm- {Дата} .log" 
    }, 
    "Транспорт": { 
      "Интервал": 3000, 
      "ProtocolVersion": "v6", 
      "Queuesize": 30000, 
      "BATCHSIZE":3000, 
      "КПГР": { 
        "Серверы": "локальный: 11800", 
        "Тайм - аут": 100000, 
        "ConnectTimeout": 100000,
        "ReportTimeout": 600000 
      } 
    } 
  } 
}

2. Затем добавить ссылку или ссылку Surging.Apm.Skywalking узла сканирования будет иметь возможность представить собранные данные Skywalking

3. Сбор данных или может быть отключена при помощи DisableDiagnostic конфигурации, сконфигурирован следующим образом

  { 
"Surging": { 
    "DisableDiagnostic": правда, 
} 
}

 Затем GET называют http://127.0.0.1:281/api/user/getusername/222?serviceKey=User этапа компонент адреса, вы можете увидеть следующий интерфейс по Skywalking WebUI

 

 Три, этап установка белой поддержки черного списка, HTTPMethod правила

 1. Белого RoutePath черный список можно указать, не определяя глобальную конфигурацию конфигурации RoutePath белого списка выше конфигурации Blacklist, есть перекрытие IP есть, белый список будет покрыт, код конфигурации выглядит следующим образом

  "Stage": {
    
    "AccessSetting": [
      {
        "BlackList": "${blacklist}|127.0.0.1",
        "Enable": false
      },
      {
        "WhiteList": "${whitelist}|192.168.10.50,192.168.43.0/24,127.0.0.1",
        "BlackList": "${blacklist}|192.168.2.50,192.168.1.0/16",
        "RoutePath": "api/user/exists",
        "Enable": true
      }
    ]
  }

2.  通过配置HttpPost ,HttpPut , HttpDelete 和 HttpGet就能配置rest的请求方式,如果不配置,所有请求都支持。而 设置isRegisterMetadata为True,就会把httpmethod注册为服务元数据。如果是微服务可以设置为true ,如果是中转服务或者聚合服务可以设置为false

    [ServiceBundle("api/{Service}/{Method}")]
    //[ServiceBundle("api/{Service}")]
    //[ServiceBundle("api/{Service}/{Method}/test")]
    //[ServiceBundle("api/{Service}/{Method}/test",false)]
    public interface IUserService: IServiceKey
    {

        /// <summary>
        /// 判断是否存在
        /// </summary>
        /// <param name="id">用户编号</param>
        /// <returns></returns>
        [ServiceRoute("{id}")]
        [HttpPost(),HttpPut(), HttpDelete(), HttpGet()]
        // [ServiceBundle("api/{Service}/{id}", false)]
        Task<bool> Exists(int id);

        /// <summary>
        /// 报错用户
        /// </summary>
        /// <param name="requestData">请求参数</param>
        /// <returns></returns>
        [Authorization(AuthType = AuthorizationType.JWT)]
        [HttpPost(true),HttpPut(true)]
        Task<IdentityUser> Save(IdentityUser requestData);

     }

 

、总结

2019年08月28日发布2.0版本,敬请期待

рекомендация

отwww.cnblogs.com/fanliang11/p/11373087.html
рекомендация