Bee agents
The bees are local or remote processes connected to hive servers
Bee agents are specialized processes that execute specific tasks. They are connected to a hive node which manages their configuration and controls the routing of messages between them.
Bee agents interact with external services to gather and transport data in the form of messages to the hive node for further processing by other bees connected to the same hive. These agents serve as intermediaries, carrying messages between the external services and the hive node.
Communication between bee agents is facilitated by the hive node, which routes messages between the bees. These messages may contain data received from external services or the result of data processing performed by the bees.
The hive node plays a critical role in the functioning of the bee network, ensuring that messages are efficiently routed to the relevant bees for processing. Hive server is explained in hive server section

A bee needs to be configured in order to know how to do its job. The configuration is stored in the hive node. Every time the configuration changes it is synchronized to the bee to allow it to be reconfigured.

Classification of Bee agents
While all bee agents share a common communication model and operate under the coordination of a hive server, they differ in how they interact with external systems and how they execute logic within the platform. This distinction allows BeeOS to support a wide range of integration and processing scenarios while keeping a consistent and scalable architecture.
Bee agents come in various types, each designed to perform specific roles within the platform. Some agents focus on integrating with external systems and translating communication protocols, while others execute workloads such as running code scripts, processing data, or managing containerized applications. Despite their different responsibilities, all bee agents share a common foundation: they connect to a central hive server, which provides configuration, provisioning, and a communication bus that enables inter-agent messaging and coordination.
Bee agents can be broadly categorized into two main groups: Connector bees and Worker bees.
Multi-instance bees
A bee can have multiple instances of itself. This allows for load balancing among different instances that work together to share the workload. In BeeOS, this concept is called a 'bee multi-instance'.
For example, if an HTTP server bee is receiving a large number of requests, load can be balanced by creating two instances of the HTTP server bee to process and send information to the hive (reducing its workload by half). When a bee has multiple instances forming a group of bees, they are seen as a single bee by the hive server, which divides its effort among the instances.
If a bee is an HTTP client that publishes messages from the hive and has multiple bee instances, the hive balances messages between all available instances.

A multi-instance bee not only serves to balance loads, but can also be used for high availability of bees if needed, similar to clustering on the hive server level.
Last updated