java


JMX polling or TCP Pushing: What is better?


I have to implement a monitoring solution.
For this reason a MetricsMicroService has to collect metric data from other microservices. Every minute and for each server, a metricsMicroService has to collect data from 4-6 other microservices and save it to the database.
Now my question is: What is the most performant way to transfer metric data?
From my point of view there is the choice between the following solutions:
polling the data via JMX
pushing to a WebSocket via TCP
Does anybody have some advice?
Thanks in advance!
I tend to prefer the push model since I can gather all the JMX stats locally, compress them into a payload and make one transmission to an external listener, rather than make several calls into the JVM from a remote. Having said that, a few non-standard JMX clients support request batching (e.g. Jolokia) and then it's 3 of one, a quarter dozen of another. (Not sure if Jolokia compresses, but one of it's deployments is as a WAR so it's probably not difficult to make it do so.)

Related Links

How to prevent AdMob ads from getting placed at the bottom of the activity?
graphstream sprite moves outside the edge
Intent to open a link within a browser not working
Some Images not being drawn on JPanel
Selenium is not accessing the print dialog box to click on “OK” button, How I can switch to print dialog and click on OK button,
Invoke particular writer based on operation type?
Why passed to another activity Serializable object is null
Can not change permission of folder through java code
How do I test the UI of a new Activity only if certain condition is met?
Convert Java object fields to query parameters in URI
Java API to implement query for script_fields in Elastic search
Global variable's value doesn't change after for Loop
How to get case-insensitive result with exact match in elastic search jhipster project
How to exclude resources from springSessionRepositoryFilter?
HTTP Status Code 500 when uploading video to server in android
generics and wild cards

Categories

HOME
heroku
view
raspberry-pi
dot
electronics
usergrid
fatal-error
facebook-page
contextmenu
openedx
custom-wordpress-pages
css-animations
wkwebview
java-7
angular2-aot
shopware
greendao
noraui
vsts-build-task
azure-sql-database
git-merge
disassembling
x11-forwarding
az-application-insights
arena-simulation
bootstrap-dialog
unixodbc
gpx
dotcover
hls.js
setter
nativeapplication
media-player
sqldf
url-pattern
google-feed-api
google-web-starter-kit
nsfilemanager
gridview-sorting
master-slave
qgraphicsview
goose
associative-array
pyke
jms2
cyclomatic-complexity
purge
quicklisp
angular-leaflet-directive
riak-cs
php-ci
sysinternals
clipperlib
device-orientation
directoryservices
camanjs
javafx-webengine
applescript-objc
preferences
funcunit
phpthumb
rebol3
mysql-error-1062
cloud-connect
geos
ccss
jsctypes
.aspxauth
cdc
easy-install
gridcontrol
jelly
funscript
gnustep
infobox
xdomainrequest
filtered-index
nhibernate.search
preference
castle-monorail
backcolor
defensive-programming

Resources

Database Users
RDBMS discuss
Database Dev&Adm
javascript
java
csharp
php
android
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App