in AWS, the equivalent of this service is Kinesis. RabbitMQ and Apache Kafka fall into this category. Real time pub/sub model or streaming messages from publisher to middleware queue service.In AWS, the equivalent of this service is SNS (Simple Notification Service). The consumer applications then subscribe to the topic also but as consumers. It then sends the messages (push model), to the middleware application hosting the topic. In this model, the producer application subscribes to a topic that’s hosted by the queue service. In AWS, the equivalent of this service is SQS (Simple Queue Service). This works well when there is a cluster of consumers to share the load of processing. The consumers of the messages then poll the queue service at given intervals of time and picks up the messages and sends a command to clear up the messages from the queue, so that other consumers don’t pick it up also, hence duplicating messages. A queue model is where there is a queue service that polls the producer for messages at given intervals and stores the message. The middle-ware service can be broadly categorized in 3 different models. The way that most applications handle messaging between them is through some sort of middle-ware service.Further synchronous messaging between applications can be problematic if there are sudden spikes of traffic. Further if Application A needs to send data to multiple other applications, let’s say Application A (buying service), needs to send data to Application B (shipping service) and Application C (inventory service) then Application A will have to send the messages to 2 different applications increasing load on Application A. This method is not very reliable as data can be lost when the receiving application goes down for a period of time. The old legacy way was Synchronous communications from application to application.When Applications that are split in functionality need to exchange data between each other, there are generally 2 kinds of ways to do this. As an example Application A gathers some data and Application B needs to do some custom processing with the output of data from Application A. Figure 1: Nexus Dashboard to Elasticsearch/KibanaĪpplications frequently need to talk to other applications. In this article, I will go 1 step further and show you how to pull in the data obtained from NI to Elasticsearch/Kibana for data analysis and Visualizations as depicted In the figure below. Previously, I had written an article: Subscribing Nexus Dashboard Insights Kafka Producer to a Kafka topic and streaming events to a Kafka Consumer You can be selective on what you export (based on your requirements) and then send the Kafka consumer messages to some other application like elasticsearch/kibana to do custom queries and visualizations. The messages that can be obtained from NI in this way are anomalies, advisories, faults, audit logs and statistics. You can then have a Kafka consumer subscribe to that topic and receive all the messages. Cisco Nexus Dashboard Insightsfrom release 5.0.1x can use the Kafka services that runs on ND and subscribe to a topic as a publisher to that topic that has been created on a Kafka service.
0 Comments
Leave a Reply. |