Building Communication Services Using RabbitMQ and Node.JS

Inquire now

Building Communication Services Using RabbitMQ and Node.js is a practical, hands-on training program designed to help developers build reliable, scalable, and asynchronous communication services using RabbitMQ and Node.js. The course introduces message-oriented architecture and demonstrates how messaging systems can enable efficient communication between applications, services, and distributed systems.

 

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

CLOUD COMPUTING

Terraform

Terraform is a configuration orchestration tool for building and managing infrastructure on cloud & data centers. The course is instructor-led, live training (onsite or remote), and is designed for Engineers with little or no previous experience managing infrastructure. The course talks about in-depth Terraform syntax and techniques used to automate the setup and deployment of infrastructure.

Duration  3 days – 21 hrs    Overview    The ITIL Leadership – Digital and IT Strategy training course is designed for senior IT professionals, managers, and leaders who seek to navigate the complex landscape of digital transformation and IT strategy. This course focuses on providing strategic insights, leadership skills, and practical approaches for aligning...

PROGRAMMING / CODING

Spring Architecture and Design

Spring Cloud is a platform for building Java-based distributed systems and microservices. Building complex enterprise applications is challenging. Any change made to a part of the systems could trigger the need for changing the design of the entire system. By the end of this training, participants will have a solid understanding of Service-Oriented Architecture (SOA) and Microservice Architecture as well practical experience using Spring Cloud and related Spring technologies for rapidly developing their own cloud-scale, cloud-ready microservices.

BUSINESS INTELLIGENCE

Dax

Duration 5 days – 35 hrs   Overview The DAX (Data Analysis Expressions) Training Course is designed to provide participants with a comprehensive understanding of DAX, the powerful formula language used in Power BI, Excel, and SQL Server Analysis Services. This course covers the essential concepts, functions, and techniques required to create advanced calculations and...

OPERATING SYSTEMS

Linux Fundamentals

Linux Fundamental provides students a thorough introduction to Linux™ for those who are new to the Linux environment. Delegates will learn how to manage files and directories, utilize the vi editor, work with Linux security mechanisms to protect files and programs, work with the Linux shell to control the flow and processing of data through pipelines, design and write shell programs of moderate complexity, and manage multiple concurrent processes in order to achieve higher utilization of Linux. They will learn how to perform basic operations on the system and how quickly to solve problem.

PROGRAMMING / CODING

Google Apps Script

The Google Apps Script training course give you a detailed knowledge on coding like Automating data calculation, Fetching and sending data from third party software like Trello & Salesforce, connecting different sheets, Documents and other tools, Setting a trigger based on an event. This course is ideal for someone who use google sheets and have no coding background.

This workshop teaches the participants how to design and develop server side applications using the event-driven, non-blocking model framework Node.js. This program inducts the participant in some of the advanced concepts of the JavaScript language so that the participant is well equipped to build end-to-end application using JavaScript.

Duration: 3 days – 21 hrs   Overview This training course is designed to provide participants with a comprehensive understanding of Portfolio Management and Contract Management, focusing on best practices, tools, and techniques. The course covers the strategic alignment of projects within a portfolio, effective management of contracts, risk management, and optimization of resources to...

// BG EARTH WHEN NOT PLAYING

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