Skip to content

Part kinds

Flozu has 28 kinds of part. A kind says what a part does: how traffic moves through it and which limits it can have. It doesn’t decide how the part looks, since any part can show any drawing.

A few kinds behave differently from the rest:

  • Rate limiters, firewalls, gateways, sign-in and AI models can have a limit, and turn away what’s past it.
  • Queues and topics hold what’s waiting, and lines into and out of them start as messages.
  • Schedulers start traffic by the clock, so their lines start as messages and a scenario’s busier day doesn’t scale them.
  • People, client apps and schedulers set the pace with the lines they send, so they have no limits of their own.

“Usually followed by” is what Flozu suggests when you drop a line from that part on empty canvas.

People and apps

KindKeyWhat it isUsually followed by
PersonPSomeone who uses the system, such as a customer, an admin or a support agent.Client app, CDN, Gateway
Client appCAn app people use: a website, a mobile app, a desktop app or a device.Gateway, CDN, DNS, Sign-in, Load balancer, Service

The way in

KindKeyWhat it isUsually followed by
DNSUTurns names like shop.example.com into the addresses traffic is sent to.CDN, Firewall, Load balancer, Gateway
CDNEServes content from close to people and absorbs traffic before it reaches you.Gateway, Firewall, Load balancer, Storage, Service
FirewallVLets allowed traffic through and blocks the rest, such as attacks and bots.Gateway, Load balancer, Service
GatewayGThe front door for requests. It checks who's calling and routes each request.Service, Sign-in, Rate limiter, Load balancer, Function
Sign-inIChecks who people are and hands out the tokens other parts trust.Database, Cache, Service
Load balancerLShares traffic between copies of a service so none of them gets swamped.Service, Function, Gateway
Rate limiterRLets a set amount through each second and turns the rest away.Service, Gateway, Function

Compute

KindKeyWhat it isUsually followed by
ServiceSA running program that answers requests, such as an API or a web server.Database, Cache, Queue, Topic, Search, Service
WorkerWWorks through jobs in the background, usually taking them from a queue.Database, Storage, Service, AI model, Data warehouse
FunctionFCode that runs when it's called and scales up and down by itself.Database, Storage, Queue, AI model
SchedulerJStarts jobs on a timetable, such as a nightly export or a reminder every hour.Worker, Queue, Function, Service
AI modelAA language or machine learning model that the system calls.Service, Database, Storage

Messaging

KindKeyWhat it isUsually followed by
QueueQHolds work in line until something is free to take it. Each item goes to one taker.Worker, Function, Service
TopicTBroadcasts each event to every part that subscribes.Worker, Function, Service, Queue, Data warehouse

Data

KindKeyWhat it isUsually followed by
DatabaseDKeeps the system's records, such as orders, customers and stock.Database, Topic, Search, Data warehouse, Service
CacheKKeeps popular data in memory so it can be read quickly.Database, Service
StorageBHolds files such as images, exports and backups.Function, CDN, Worker, Data warehouse
Data warehouseOGathers data from across the system so people can report on it and analyse it.Client app, AI model, Storage

Inside a service

KindKeyWhat it isUsually followed by
EndpointYA way into a service that others call, such as an HTTP route, an RPC method or an event handler.Module, Service, Code file, Function
ModuleMA part of a service's code with one job, such as a package or a folder.Module, Code file, Table, Library, Interface
Code fileNoneOne source file, named by its path.Code file, Interface, Library, Table
InterfaceNoneA contract code depends on rather than a thing that runs, such as a TypeScript interface or an API spec.Code file, Module
LibraryNoneA package the code is built on, such as stripe-node or a Go module.Library
TableNoneA table, collection or index inside a store, where a service keeps its records.Table

Anything else

KindKeyWhat it isUsually followed by
Custom partXAnything that doesn't fit another kind. It behaves like a service.Service, Database, Queue