Inside Esri ArcGIS GeoEvent Server: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
mNo edit summary
Brian Wilson (talk | contribs)
 
(One intermediate revision by the same user not shown)
Line 3: Line 3:
No doubt this thing is properly engineered to sustain high data rates.  
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.
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.
I found many properties files. Looks like it streams events over a web socket.
Line 24: Line 30:
When I run the wrapper, it references https://wrapper.tanukisoftware.com/doc/english/home.html
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.
It reads a config file setup at install time and then starts the actual Java service.
== Karaf in Docker ==
https://github.com/apache/karaf
docker run -p 10000:80 apache/karaf


== 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.

Resources

Apache Karaf Github