- nazz2026-08-0668123
按百万用户,十万日活计算的话,到底该如何选择
包括Mysql、PG、Doris、ES、MongoDB、Redis、Rocketmq、Kafka、Minio、Flink、DolphinScheduler、Dify等等
主楼 - tearfulDalvik2026-08-0668124
部署到 k8s 主要是图一个集中管理和横向扩展吧?主要还是看需求
- nazz2026-08-0668123
原来我们除了数据库集群都是上的K8S,后来因为经常K8S网络抖动,又基本全下到宿主机了,想问问各位佬友有没有什么成熟的经验
- xuetianyuan2026-08-069433
我也想知道,蹲一个好回答,佬友们给点力啊
- 小太阳2026-08-0636200
加一,有同样的疑问,有没有佬出来帮忙解答下
- zjinys2026-08-0631644
- ATAISHAKL2026-08-0612571
哎, 为啥不考虑中间服务直接用第三方的呢, 我们物联网要用的上面组件都用阿里的, 只有服务上了k8s, 自己部署不管哪里都很麻烦吧, 还要考虑备份回滚高可用这些
- 泡泡林客听2026-08-0668125
运维能力如何?运维跟不上尽量去用第三方。必要的自有服务多的话可以上k8s,中间件能用第三方就用第三方,到时候回滚、备份、还有状态故障等等都得考虑
- nazz2026-08-0668123
第三方确实方便,但是目前来看我们还是倾向于自己维护
- nazz2026-08-0668123
运维能力只能说还行,主要业务最近处于快速增长,依赖第三方的话后续变动麻烦
- VVD_Rasis2026-08-0655872
百万用户,十万日活
严格来说这个量已经需要稳定性保障了,不然P0让整个团队停摆
相对于节约的成本和可维护性来说基本不值得
出于实际的生产环境来说, 个人建议这样
选择各家的托管中间件,尤其是serverless可扩展版本
后续随着项目成长可不断无缝扩容, 前期成本也相对可控
大多数公有云都提供数据冷热分片控制放到对象存储上, 可以按需使用
K8S托管中间件一般仅限在测试和开发环境出于节约成本考虑
其带来了多重隐患: 数据安全 集群安全 集群脱敏都实现不了
鸡蛋放在一个篮子里, 那如果Node失联或ETCD抖动导致数据脑裂呢?
有状态中间件
例如数据库,缓存服务, 前端应用数据代理, 使用域名连接
后续升级只需切指向, ttl过了自动切换
可以把具体P0问题抛来聊聊, 10年老SRE法师现场作答 哈哈
- joy7172026-08-0626017
目前,在k8s里面,有状态服务(比如各种数据库),
想要使用集群版本的话,基本上需要数据库自己本来做集群维护。
k8s本身或者说etcd本身,并不负责具体应用的“分布式集群”相关逻辑。
所以其实node失联,etcd抖动都跟应用层(数据库)无关。
至于楼主说的各种中间件,目前用到的,主要是pg、mysql、redis、minio。
目前全部使用pod来部署。
应用层内部的分布式管理,交给各个中间件的operator。
- nazz2026-08-0668123
严格来说这个量已经需要稳定性保障了,不然P0让整个团队停摆
相对于节约的成本和可维护性来说基本不值得
相当认可。
我们一开始基本都是k8s,后来是因为某次redis其中几个pod未知原因挂了,k8s自动拉起新pod之后,内部service解析的ip地址还是老ip,导致redis集群一直有问题。后来就决定把基本所有中间件(除了某些应用类型的中间件)都给干到了宿主机上。
所以如果不考虑维护成本等,稳定性为第一保障的话是怎么比较好(PS:现在确实也有考虑把数据库集群和Redis集群上云,其他还是自己搞)