Entity-Component-System Architecture in Kubernetes
8 comments
·February 7, 2025blixt
I usually explained ECS to people unfamiliar with the concept more like a relational database. It's not a perfect 1:1, but I feel like it resonates well if you think of components as highly normalized tables, and entities being a table of optional foreign keys to all the other tables. Then systems are queries that pick and update the entity rows joined specifically with the component tables you care about.
When you get deeper into ECS it usually ends up being quite similar, with some components in a system being optional (OUTER JOIN) and the various ways components can be stored for efficient retrieval / updates (indexing in databases).
fancl20
I feel like there is a part more difficult to be captured in technical definition. ECS designs usually pay more attention to seperate data and logic because systems are constantly updating data (world state) regardless there is an event or not. In the case of k8s the specs create a target world state and kubelet/controller constantly update the current world state (status) so a control system can be created.
ramon156
Website isn't very mobile-friendly. Then again i have no idea how to make a horizontal table mobiley
Normal_gaussian
The roughest way is to add "display:block; overflow-x:scroll" to the table or an element containing the table. "display:block" wouldn't be needed for a block element like div of course.
For ideal presentation you can very quickly end up in a situation where you need to use media queries and set particular styles for particular situations.
In this case I would also remove the border from the table element (the cells have a border).
fancl20
Thanks. Fixed table scrolling.
(not sure which border from the table element. will try to figue out later)
Update: also fixed. Thanks again :)
globular-toast
If the author can't even be bothered to write up a single page of text, why would I bother to read it? He might as well just post the LLM prompt and let me copy that into an LLM of my choosing.
ej1
[flagged]
I appreciate that it has an LLM disclaimer at the top, but I don't see anything actually interesting here. "This one way of looking at software systems (ECS) is kind of like some parts of kubernetes". Not very substantive.