KafkaJS: tips for setting up a consumer on a website/server located remotely

I am currently working on setting up a live data streaming feature using Kafka for our company's website. My goal is to have a real-time updating plot displayed on the site.

With the help of the kafkaJS documentation, I was able to create a functional JS consumer.

Now, my next step is to incorporate this script into an HTML file on our website in order to continuously read incoming data and generate the plot.

var source = new EventSource('script.js');
source.addEventListener('message', function(e){

  console.log('Message')
  obj = JSON.parse(e.data);
  console.log(obj);
})

Unfortunately, when testing this setup on my site, I encountered the following error:

EventSource's response has a MIME type ("application/javascript") that is not "text/event-stream". Aborting the connection.

I'm uncertain if I'm moving in the right direction with this approach or if it's even achievable given my limited experience in this area. Finding helpful resources has been challenging for me.

Any assistance or guidance you can provide would be immensely valuable.

Thank you very much.

Answer №1

In the realm of backend services, Kafka stands out as a prominent player, making KafkaJS an ideal choice for a backend client.

When it comes to streaming data to frontend clients such as web browsers, technologies like SSE, Websockets, and other forms of streaming HTTP traffic are more suitable options since KafkaJS does not offer this functionality by default.

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

"Can you tell me the method for obtaining an array within an Angular

Within the realm of PHP, there exist certain elements within an array: $this->data['messages']['ms'][] = 'Line1'; $this->data['messages']['ms'][] = 'Line2'; along with a method that return ...

What can be done to prevent unnecessary API calls during re-rendering in a React application?

On my homepage, I have implemented code like this: {selectedTab===0 && <XList allItemList={some_list/>} {selectedTab===1 && <YList allItemList={some_list2/>} Within XList, the structure is as follows: {props.allItemList.map(ite ...

The most basic method for monitoring changes in an object

An application needs to immediately update all clients with a large object when it changes. What is the most basic method to monitor changes in a Node.js object? Consider the following object: var obj = { num: 3, deep: { num: 5 } } A functi ...

Revamping the vertices and UVs of DecalGeometry

I am currently experimenting with ThreeJS decals. I have successfully added a stunning decal to my sphere. Below is the code snippet I am using to place the decal on my sphere. (Please disregard any custom classes mentioned in the code.) // Creating the ...

Steps to implement a fixed toolbar in Chrome while ensuring optimal functionality for all other fixed elements

Currently in the process of developing a Chrome extension, I'm interested in implementing a 60px height toolbar that remains visible at the top of all pages. I've researched various tutorials and articles on using CSS translateX, but encountered ...

issue with data binding in ons-dialog

Utilizing an ons-dialog to display a popup prompting the user to sign up for a newsletter. I have set a 3-second timeout to prevent users from immediately closing the prompt without reading it or waiting. I aim to initially show the dialog with the ' ...

Looking for a single solution to have my background image in CSS cover the entire screen on both my computer and cell phone

I used the following code in my demo .html file: body{ background-image: url('https://i0.wp.com/www.socialnews.xyz/wp-content/uploads/2020/10/26/5573c6f0bee7ca021f4a8aecbaf6cbeb.jpg?quality=80&zoom=1&ssl=1'); -webkit-backgroun ...

Creating a dropdown button in HTML table cells with JavaScript: A comprehensive guide

I'm attempting to create a drop-down button for two specific columns in my HTML table, but all the rows are being converted into drop-down buttons. I only want the "categorycode" and "categoryname" columns to be drop-down. $(document).ready(functio ...

Displaying Various Photos within bootstrap-table using Ajax Response

Upon receiving a response from an AJAX call, my task is to create a bootstrap-table with the data. The response contains an array with information about images, such as their paths and names. However, when trying to populate the bootstrap-table with this d ...

The jQuery replacement should only be implemented on the new select box and not on the previous one

Let me illustrate the situation. I have a website and my aim is to gather information about the "Type of Business" for members on the site. I present all the current businesses that have been entered and allow users to choose one from the list. If a user w ...

Tips for removing two specific "th" elements from a table that is generated dynamically

I have a challenge where I need to remove 2 specific elements from a table depending on which delete button is clicked Check out the code snippet below : <!--HTML--> <button type="button" class="collapsible">Manage Formulas</button> < ...

Struggling to concatenate array dynamically in Vue using ajax request

I am working on a Vue instance that fetches objects from a REST endpoint and showcases them on a web page. Most parts of the functionality work smoothly like filtering, however, there is an issue when attempting to add new objects by requesting a new "page ...

Issue with updating data variable from watcher on computed property in Vue.js with Vuex

Snippet: https://jsfiddle.net/mjvu6bn7/ I have a watcher implemented on a computed property in my Vue component. This computed property depends on a Vuex store variable that is set asynchronously. Despite trying to update the data variable of the Vue comp ...

Perform a jQuery AJAX GET request while passing the current session information

Is it possible to retrieve the HTML content of another webpage using jQuery, particularly when that page is already signed in? In simpler terms, can we use $.get() to fetch a different page on the same website and transfer the PHP/Javascript cookies with ...

The issue of JQuery mobile customizing horizontal radio buttons failing to function on physical devices has been identified

Not long ago, I posed a query on Stackoverflow regarding the customization of horizontal jQuery-mobile radio buttons. You can find the original post by following this link How to customize horizontal jQuery-mobile radio buttons. A developer promptly respon ...

I am looking for a way to successfully transfer data from a database into a bootstrap modal when it is triggered to open. Can anyone provide guidance on

I am currently working on a project that involves passing data from my database into a modal form. The main objective of this modal is to allow users to edit their data within the database and then save any changes they make. Despite watching numerous tut ...

What is the best way to update a collection item while maintaining non-existing values in the query?

Consider this straightforward example, where an item is saved as: { "test": { "a1": "a1" } } When collection.updateOne is called with $set and the following object: await collection.updateOne(doc, {$set: {"test&q ...

Accessing and manipulating a scope variable in Angular from an external source

Can you update a $scope variable in a controller from an external source? For instance, suppose we have the following controller: app.controller('citySelectCtrl', ['$scope',function($scope){ }]); And there is a function in the globa ...

Import GraphQL data in gatsby-browser.js (or alternative method, if available)

I am currently facing a challenge with running a GraphQL query within the context of replaceRouterComponent in gatsby-browser.js (reference to Gatsby browser API). However, I am able to access data from Contentful. If there are alternative approaches or s ...

Is it possible to insert a variable into a span or v-tooltip tag?

I am currently using vue 2 along with vuetify 2, and I seem to be encountering an issue when attempting to display data from a table. Whenever I insert curly braces between the v-tooltip tags, it results in a blank page. Below is an example of the code: &l ...