Developing Distributed Applications with C# and ZeroMQ
1h 1mIntermediate2017-08-09
Authors

Paul Blasucci
Enthusiast of multiparadigm and polygot engineering
Course details
Distributed applications run on multiple computers on the same network at once—which means they often have to run on multiple operating systems and integrate with the cloud. But you don't need a lot of middleware or advanced configuration to build them. Today, it's possible to build robust software with lightweight tools. Enter ZeroMQ, a flexible, open-source messaging stack. ZeroMQ can be run on Windows, OS X, and Linux, and can be implemented with C, C++, C#, Java, Python, and more. Learn how to use ZeroMQ to simplify development of distributed .NET applications. Follow along with this project-focused course, as instructor Paul Blasucci shows how to build a simple group messaging app—with one-way and two-way communication channels and direct messaging—using ZeroMQ and C#.
Learning objectives
Building a single-file application
Two-way messaging
Heartbeating to detect disconnects
Broadcasting messages using publish/subscribe
Combining one-way and two-way messaging channels
Troubleshooting your app
Designing and evolving protocols
Learning objectives
Building a single-file application
Two-way messaging
Heartbeating to detect disconnects
Broadcasting messages using publish/subscribe
Combining one-way and two-way messaging channels
Troubleshooting your app
Designing and evolving protocols
Skills covered
ZeroMQVisual StudioTips, Tricks, & TechniquesSoftware Development ToolsProgramming LanguagesOpen SourceMicrosoftSoftware Development
Concepts
0. Introduction
- 01 - Welcome
- 02 - What you should know
- 03 - How to use the exercise files
1. Building a Chat System
- 04 - Overview of ZeroMQ
- 05 - Primary concepts
- 06 - Warm-up exercise - Single-file application
2. Requests and Replies
- 07 - Sync vs. async two-way messaging
- 08 - Heartbeating keeping track of peers
- 09 - Exercise 1a - Setting up the server
- 10 - Exercise 1b - Setting up the client
3. Broadcasting Messages
- 11 - Topically filtered one-way messaging
- 12 - Notifications sharing information
- 13 - Exercise 2a - Publishing arrival departure notices
- 14 - Exercise 2b - Subscribing to arrival departure notices
4. Combining Channels
- 15 - Proxies
- 16 - Polling
- 17 - Slipping one-way messages into a two-way channel
- 18 - Exercise 3a - Extending the server to relay group messages
- 19 - Exercise 3b - Extending the client to send group messages
5. Sidebar - Troubleshooting
- 20 - Basic checklist for when things aren't working
- 21 - Extra exercise - Implementing a socket monitor
6. Extending Protocols
- 22 - Solving problems with messages versus adding new channels
- 23 - Exercise 4 - Extending the client and server to support direct messages
Conclusion
- 24 - Going further
Related courses
- Building Scalable Microservices with TypeScript and Node.js
- Microsoft Office Add-Ins for Developers
- Discovering .NET Aspire
- Google Cloud Platform (GCP) Essential Training for Developers
- Azure Service Fabric for Developers
- Scaling Azure Deployments with Bicep
- Blockchain Programming in iOS Using Swift
- GitHub Foundations Cert Prep by Microsoft Press
Related learn paths
- Advancing Your Azure Developer Skills: Exploring Complex Application Development
- Build an iOS Application
- Developing and Delivering Software with Docker
- Prepare for the Azure Developer Associate (AZ-204) Certification
- Take Better Photos with Your Phone
- Become a Back-End Web Developer
- Getting Started in Blockchain
- Become a Blockchain Developer