Solved

FME Server Fault Tolerant installation - Queues behavior

  • 20 November 2018
  • 6 replies
  • 6 views

Badge +2

Hi,

I plan to install a fault tolerant FME Server 2018.1. I would like to install 2 systems that each have 2 engines. A load balancer will manage the requests to these 2 systems (as below)

I have 2 questions:

1/ Is it possible to dedicate one engine to a "message streaming" workflow (WebsocketReceiver/WebsocketSender). Let say the engine1 of the host1.

2/ Is it possible to send "big job" only to the engine1 of the host2? In my comprehension, I will have to duplicate queues on both hosts so it seems not possible to only use one engine...

 

Thank you in advance!

 

Laurent

 

icon

Best answer by jlutherthomas 20 November 2018, 17:59

View original

6 replies

Userlevel 4
Badge +26

In that set up sending a specific job to a specific host would not be considered Fault Tolerant but I think it should be possible.

 

 

When you say 'two engines on each' are you saying that you have four licensed engines? In that case the idea is that when/if one of the servers goes down then the jobs will just be directed to the one server (you will only have two engines).

I think that in the FME Server UI on the engines page you should see both hosts available with the engines, you should be able to control which queues have which engines. The Load Balancer simply directs the requests to (one) the FME Servers. The queue manager will send it the specified engine.

 

If a host is down then those engines will be too and so the queue will just fill up until the engine comes back online.
Badge +2

In that set up sending a specific job to a specific host would not be considered Fault Tolerant but I think it should be possible.

 

 

When you say 'two engines on each' are you saying that you have four licensed engines? In that case the idea is that when/if one of the servers goes down then the jobs will just be directed to the one server (you will only have two engines).

I think that in the FME Server UI on the engines page you should see both hosts available with the engines, you should be able to control which queues have which engines. The Load Balancer simply directs the requests to (one) the FME Servers. The queue manager will send it the specified engine.

 

If a host is down then those engines will be too and so the queue will just fill up until the engine comes back online.

Hi @virtualcitymatt,

Thank you for your answer. Here are some precisions:

Yes I will have four licensed engines.

What I am not sure to understand is the fact that the 4 engines are not always available. In the print screen below I read that the load balancer distributes web requests between all of the FME Server environments. I am a bit confused...

Badge +2

Hi @lau

 

 

Are you able to share screenshots of your engine management page, and the deployment status page?
Badge +2

Hi @lau

 

 

Are you able to share screenshots of your engine management page, and the deployment status page?

I have no FME Server installation yet... I am asking these 2 questions because I am not sure to understand exactly what has changed in FME 2018.1.

In the configuration I described, are there 4 engines available? Or only 2 actives + 2 inactives?

Badge +10

I have no FME Server installation yet... I am asking these 2 questions because I am not sure to understand exactly what has changed in FME 2018.1.

In the configuration I described, are there 4 engines available? Or only 2 actives + 2 inactives?

Hi @lau,

 

In a 2018.1 Fault tolerance installation there are no passive engines. All engines are active. So you can route jobs to whichever engine you want. If you do have an engine do down its a good idea to have a second queue with a lower priority pointing at an engine on a different host so processing still continues.

https://docs.safe.com/fme/html/FME_Server_Documentation/Content/WebUI/Job-Queues.htm?Highlight=priority

 

This may be of use too.

https://knowledge.safe.com/articles/81263/an-fme-server-20181-installation-scenario.html

In regards to the original question.

 

1) Yes you can route any job

2) The queue is set up on the file share and database so its already shared between servers. No need to duplicate any process.

Badge +2

Hi @lau,

 

In a 2018.1 Fault tolerance installation there are no passive engines. All engines are active. So you can route jobs to whichever engine you want. If you do have an engine do down its a good idea to have a second queue with a lower priority pointing at an engine on a different host so processing still continues.

https://docs.safe.com/fme/html/FME_Server_Documentation/Content/WebUI/Job-Queues.htm?Highlight=priority

 

This may be of use too.

https://knowledge.safe.com/articles/81263/an-fme-server-20181-installation-scenario.html

In regards to the original question.

 

1) Yes you can route any job

2) The queue is set up on the file share and database so its already shared between servers. No need to duplicate any process.

Thank you for your response. It's totally clear now :) And thank your for the link to the different scenarios. It will help me!

Reply