Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 55716|Отговор: 3

[Източник] 【Архитектура】ASP.NET Core е широко достъпен въз основа на консулските услуги

[Копирай линк]
Публикувано на 2020-10-16 18:33:07 | | | |
При разработването на интернет проекти е необходимо да се взаимодейства с различни услуги, а потребителите получават данни от сървъра, а високата наличност на интерфейси за услуги е особено важна, особено в електронната търговия и платежните системи, където високата наличност също измерва дали системата е стабилна. При клъстерите много услуги също са трудни за поддържане.

Преглед на консула

Consul е инструмент с отворен код, разработен на езика Go, стартиран от HashiCorp, който се използва за реализиране на откриване на услуги и конфигуриране на разпределени системи, с вградена рамка за регистрация и откриване на услуги, имплементация на протокол за консистентност на дистрибуцията, проверка на здравето, съхранение на ключове/стойности и решения за мулти-центрове за данни, което е сравнително лесно за използване.

[Архитектура]. net/c# реализира разпределена конфигурация на Key/Value хранилище, базирано на Consul
https://www.itsvse.com/thread-9420-1-1.html

Архитектура: ASP.NET Core динамично конфигурира горещи актуализации въз основа на Consul
https://www.itsvse.com/thread-9421-1-1.html


Откриване на консулска служба

Как да използвате Consul Service Discovery:

  • Пуснете Consul агент в клиентски режим на всеки компютър, който отговаря само за ефективната размяна на най-новата регистрационна информация с Consul Cluster (без участие в избора за лидер).
  • Услугата на всеки компютър регистрира името на услугата и URL адреса на услугата при местния консулски агент
  • Когато програма, разположена на Computer1, трябва да се обади на ServiceB, програмата ServiceA директно получава адреса за достъп на ServiceB от локалния консул агент чрез името на услугата и след това прави заявка директно към URL адреса на ServiceB.




Кодът е следният:



В класа "Стартиране" се обадете по следния начин:



Здравен преглед

Интерфейсът за проверка на здравето трябва само да върне статус код 200 на консула, като кодът е следният:



Започнете проекта, запишете се за услугата

Контролерът може да дефинира тестов метод по следния начин:



Нека отидем в bin директорията на проекта и го стартираме през командния ред, кодът е следният:





Вижте линка през браузъра си:

http://127.0.0.1:8500/ui/dc1/services/test.itsvse



http://127.0.0.1:8500/v1/catalog/service/test.itsvse

json данните са както следва:

[
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Възел": "DESKTOP-EB7B69D",
        "Адрес": "127.0.0.1",
        "Център за данни": "dc1",
        "TaggedAddresses": {
            "LAN": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "Consul-Network-сегмент": ""
        },
        "ServiceKind": "",
        "ServiceID": "507338bf-a5a6-4013-9675-c43a40a2c1a0",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "тест",
            "itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Преминаване": 1,
            "Предупреждение": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8083,
        "ServiceEnableTagOverride": false,
        "ServiceProxy": {
            "MeshGateway": {},
            "Разкриване": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1317,
        "ModifyIndex": 1317
    },
    {
        "ID": "bb644359-6b2a-a27e-7a0a-a1950b8e515f",
        "Възел": "DESKTOP-EB7B69D",
        "Адрес": "127.0.0.1",
        "Център за данни": "dc1",
        "TaggedAddresses": {
            "LAN": "127.0.0.1",
            "WAN": "127.0.0.1"
        },
        "NodeMeta": {
            "Consul-Network-сегмент": ""
        },
        "ServiceKind": "",
        "ServiceID": "bb21f150-7219-4eda-bc91-54686a750228",
        "ServiceName": "test.itsvse",
        "ServiceTags": [
            "тест",
            "itsvse"
        ],
        "ServiceAddress": "127.0.0.1",
        "ServiceWeights": {
            "Преминаване": 1,
            "Предупреждение": 1
        },
        "ServiceMeta": {},
        "ServicePort": 8082,
        "ServiceEnableTagOverride": false,
        "ServiceProxy": {
            "MeshGateway": {},
            "Разкриване": {}
        },
        "ServiceConnect": {},
        "CreateIndex": 1314,
        "ModifyIndex": 1314
    }
]


Консулско обслужване

Създайте нов проект за .NET Core конзола със следния код:



Случайно се обаждам на регистрираната услуга test.itsvse и резултатът е следният:



Накрая, изтегляне на изходния код:

Туристи, ако искате да видите скритото съдържание на този пост, моляОтговор




Предишен:Архитектура: ASP.NET Core динамично конфигурира горещи актуализации въз основа на Consul
Следващ:DMP импортирането на файлове е изключително
Публикувано на 2020-11-30 19:57:38 |
w174w174w174
Публикувано на 23.07.2021 09:31:37 |
Благодаря, че сподели
Публикувано на 2021-9-3 09:05:16 |
Софтуер, импортиране на десетки хиляди имейли, не фалшифицирай смърт, не замразявай!!
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com