Building Communication Services Using RabbitMQ and Node.JS

Inquire now

Course Overview:

This training program is aimed at building high scalable server applications using Node.js and RabbitMQ. Participants will learn how to build server APIs using Node.js and understand and exploit the benefits of “Single Threaded Event Loop”. Participants will also learn to build scalable solutions using RabbitMQ as the messaging platform for communication between services and learn to exploit the various messaging strategies for better scalability and reliability.

Course Objectives:

  • This workshop is aimed at imparting the required know-how to build and manage applications using Node.js & RabbitMQ

Pre-requisites:

  • Experience with the Linux command line interface.
  • An understanding of enterprise application development concepts.

Target Audience:

  • IT specialists
  • Developers
  • System Architects

Course Duration:

  • 35 hours – 5 days

Course Content:

MESSAGING SOLUTIONS USING RABBITMQ

  1. Introduction to RabbitMQ
  1. Understanding Queueing Architecture
  • Message Queueing
  • Uses for Message Queueing
  1. Core Concepts
  • AMQP Messaging Standard
  • Exchanges
  • Queues, Bindings & Consumers
  • Standard Queue
  • Worker Queue
  • Publish & Subscribe
  • Direct Routing
  1. Exchanges & Bindings
  • Direct Exchange
  • Default Exchange
  • Topic Exchange
  • Fanout Exchange
  • Dead Letter Exchange
  1. Understanding Messaging
  • The role of a consumer
  • The role of a producer
  • Bindings consumers and producers
  • Messages and durability
  • How to verify delivery
  1. ES6
  1. New in ES6
  • Classes
  • let and const
  • Arrow functions
  • Enhanced Object Literals
  • Array & Object Destructuring
  • Spread Operator
  • Generators and Iterators
  • Symbols
  • Comprehensions
  • Async Programming using Promises
  • Async Await

BUILDING APPLICATIONS USING NODE.JS

  1. Introduction to Node.js
  • Installing Node.js
  • Node’s Event Loop
  • Alternatives to Node.js
  • Writing asynchronous code
  1. Modularizing code
  • Understanding built-in modules
  • Techniques for modularizing JavaScirpt code
  • Using require() to modularize application code
  • Using npm for third-party modules
  • Handling Exceptions
  1. Events and Streams
  • Understanding Events
  • EventEmitter class
  • Understanding Streams
  • Reading and writing streams
  • Using pipe()
  1. Accessing Local Resources
  • Process Object
  • Manipulating File System
  • Understanding Buffers
  1. js and the web
  • Handling web requests
  • Building a web server
  • Understanding the need for web sockets
  • Realtime interaction using socket.io
  1. Building web API using Express.js
  • Installing Express.js
  • Routing
  • Parameters and queries in routing
  • Working with cookies and sessions
  • Authentication and authorization
  • Error Handling
  1. Data Persistence in Node.js
  • Installing SQLite client module
  • Establishing connections
  • Executing Queries
  • Binding Parameters
  • Inserting, Updating and Deleting Data

 

  1. Building Network Servers & Clients
  • Creating a TCP Server
  • Creating a TCP Client
  • Creating a HTTP/HTTPS client
  • Using the Restler module
  1. Testing Node.js Applications
  • Introduction to TAP
  • Installing node-tap
  • Test Organization
  • Performing Assertions
  • Testing Async with Promises
  • Mocking dependencies using Nock
  • Test Coverage
  1. Scaling Node applications
  • The Child process model
  • exec, spawn, and fork functions
  • Using the Cluster module
  1. js Eco System
  • ONode Packages
  • Packages of interest
  • Deciding Factors
  1. Debugging Node Applications

BUILDING API FOR MESSAGING INTERFACES USING NODE.JS & RABBITMQ

  1. Building RabbitMQ service consumers
  • Installing RabbitMQ Client
  • Connecting to Message Broker
  • Sending Messages
  • Receiving Messages
  1. Implementing Queuing Code
  • Topic Based Publisher & Subscriber for Notifications
  • Simple Publish & Subscribe
  • Publisher Confirmation
  • Polymorphic Publish and Subscribe
  • Controlling Queues and Exchange Names
  • Remote Procedure Calls ?Synchronous RPC
  • Asynchronous RPC oTargeted Messaging
  • Using Send and Receive Pattern oFlexible Routing
  • Topic based publish & subscribe

RABBITMQ ADMINISTRATION

(Duration for this topic is reduced because of the usage of managed services)

  1. Administering RabbitMQ oClusters & Nodes
  • Creating and starting a managed instance
  1. Managing Connections & Channels
  • Starting and stopping nodes
  • RabbitMQ configuration files
  • How to manage privileges
  • Viewing statistics and analyzing logs
  • Sending alerts
  • How to set up parallel processing
  1. High availability with cluster
  • Architecture of a cluster
  • Queues in a cluster
  • Setting up a test cluster
  • Distributing the nodes to more machines
  • How to preserve messages: mirrored queues
  1. Implementing failover and replication
  • Setting up a load balancer-based master/slave
  • Installing the Shovel plugin
  • Configuring and running Shovel
  1. Web tools to administer RabbitMQ
  • The RabbitMQ Management plugin
  • Managing RabbitMQ from the web console
  • Administering users from the web console
  • Managing queue from the web console
  • Using the command line interface
  1. RabbitMQ and the REST API
  • REST API features
  • Accessing statistics
  • vhost and user provisioning
  1. Monitoring and securing RabbitMQ
  • Message durability and Message acknowledgement
  • Memory usage and process limits
  • Setting up SSL

 

 

Course Customization Options

To request a customized training for this course, please contact us to arrange.

Inquire now

Best selling courses

Duration 3 days – 21 hrs   Overview    This Portfolio Management Training Course is designed to provide banking professionals with a comprehensive understanding of how to effectively manage investment...

Duration 2 days – 14 hrs   Overview   This comprehensive Planning and Forecasting Training Course is designed to empower professionals with the tools and techniques necessary to accurately predict...

Duration 2 days – 14 hrs   Overview   This hands-on course provides an introduction to Splunk, a powerful platform for searching, monitoring, and analyzing machine-generated data. The training focuses...

Duration 3 days – 21 hrs   Overview.   This course is designed for fresh graduates aspiring to build a career in Data Science. It introduces the fundamentals of data...

Among the most popular and widely implemented NoSQL databases is MongoDB. Its scalability, robustness, and flexibility have made it extremely popular among the Fortune 500 and Global 500 companies who use it to implement a variety of activities including social communications, analytics, content management, archiving, and other activities.

PROGRAMMING / CODING

ASP.NET

SP.NET is a framework for developing dynamic web applications. It supports languages like VB.Net, C#, Jscript.Net, etc. The programming logic and content can be developed separately in Microsoft Asp.Net.

CYBER SECURITY

Physical Security

Duration 3 days – 21 hrs   Overview   This course provides a comprehensive introduction to physical security principles, policies, technologies, and practices. It covers methods to assess physical risks,...

Duration 5 days – 35 hrs   Overview   This intensive 5-day course is designed for professionals seeking advanced-level skills in Microsoft SQL Server’s BI stack: SSRS (SQL Server Reporting...

We use cookies on our website to personalize your experience by storing your preferences and recognizing repeat visits. By clicking “Accept”, you agree to the use of all cookies. You can also select “Cookie Settings” to adjust your preferences and provide more specific consent. Cookie Policy