|
1 | 1 | ---
|
2 |
| -title: Overview of Event Hubs emulator |
3 |
| -description: This article provides an overview of Azure Event Hubs emulator. |
| 2 | +title: Overview of the Azure Event Hubs emulator |
| 3 | +description: This article describes benefits, features, limitations, and other overview information for the Azure Event Hubs emulator. |
4 | 4 | ms.topic: article
|
5 | 5 | ms.author: Saglodha
|
6 | 6 | ms.date: 05/06/2024
|
7 | 7 | ---
|
8 | 8 |
|
9 | 9 |
|
10 |
| -# Overview of Event Hubs emulator |
| 10 | +# Overview of the Azure Event Hubs emulator |
11 | 11 |
|
12 |
| -Azure Event Hubs emulator is designed to offer a local development experience for Azure Event Hubs, enabling you to develop and test code against our services in isolation, free from cloud interference. |
| 12 | +The Azure Event Hubs emulator offers a local development experience for the Event Hubs service. You can use the emulator to develop and test code against the service in isolation, free from cloud interference. |
13 | 13 |
|
14 |
| -### Benefits of emulator |
| 14 | +## Benefits |
15 | 15 |
|
16 | 16 | The primary advantages of using the emulator are:
|
17 | 17 |
|
18 |
| -- Local Development: The Emulator provides a local development experience, enabling developers to work offline and avoid network latency. |
19 |
| -- Cost-Efficiency: With the Emulator, developers can test their applications without incurring any cloud usage costs. |
20 |
| -- Isolated Testing Environment: You can test your code in isolation, ensuring that the tests aren't impacted by other activities in the cloud. |
21 |
| -- Optimized Inner Development loop: Developers can use the Emulator to quickly prototype and test their applications before deploying them to the cloud. |
| 18 | +- **Local development**: The emulator provides a local development experience, so you can work offline and avoid network latency. |
| 19 | +- **Cost efficiency**: With the emulator, you can test your applications without incurring any cloud usage costs. |
| 20 | +- **Isolated testing environment**: You can test your code in isolation, to help ensure that other activities in the cloud don't affect the tests. |
| 21 | +- **Optimized inner development loop**: You can use the emulator to quickly prototype and test your applications before deploying them to the cloud. |
22 | 22 |
|
23 |
| ->[!NOTE] |
24 |
| -> Event Hubs emulator is licensed under End user License Agreement. For more details, refer [here.](https://github.com/Azure/azure-event-hubs-emulator-installer/blob/main/EMULATOR_EULA.md) |
| 23 | +> [!NOTE] |
| 24 | +> The Event Hubs emulator is available under the [Microsoft Software License Terms](https://github.com/Azure/azure-event-hubs-emulator-installer/blob/main/EMULATOR_EULA.md). |
25 | 25 |
|
26 |
| -### Features of Emulator |
| 26 | +## Features |
27 | 27 |
|
28 |
| -This section highlights different features provided with Emulator: |
| 28 | +The emulator provides these features: |
29 | 29 |
|
30 |
| -- Containerized Deployment: The Emulator runs as a Docker container (Linux-based). |
31 |
| -- Cross-Platform Compatibility: It can be used on any platform, including Windows, macOS, and Linux. |
32 |
| -- Managing Entity Configuration: Users can manage number of event hubs, partition count etc. using JSON supplied Configuration. |
33 |
| -- Streaming Support: The Emulator supports streaming messages using AMQP (Advanced Message Queuing Protocol). |
34 |
| -- Observability: It provides observability features, including console and file logging. |
| 30 | +- **Containerized deployment**: It runs as a Docker container (Linux based). |
| 31 | +- **Cross-platform compatibility**: You can use it on any platform, including Windows, macOS, and Linux. |
| 32 | +- **Configurability**: You can manage the number of event hubs, partitions, and other entities by using the JSON supplied configuration. |
| 33 | +- **Streaming support**: It supports streaming messages by using the Advanced Message Queuing Protocol (AMQP). |
| 34 | +- **Observability**: It provides observability features, including console and file logging. |
35 | 35 |
|
36 |
| -### Known Limitations |
| 36 | +## Known limitations |
37 | 37 |
|
38 |
| -Current version of emulator has the following limitations: |
| 38 | +The current version of the emulator has the following limitations: |
39 | 39 |
|
40 |
| -- It can't stream messages using Kafka protocol. |
41 |
| -- It doesn't support on fly management operations using Client side SDK. |
| 40 | +- It can't stream messages by using the Kafka protocol. |
| 41 | +- It doesn't support on-the-fly management operations through a client-side SDK. |
42 | 42 |
|
43 | 43 | > [!NOTE]
|
44 |
| -> In case of container restart,data and entities are not persisted in emulator. |
| 44 | +> After a container restart, data and entities don't persist in the emulator. |
| 45 | +
|
| 46 | +## Differences from the cloud service |
45 | 47 |
|
46 |
| -### Difference between emulator and Event hubs cloud service? |
| 48 | +Because the Event Hubs emulator is meant only for development and test purposes, there are functional differences between the emulator and the cloud service. |
47 | 49 |
|
48 |
| -Since Emulator is only meant for development and test purpose, there are functional differences between emulator and cloud service. Here are the high-level features that aren't supported in the Event Hubs emulator: |
| 50 | +The emulator doesn't support these high-level features: |
49 | 51 |
|
50 |
| -- Azure Goodness – VNet Integration/ Microsoft Entra ID integration/ Activity Logs/ UI Portal etc. |
51 |
| -- Event Hubs Capture |
52 |
| -- Resource Governance features like Application Groups |
53 |
| -- Auto scale capabilities |
54 |
| -- Geo DR capabilities |
55 |
| -- Schema Registry Integration. |
56 |
| -- Visual Metrics/ Alerts |
| 52 | +- Azure features like virtual network integration, Microsoft Entra ID integration, activity logs, and a UI portal |
| 53 | +- Event Hubs capture |
| 54 | +- Resource governance features like application groups |
| 55 | +- Autoscale capabilities |
| 56 | +- Geo-disaster recovery capabilities |
| 57 | +- Schema registry integration |
| 58 | +- Visual metrics and alerts |
57 | 59 |
|
58 |
| ->[!CAUTION] |
59 |
| ->The emulator is intended solely for development and testing scenarios.Any kind of Production use is strictly discouraged. There is no official support provided for emulator. |
60 |
| -> Any issues/suggestions should be reported via GitHub issues on emulator Installer [repository.](https://github.com/Azure/azure-event-hubs-emulator-installer/issues). |
| 60 | +> [!NOTE] |
| 61 | +> The emulator is intended solely for development and test scenarios. We discourage any kind of production use. We don't provide any official support for the emulator. |
| 62 | +> |
| 63 | +> Report any problems or suggestions in the emulator's [GitHub installer repository](https://github.com/Azure/azure-event-hubs-emulator-installer/issues). |
61 | 64 |
|
62 |
| -### Managing Quotas and Configuration |
| 65 | +## Usage quotas |
63 | 66 |
|
64 |
| -Like our cloud service, Azure Event Hubs emulator provides below quotas for usage: |
| 67 | +Like the Event Hubs cloud service, the emulator provides the following quotas for usage: |
65 | 68 |
|
66 |
| -| Property| Value| User Configurable within limits |
67 |
| -| ----|----|----| |
68 |
| -Number of supported namespaces| 1 |No| |
69 |
| -Maximum number of Event Hubs within namespace| 10| Yes| |
70 |
| -Maximum number of consumer groups within event hub| 20 |Yes| |
71 |
| -Maximum number of partitions in event hub |32 |Yes |
72 |
| -Maximum size of event being published to event hub (batch/nonbatch) |1 MB |No |
73 |
| -Minimum event retention time | 1 hr | No |
| 69 | +| Property| Value| User configurable within limits |
| 70 | +| ----|----|---- |
| 71 | +| Number of supported namespaces| 1 |No |
| 72 | +| Maximum number of event hubs in a namespace| 10| Yes |
| 73 | +| Maximum number of consumer groups in an event hub| 20 |Yes |
| 74 | +| Maximum number of partitions in an event hub |32 |Yes |
| 75 | +| Maximum size of an event being published to an event hub (batch/nonbatch) |1 MB |No |
| 76 | +| Minimum event retention time | 1 h | No |
74 | 77 |
|
| 78 | +## Quota configuration changes |
75 | 79 |
|
76 |
| -### Making configuration changes |
| 80 | +By default, the emulator runs with the [config.json](https://github.com/Azure/azure-event-hubs-emulator-installer/blob/main/EventHub-Emulator/Config/Config.json) configuration file. You can configure the quotas associated with Event Hubs by editing this file in the following ways, based on your needs: |
77 | 81 |
|
78 |
| -You could use config.json to configure quotas associated with Event Hubs. By default, emulator would run with following [configuration](https://github.com/Azure/azure-event-hubs-emulator-installer/blob/main/EventHub-Emulator/Config/Config.json). Under the configuration file, you could make following edits as per needs: |
| 82 | +- **Entities**: You can add more entities (event hubs), with a customized number of partitions and consumer groups, in accordance with supported quotas. |
| 83 | +- **Logging**: The emulator supports logging on a console, in a file, or both. You can choose according to your personal preference. |
79 | 84 |
|
80 |
| -- **Entities**: You could add more entities (event hubs), with customized partition count and consumer groups count as per supported quotas. |
81 |
| -- **Logging**: Emulator supports Logging in file or console or both. You could set as per your personal preference. |
| 85 | +> [!IMPORTANT] |
| 86 | +> You must supply any changes in JSON configuration before you run the emulator. Changes aren't honored on the fly. For changes to take effect, you must restart the container. |
| 87 | +> |
| 88 | +> You can't rename the preset namespace (`name`) in the configuration file. |
82 | 89 |
|
83 |
| ->[!IMPORTANT] |
84 |
| -> Any changes in JSON configuration must be supplied before running emulator and isn't honoured on fly. For subsequent changes to take effect, container restart is required. |
85 |
| ->You cannot rename the preset namespace ("name") in configuration file. |
| 90 | +## Logs for debugging |
86 | 91 |
|
87 |
| -### Drill through available logs |
88 |
| -During testing phase, logs help in debugging unexpected failures. For this reason, Emulator supports logging in forms of Console and File. Follow below steps to review the logs: |
89 |
| -- **Console Logs**: On docker desktop UI, click on the container name to open Console Logs. |
90 |
| -- **File Logs**: These would be present at /home/app/EmulatorLogs within the container. |
| 92 | +During testing, console or file logs help you debug unexpected failures. To review the logs: |
91 | 93 |
|
92 |
| -### Next Steps |
| 94 | +- **Console logs**: On the Docker desktop UI, select the container name. |
| 95 | +- **File logs**: In the container, go to */home/app/EmulatorLogs*. |
93 | 96 |
|
94 |
| -For instructions on how to develop locally with Event Hubs emulator, see [test locally with event hubs emulator](test-locally-with-event-hub-emulator.md). |
| 97 | +## Related content |
95 | 98 |
|
| 99 | +[Test locally by using the Azure Event Hubs emulator](test-locally-with-event-hub-emulator.md) |
0 commit comments