Open JamesChenX opened 3 years ago
@JamesChenX 如果要把turms-im做为云原生微服务体系的一部分,感觉所述(只有当我们的用户(将)已经有一个复杂的系统并且他们想在其中引入 turms 服务器时,才应该使用 k8s),是有必要的。 我刚接触turms-im不久,理解还不太深刻,有一点使用感触,不一定正确哈。
Thanks for your advice.
Forking turms project into your repository hosting service, and managing it like your own service should be good enough.
Just remember to pull the code frequently because turms add features, enhancements, fixes frequently as you may have noticed.
PR is welcome, so if you think the PR implementing a common feature/enhancement/fix or whatever, you can commit a PR so that I can maintain the related features to work fine with it in the later updates, and ensure there are no break changes for your changes.
It's slow currently because it uses QEMU
to build images for linux/arm64
as you can see in .github/workflows/publish-turms-service.yml
. So if you don't need the images for linux/arm64
, you can build images:
turms-gateway: DOCKER_BUILDKIT=1 docker build --rm=false -t "ghcr.io/turms-im/turms-gateway:latest" -f turms-gateway/Dockerfile .
turms-gateway: DOCKER_BUILDKIT=1 docker build --rm=false -t "ghcr.io/turms-im/turms-service:latest" -f turms-service/Dockerfile .
You can try them, and they will be far faster than your current builds.
And turms is removing spring gradually, so we don't want to be stuck in the spring-related dependencies, and there are no good reasons to use Buildpacks currently.
It's a good enhancement for turms to work for K8S, and I want to adapt turms for K8S, but I don't have the effort for it and there is no plan for the adaption in the v1.0.0 release.
Removing RSocket because it's useless for turms. It makes workflow abstract and complex and brings useless overhead (turms never need these Reactive Streams semantics) as described in https://rsocket.io/about/protocol. So there is no reason to use RSocket.
感谢解答
btw: we don't recommend using k8s (cloud service) for turms servers, because turms servers are lightweight and can work with other cloud service portfolios (e.g. auto-scaling instances, monitoring/logging service) pretty well. k8s should only be used if our users (will) have already a complex system and they want to introduce turms servers into it.