You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@eventmesh.apache.org by "qqeasonchen (via GitHub)" <gi...@apache.org> on 2026/08/18 06:24:19 UTC
[I] [Architecture Review][P0] Split eventmesh-runtime into engine/bootstrap/http/state/meta (eventmesh)
qqeasonchen opened a new issue, #5297:
URL: https://github.com/apache/eventmesh/issues/5297
## Problem
`eventmesh-runtime` carries too many responsibilities and couples the core delivery path too tightly to infrastructure. A single module currently bundles:
- core delivery logic (`UniRuntime`, `UniIngressService`, `ReliableDispatcher`);
- HTTP / SSE / WebSocket servers;
- Nacos cluster metadata;
- RocksDB offset store;
- protocol plugin assembly;
- Connector scheduling;
- session / agent capabilities.
For example, `EventMeshApplication` directly creates `NacosMetaStore`, `RocksDBOffsetStore`, and the HTTP/WS servers, then assembles the Runtime. `eventmesh-runtime/build.gradle` also depends directly on Netty, RocksDB, Nacos, and concrete protocol implementations.
## Risks
- The Runtime core cannot be embedded, unit-tested, or swapped easily.
- Any protocol or infrastructure change can ripple into the core delivery path.
- The module's claimed "minimal dependency surface" does not match its real dependencies.
## Proposed direction
Split into:
```
eventmesh-runtime-engine core delivery: UniRuntime / UniIngressService
eventmesh-runtime-bootstrap configuration reading + assembly only
eventmesh-runtime-http HTTP / SSE / WS servers
eventmesh-runtime-state-rocksdb
eventmesh-runtime-meta-nacos
```
- `UniRuntime` / `UniIngressService` depend only on interfaces: `OffsetStore`, `MetaStore`, `PushChannel`, `MeshStoragePlugin`.
- `EventMeshApplication` only reads configuration and wires components; it must not host core business decisions.
## Acceptance criteria
- [ ] `UniRuntime` / `UniIngressService` have no compile-time dependency on Netty, RocksDB, Nacos, or a concrete protocol plugin.
- [ ] `eventmesh-runtime-engine` can be embedded in a test without starting an HTTP server or Meta store.
- [ ] Bootstrap and engine are separate modules; bootstrap has no delivery logic.
- [ ] Dependency guardrails (see the P2 architecture-check item) pass.
---
Part of the [Architecture Review](https://github.com/apache/eventmesh/issues/5296).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@eventmesh.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@eventmesh.apache.org
For additional commands, e-mail: issues-help@eventmesh.apache.org
Re: [I] [Architecture Review][P0] Decouple eventmesh-runtime responsibilities via internal packages (eventmesh)
Posted by "qqeasonchen (via GitHub)" <gi...@apache.org>.
qqeasonchen commented on issue #5297:
URL: https://github.com/apache/eventmesh/issues/5297#issuecomment-5491501730
Closed by PR #5321 (merged as 58a0c09d). The runtime.tcp / runtime.tcp.internal split, 5 new ArchUnit rules, 17 package-info.java files, and dead SPI removal are all in. Verified by 7/7 CI green and local :check on eventmesh-common / eventmesh-runtime / eventmesh-architecture-guard.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@eventmesh.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@eventmesh.apache.org
For additional commands, e-mail: issues-help@eventmesh.apache.org
Re: [I] [Architecture Review][P0] Decouple eventmesh-runtime responsibilities via internal packages (eventmesh)
Posted by "qqeasonchen (via GitHub)" <gi...@apache.org>.
qqeasonchen closed issue #5297: [Architecture Review][P0] Decouple eventmesh-runtime responsibilities via internal packages
URL: https://github.com/apache/eventmesh/issues/5297
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@eventmesh.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@eventmesh.apache.org
For additional commands, e-mail: issues-help@eventmesh.apache.org