Sure, you can do this - just spin up multiple KCL Worker instances, each pointing at a different stream (with their own configuration, etc). Each Worker instance should manage its own ShardConsumer threads independently of other Workers.
However, a more common/recommended practice would be to have each Worker be run in its own process - this provides more compartmentalization, which will improve:
- failure cases - prevent one failure from impacting all Workers
- deployments/updates - more control over number of Workers down for updates at once
- hardware management - one Worker per process is easier to distribute across multiple small hosts, especially as your processing requirements grow
- development complexity - while KCL supports multiple Workers in one process, it's much easier to develop for each Worker as its own process