Inside Esri ArcGIS GeoEvent Server: Difference between revisions
Brian Wilson (talk | contribs) Created page with "2022-07-16 I am looking at version 10.9.1 == Resources == [https://karaf.apache.org/ Apache Karaf] [https://github.com/apache/karaf Github] Category: GIS Category:..." |
Brian Wilson (talk | contribs) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
2022-07-16 I am looking at version 10.9.1 | 2022-07-16 I am looking at version 10.9.1 | ||
No doubt this thing is properly engineered to sustain high data rates. | |||
But most of us have no use for this. So I am pretty much done here. | |||
I think I've listed the main components used here, and that I could cobble | |||
together a low performance low data rate system on my own now. | |||
== Architecture == | |||
I would love an article on the architecture of this system, I don't have one. Just a few clues. | |||
I found many properties files. Looks like it streams events over a web socket. | |||
The event processor is probably based on [https://kafka.apache.org/ Apache Kafka], | |||
that's probably the core of this system. | |||
They are using [https://www.rabbitmq.com/ RabbitMQ] as the message broker, using AMQP as the protocol. | |||
It uses something called AKKA too. https://doc.akka.io/docs/akka/current/typed/guide/introduction.html | |||
What the heck is a modulith? (That's what they call Karaf) | |||
GeoEvent Server installs '''Apache Karaf''' which is a Java container server, so somewhere there must be I don't know, a jar file? containing the actual Esri application code. | |||
The Esri installer "Setup.sh" looks for a licensed server and then runs the installer for Karaf, which is in a bundled tar ball. | |||
There are some files in GeoEvent, ArcGISGeoEvent-service and ArcGISGeoEvent-wrapper | |||
Looks like -service runs the wrapper and the wrapper runs as the user and starts something else? | |||
When I run the wrapper, it references https://wrapper.tanukisoftware.com/doc/english/home.html | |||
It reads a config file setup at install time and then starts the actual Java service. | |||
== Resources == | == Resources == |
Latest revision as of 20:03, 16 July 2022
2022-07-16 I am looking at version 10.9.1
No doubt this thing is properly engineered to sustain high data rates. But most of us have no use for this. So I am pretty much done here. I think I've listed the main components used here, and that I could cobble together a low performance low data rate system on my own now.
Architecture
I would love an article on the architecture of this system, I don't have one. Just a few clues.
I found many properties files. Looks like it streams events over a web socket.
The event processor is probably based on Apache Kafka, that's probably the core of this system.
They are using RabbitMQ as the message broker, using AMQP as the protocol.
It uses something called AKKA too. https://doc.akka.io/docs/akka/current/typed/guide/introduction.html
What the heck is a modulith? (That's what they call Karaf)
GeoEvent Server installs Apache Karaf which is a Java container server, so somewhere there must be I don't know, a jar file? containing the actual Esri application code.
The Esri installer "Setup.sh" looks for a licensed server and then runs the installer for Karaf, which is in a bundled tar ball.
There are some files in GeoEvent, ArcGISGeoEvent-service and ArcGISGeoEvent-wrapper Looks like -service runs the wrapper and the wrapper runs as the user and starts something else? When I run the wrapper, it references https://wrapper.tanukisoftware.com/doc/english/home.html It reads a config file setup at install time and then starts the actual Java service.