KCloud-Platform-IoT: a multi-tenant IoT cloud on Spring Boot 4
KCloud-Platform-IoT(老寇IoT云平台)是一个企业级单体架构和微服务架构的IoT云平台。采用DDD(领域驱动设计)思想,基于Spring Boot 4.1.1、Spring Cloud 2025.1.3、Spring Cloud Alibaba 2025.1.0.0 最新版本开发的云服务多租户IoT平台,家人们,点个star!拜托啦~
At a glance
- What is it?
- KCloud-Platform-IoT is a Java IoT cloud platform written with Spring Boot 4.1.1, Spring Cloud 2025.1.3 and Spring Cloud Alibaba 2025.1.0.0, using the COLA application framework and DDD layering. It ships the usual platform furniture, from RBAC and a data source console to service discovery and distributed locking, and it is aimed at teams that want a base framework rather than a device library.
- Who is it for?
- KCloud-Platform-IoT suits a team that wants a Spring Cloud and COLA based starting point for a multi-tenant IoT product and is prepared to own the device protocol work and the front end, and it suits a team looking for a working MQTT or Modbus device stack less well, since the README documents platform services and screens rather than protocol implementations.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Java, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A platform for complex business, not a device protocol library
KCloud-Platform-IoT, whose Chinese name refers to an IoT cloud platform, is a Java project that presents itself as an enterprise platform for both a monolithic and a microservice architecture. The stated positioning is explicit about the audience: it suits monolithic IoT projects with complex business logic, and it suits medium to large microservice IoT projects with complex business logic. That pairing of adjectives is a warning as much as a claim. The emphasis is on business complexity, and the device side of IoT is not what the documentation spends its words on.
The stack is modern by version number. The README names Spring Boot 4.1.1, Spring Cloud 2025.1.3 and Spring Cloud Alibaba 2025.1.0.0, with badge values for Spring Framework 7.0.9 and Spring Security 7.1.1, built with Maven 3.9.11 and targeting GraalVM 25.0.0. Architecture follows the Alibaba COLA application framework and DDD ideas, and the API style is RESTful.
The feature inventory reads like a platform checklist. Service registration and discovery, a configuration center, gray routing, rate limiting, circuit breaking and degradation, monitoring and alerting, multiple data sources, highlighted search, distributed task scheduling, distributed tracing, distributed caching, distributed transactions, distributed storage and distributed locks are all listed as present. On top of that sits RBAC, with modules for the home page, system management, IoT management, system monitoring and data analysis.
The project has been under development since 2022-06-15 according to the project notes, and the author describes the motivation as learning microservice architecture and applying it in production, consolidating what was learned to build projects faster, and copying code to raise production efficiency. That is an honest framing of what a scaffold repository is.
The module layout mirrors the COLA layers
The top-level entries show how the code is divided. laokou-cloud, laokou-service, laokou-common and laokou-tool form the Java core, which matches the classic arrangement of a cloud entry point, business services, shared components and tooling. The remaining directories are the parts of a platform that do not fit the Java module story: ui and bigScreen for front ends, KEdge-Gateway and edgeGatewayUI for an edge side, KAudio-Video for a media component, and doc for documentation.
The supporting files show a project with real engineering discipline behind it. There is a checkstyle directory and a spotbugs directory for static analysis, a pom.xml at the root for the Maven reactor, a lombok.config, a renovate.json for dependency update automation, and an .editorconfig. The repository also carries a CLA.adoc, a CODE_OF_CONDUCT.md, a CONTRIBUTING.adoc and a SECURITY.md, so the contribution process is written down rather than implied. CI is configured for three toolchains, with workflow badges for Maven, Node.js and Go, which matches the presence of the Java core and the JavaScript front ends.
The directory names .agent, .claude, .codex and .kiro are worth a note. They are assistant and editor configuration directories checked into the repository, and openspec sits alongside them. That tells you the project is developed with AI coding tools in the loop, which has consequences for how you should read the code and how much of it you should trust without review. The .deepsource.toml file and the CodeFactor, Codacy, DeepSource and Codecov badges point to the same expectation, that the code is checked by automated analysis services as well as by people.
What the platform claims to have already wired up
The infrastructure list is the part that determines whether this is useful to you, so it is worth reading closely rather than skimming. A configuration center plus service discovery and gray routing means the microservices can be reconfigured and canary traffic routed without a rebuild. Rate limiting, circuit breaking and degradation cover the failure modes that matter once one service starts to falter. Distributed tracing and monitoring with alerting give you the visibility to know which service is faltering in the first place.
The data layer is where the list gets interesting for IoT specifically. The repository topics name elasticsearch, influxdb, mongodb, redis, tdengine and timescaledb alongside kafka, mqtt, modbus, grpc, netty, nacos, mybatis, mybatis-plus and spring-security. Read as a group, that is a time-series story with more than one option, a document store, a cache, a search engine, a message broker and several device transport protocols, which is a lot of infrastructure to run.
The feature screens listed under the function introduction are the administrative side, and they are conventional: login by username and password, email, phone number or authorization code, management of menus, departments, roles and users with permission assignment, operation, notification and login logs with export, a thing model for devices, product categories, internationalized menus, a data dictionary, data source management and session management. The thing model screen and the data source console are the two that point at actual IoT work, and everything else is the platform scaffolding you would otherwise write yourself.
Deployment options and the hardware the README asks for
There are no installation commands in the README, so the documented path to running the platform is the deployment mode rather than a package manager step. The README states that the project supports Shell, Docker and Kubernetes deployment, and that it supports GraalVM and virtual threads. A native image build with GraalVM and a lightweight concurrency model in the same project is an unusual combination, and both are things to verify in your own environment rather than assume.
The server sizing table is unusually specific. For development it asks for 32G of memory and a 512G disk, with no further remark. For production it lists 16G of memory and a 40G disk, with the instruction to build a cluster. That production figure is smaller than the development one, which only makes sense if the production topology is several smaller machines rather than one box, and it tells you the platform assumes a clustered deployment rather than a single-node one.
The README also publishes two live environments with a tenant and a shared administrator account, one described as the online experience and one as development testing, plus a note that the online demo is served outside the country and that visitors from overseas should expect network latency. Online documentation is published through a GitHub Pages site, with DeepWiki and OpenDeepWiki mirrors listed, and a development plan is linked as a spreadsheet that requires a login.
Where this project will not help you
The clearest gap is device connectivity. MQTT and Modbus appear in the repository topics, and the functional list includes a thing model for devices, but the README does not describe a protocol stack, a device onboarding flow, a shadow or topic design, or how a device identity maps to a tenant. If your blocker is getting a fleet of sensors talking to your backend, this repository does not promise to solve it.
The second gap is the front end. The screens listed are administration screens, and the ui, bigScreen and edgeGatewayUI directories suggest custom interfaces are expected from your own team rather than supplied as a product. The value of a base framework is in the back end, where the repetitive work lives, and the front-end work is still ahead of you.
The third gap is documentation depth. The README is a project presentation, not a manual. The architectural diagrams are images, the API documentation appears only as a screenshot of a screen, the development plan requires a login, and the repository's own naming uses the Chinese words for user, department and role in the domain model. If your engineers do not read Chinese, or if you need structured API reference, a Swagger file, or a data model document, the sources for that are not in this repository.
One more practical point concerns the project notes themselves. The author's opening note says the platform still has many shortcomings while also insisting on its brilliance. Treat that as a signal about the documentation tone, and judge the code, the tests and the issue history on their own terms instead.
Licence files, mirrors and a steady release line
The licence field for the project names Apache-2.0, and the top level carries a LICENSE file, a separate LICENSE-MIT file and a NOTICE file. Having two licence files alongside a NOTICE is a pattern that comes from redistributed third-party components, and it means the terms that apply to a given file can differ. If you are building a product on this code, read which of the two applies to which part rather than assuming one answer, and note that the presence of MIT alongside Apache-2.0 is the kind of combination that a compliance checklist will ask about.
Release activity is regular. Version 4.0.2 was published on 2026-04-12, 4.0.3 on 2026-09-06 and 4.0.4 on 2026-09-27, and the last push was on 2026-10-20. The default branch is master, and the repository also keeps an archive directory for files that have moved out of the active tree.
Distribution runs through several networks, which is common for projects with a Chinese audience. Alongside GitHub there are mirrors on Gitee under the laokouyun organisation, on GitCode and on AtomGit, and the README links a Gitee star badge alongside the GitHub one. A mirror is a convenience for network conditions and a complication for provenance, so if you plan to depend on this code, decide which remote is authoritative for you and record the commit you build from.
Editorial conclusion
KCloud-Platform-IoT suits a team that wants a Spring Cloud and COLA based starting point for a multi-tenant IoT product and is prepared to own the device protocol work and the front end, and it suits a team looking for a working MQTT or Modbus device stack less well, since the README documents platform services and screens rather than protocol implementations. Before adopting it, read the Apache-2.0 and MIT files together with NOTICE, check the hardware table against your own servers, and confirm that the module layout in laokou-cloud, laokou-service, laokou-common and laokou-tool matches the shape of the application you intend to build.
Frequently asked questions
What is KCloud-Platform-IoT built on?
It is a Java platform using Spring Boot 4.1.1, Spring Cloud 2025.1.3 and Spring Cloud Alibaba 2025.1.0.0, with Spring Framework 7.0.9 and Spring Security 7.1.1, built with Maven 3.9.11 and following the Alibaba COLA framework with DDD ideas.
How do I deploy KCloud-Platform-IoT?
The README states that the project supports Shell, Docker and Kubernetes deployment, and that it supports GraalVM and virtual threads. It does not give step-by-step installation commands.
What server size does KCloud-Platform-IoT need?
The README table lists 32G of memory and a 512G disk for development, and 16G of memory and a 40G disk for production, with the note to build a cluster for production.
Does KCloud-Platform-IoT include a device protocol stack?
The repository topics include mqtt and modbus and the feature list includes a thing model for devices, but the README does not document a protocol implementation, device onboarding flow, or how device identities map to tenants. The documented functionality is concentrated on platform and administration features.
What licence applies to KCloud-Platform-IoT?
The licence field for the project names Apache-2.0, and the top level contains a LICENSE file, a separate LICENSE-MIT file and a NOTICE file. The presence of both suggests different terms for different parts of the tree, so check which applies to the code you copy.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/koushenhai-kcloud-platform-iot)