|
![]() |
#1 |
Moderator
|
Цитата:
Теоретически про архитектуру Service Fabric рассказано вот здесь, но у меня времени видео смотреть не было, а просто в тексте там не все технические подробности механизмов state replication рассказаны. |
|
|
За это сообщение автора поблагодарили: sukhanchik (2), AlexeyS (3). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от fed
![]() Вообще - похоже что этот Azure Service Fabric - это такая среда исполнения контейнеров типа Docker. При этом - ax там работает не в контексте IIS (который может быть даже не установлен),а где-то в контексте своего собственного процесса (axservice.exe), который где-то на каком-то хосте Service Fabric крутится. При этом, Service Fabric, вроде бы, может реплицировать состояние каких-то областей памяти между процессами на разных узлах кластера и из за этого, последовательные запросы одного и того же пользователя могут, в теории, вообще обрабатываться разными физическими серверами. Из за этого Тарик и рассказывает как остановить избыточные axservice.exe - как раз для того чтобы все запросы падали на один и тот же сервер, на котором у нас отладчик крутится...
Единицей развертывания является не сервис, а совокупность сервисов, называемая приложением — в манифесте приложения можно, кроме прочего, определить партиционирование сервиса для поддержания масштабируемости, а для отказоустойчивости в случае выхода из строя серверов ASF каждая партиция может иметь несколько экземпляров сервисов. И сервисы и приложения версионируются независимо, что позволяет обновлять приложение, не обновляя в нем все сервисы разом. Для развернутого приложения ASF создает нужное количество экземпляров сервисов, размещает на нодах кластера, запускает, синхронизирует состояние между экземплярами, пересоздает экземпляры для балансировки нагрузки. Сервисы в ASF могут быть statefull и stateless, и судя по сценарию приложений для statefull, запросы одного пользователя будут обрабатываться на одном сервисе. Но на каком именно - неизвестно, это определяет балансировщик, поэтому и должен остаться только один. С другой стороны, непонятно, как тонко разделено приложение на сервисы. Например модуль Sales это приложение (в терминах ASF) как совокупность сервисов или нет? Создание заказа это отдельный сервис или нет? А создание нового клиента по ходу создания заказа это отдельный сервис? |
|
|
За это сообщение автора поблагодарили: sukhanchik (2), Logger (3). |
![]() |
#3 |
Moderator
|
Цитата:
Сообщение от AlexeyS
![]() Сервисы в ASF могут быть statefull и stateless, и судя по сценарию приложений для statefull, запросы одного пользователя будут обрабатываться на одном сервисе. Но на каком именно - неизвестно, это определяет балансировщик, поэтому и должен остаться только один.
С другой стороны, непонятно, как тонко разделено приложение на сервисы. Например модуль Sales это приложение (в терминах ASF) как совокупность сервисов или нет? Создание заказа это отдельный сервис или нет? А создание нового клиента по ходу создания заказа это отдельный сервис? ![]() Кроме того - мне не очень понятно как именно они сделали поддержку репликации и масштабирования stateful service. Они там что-то пишут по поводу репликации, но конкретики не так чтобы уж очень много. Я правильно понимаю, что в случае если у меня один из серверов остановлен, все пользователи просто магически переедут на другой сервер, не заметив подмены ? |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от fed
![]() Ну там сейчас вся старая добрая аксапта живет как один Service Type - AXSF. Так что не так уж оно чтобы и очень микро-сервис
![]() Кроме того - мне не очень понятно как именно они сделали поддержку репликации и масштабирования stateful service. Они там что-то пишут по поводу репликации, но конкретики не так чтобы уж очень много. Я правильно понимаю, что в случае если у меня один из серверов остановлен, все пользователи просто магически переедут на другой сервер, не заметив подмены ? |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от AlexeyS
![]() в манифесте приложения можно, кроме прочего, определить партиционирование сервиса для поддержания масштабируемости, а для отказоустойчивости в случае выхода из строя серверов ASF каждая партиция может иметь несколько экземпляров сервисов. И сервисы и приложения версионируются независимо, что позволяет обновлять приложение, не обновляя в нем все сервисы разом. Для развернутого приложения ASF создает нужное количество экземпляров сервисов, размещает на нодах кластера, запускает, синхронизирует состояние между экземплярами, пересоздает экземпляры для балансировки нагрузки.
![]() т.е. то-ли разработчики ах не разобрались, то ли сервис фиговой Кстати помимо АХ есть ведь еще Data management service который работает с локальными папками, он вряд ли отказ узла переживет |
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от trud
![]() Вот такое прочитаешь и непонятно, откуда взялось 3 часа полной остановки системы при любой заливке нового кода
![]() т.е. то-ли разработчики ах не разобрались, то ли сервис фиговой Кстати помимо АХ есть ведь еще Data management service который работает с локальными папками, он вряд ли отказ узла переживет |
|
![]() |
#7 |
Moderator
|
Цитата:
P.S. Кстати - не могу не вспомнить как при том же Наделлле, в Ax 4.0 старый сетевой протокол имени Damgaard был заменен на Windows RPC (с большой помпой и вынужденный интеграцией с доменной системой windows). Но при этом единственная вызываемая по RPC функция принимала в качестве параметра, BLOB в формате старого дамгаардовского сетевго протокола. Последний раз редактировалось fed; 23.05.2018 в 17:18. |
|
|
За это сообщение автора поблагодарили: Logger (1). |
![]() |
#8 |
Участник
|
Цитата:
![]() |
|
![]() |
#9 |
Участник
|
Цитата:
Это способ интеграции между приложениями, каким в свое время выступил XML или что-то большее? |
|
![]() |
#10 |
Участник
|
Получается что по живой уже не отладишься. Всех придется выгонять. Или может есть какой-нить аналог -aos2 ?
|
|
![]() |
#11 |
Участник
|
При этом есть сервер Windows, на котором стоит IIS и сайт AOSService. Что нам мешает локально на этом сервере запускать браузер и подключаться к Аксапте по локальному адресу? Или Аксапта настолько умная, что может перевести подключение на физически другой сайт / IIS / Windows server?
__________________
Ivanhoe as is.. |
|
![]() |
#12 |
Moderator
|
Цитата:
Сообщение от Ivanhoe
![]() При этом есть сервер Windows, на котором стоит IIS и сайт AOSService. Что нам мешает локально на этом сервере запускать браузер и подключаться к Аксапте по локальному адресу? Или Аксапта настолько умная, что может перевести подключение на физически другой сайт / IIS / Windows server?
Когда я пробовал образаться к адресу конкретного хоста (типа https://ax1.contoso.com/namespaces/AXSF/) соединение не устанавливалось из за каких-то граблей с сертификатами. Возможно, там можно было бы настроить и на использование сертификата для конкретного хоста. Возможно при этом даже удалось бы как-то отключить балансировщик нагрузки Service Fabric, который клиента как-то (вероятно) редиректит на конкретный IP. Проблема в том, что никакой документации на эту тему нет. Кроме того документа, на который я уже давал ссылочку, ничего другого найти не удалось. А сам этот документ - это смесь concept guide и tutorial по разработке "Hello world"-приложения.... |
|
|
За это сообщение автора поблагодарили: sukhanchik (4), trud (2). |
![]() |
#13 |
Участник
|
Т.е. он есть только на демо-виртуалках всё-в-одном? Я первым делом пошел туда посмотреть.
__________________
Ivanhoe as is.. |
|
![]() |
#14 |
Moderator
|
Цитата:
![]() Кстати, Микрософт очень напрасно не выпустил официально поддерживаемую On Premises версию, основанную на One Box-топологии. Она вполне себе прилично дежит пользователей 15 при достаточно разумных требованиях к железу. Вот сделали бы они какой-нить On Premises lite, который жил бы в IIS (а не в Service Fabric) - его мелкие клиенты с радостью бы покупали... |
|
|
За это сообщение автора поблагодарили: Ivanhoe (10), sukhanchik (8). |
![]() |
#15 |
Участник
|
Цитата:
Сообщение от fed
![]() Кстати, Микрософт очень напрасно не выпустил официально поддерживаемую On Premises версию, основанную на One Box-топологии. Она вполне себе прилично дежит пользователей 15 при достаточно разумных требованиях к железу. Вот сделали бы они какой-нить On Premises lite, который жил бы в IIS (а не в Service Fabric) - его мелкие клиенты с радостью бы покупали...
|
|
![]() |
#16 |
Banned
|
Цитата:
Цитата:
A fundamental difference between Cloud Services and Service Fabric is the relationship between VMs, workloads, and applications. A workload here is defined as the code you write to perform a specific task or provide a service.
... Cloud Services is about deploying applications as VMs. The code you write is tightly coupled to a VM instance. ... Service Fabric is about deploying applications to existing VMs or machines running Service Fabric on Windows or Linux. The services you write are completely decoupled from the underlying infrastructure. Это космос Azure Service Fabric overview and the road ahead https://www.youtube.com/watch?time_c...&v=fMhBL25kIjI Чтобы его понять надо читать про Kubernetes от Google https://ru.wikipedia.org/wiki/Kubernetes |
|
|
За это сообщение автора поблагодарили: AlexeyS (3), Ivanhoe (5), fed (3), sukhanchik (5), Logger (3). |
Теги |
d365, d365 for operations, debugger, debugger365, lbd, отладка |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|