小团队 适合用 k8s +Spring cloud +微服务吗

2020-12-07 20:00:05 +08:00
 monkeydev
目前公司技术基础比较羸弱
外面给的方案是这一套
但我个人认为这只是谈架构的东西
如果用户不到一定规模似乎,没有必要
13967 次点击
所在节点    DevOps
101 条回复
LichMscy
2020-12-08 16:30:21 +08:00
我们团队现在运行维护着一整套的 k8s 平台和微服务平台,遍布全球十几个数据中心,拥有 20+套集群,最近还合并了另一个团队的 devops 平台,感觉应该有点发言权

其实用 k8s 和团队大小没有强对应关系,团队小就找两三台虚拟机搭一套小集群满足需求即可。我理解微服务所利用的 k8s 特性主要是实现滚动更新、灰度发布以及 hpa 等,还可以利用 cicd 工具一键发布,这些特性不用 k8s 甚至不用 springcloud 都能实现,只是现有比较成熟的方案的确是 k8s+springcloud 微服务。我建议楼主从最小需求做起,切忌过度架构,构建出的组件稳定可用满足最低需求即可。
可以理解基于 k8s 的模块是一套 paas 平台,基于 springcloud 微服务的模块是 saas 平台(当然我们也基于 istio 构建了一套 service mesh 模块,那个才是真正的 sass 平台)。如果从开发角度,专注实现 saas 平台的基本功能就可以了,往后团队大了,面临的问题还有日志采集,服务监控,链路追踪,网关路由,容器网络管理,底层计算资源维护等等等等。


TLDR:最小化架构的话只要能给开发部署和发布版本带来便利即可,比如使用 jenkins/搭建 k8s 进行容器化的初步集成 /使用 k8s 滚动更新 /进行微服务改造并搭建 eureka 和 gateway 管理所有的微服务等等;再发展下去就可以考虑构建一个微服务平台( SAAS )来管理整个微服务的生命周期,包括链路追踪 /API DOC/服务间调用 /配置中心 /分布式事务等等;最终就是一整套 k8s 管理 /微服务管理 /Devops 管理的覆盖开发全开发生命周期的工具链集合。
ming7435
2020-12-08 16:41:38 +08:00
没有千万级的业务规模强行上这种技术方案简直就是找不自在
vcode
2020-12-08 16:51:14 +08:00
k3s,k0s
zardly666
2020-12-08 17:32:52 +08:00
我司因为服务端语言很多,py node.js java 所以是 k8s 集群的微服务。感觉花一点时间熟悉以后,用起来很舒服
zunceng
2020-12-08 17:42:09 +08:00
@ming7435 你这说的... 当年我司只有我一个开发都用 k8s + 微服务架构

这套东西很好的解耦了运维和开发, 越是小团队越要注意这些呀, 而没什么经验的时候又是最蛋疼的
wizzer
2020-12-08 17:43:21 +08:00
小团队,建议使用我的 https://budwk.com 框架,有微服务版本也有 mini 单应用版本
wupher
2020-12-08 17:47:59 +08:00
看团队水平, [小] 不影响技术使用,但是技术薄弱就不适合了,K8s 有问题,要能自己搞定的。

这种情况下,直接用云计算,多专注业务实现挣钱。
ming7435
2020-12-08 17:54:23 +08:00
@zunceng 一个人能搞定的业务能复杂到哪里去?一个 war 包一把梭说不定效率更高
JohnSmith
2020-12-08 18:23:01 +08:00
上云
JohnSmith
2020-12-08 18:23:42 +08:00
上共有云
xuanbg
2020-12-08 21:18:00 +08:00
微服务也可以很简单。一个最简单的微服务,就是注册中心+配置中心+网关而已。需要写额外的代码吗?不需要!都是 pom 引入一个包,然后启动类一个注解,配置文件几行配置就完事。最后就是需要在配置中心分别对每个服务做一下配置。就这点事情,百度一下最多 1 天功夫就搞定了,压根没有什么难度好吧。
twinsdestiny
2020-12-08 23:21:50 +08:00
duck 不必
dayeye2006199
2020-12-09 02:31:11 +08:00
问个问题:用了 k8s 为啥还需要 spring cloud ?自带功能,最多加个 istio 就能覆盖各种特性了,而且还是语言中立的,支持各种语言写的服务。
zarte
2020-12-09 09:41:53 +08:00
搞这一套有问题谁加班弄?能简单就简单别像有些自以为是的程序员,到时一堆坑还要别人搽屁股。
zunceng
2020-12-09 10:27:09 +08:00
@ming7435 几年过去我司有个几十个开发+运维了 仍然是这套架构 老板都说 CTO 来了是站台的 随便折腾 技术架构我来决定就行了
ericgui
2020-12-09 13:59:30 +08:00
github 其实到了很大的规模的时候,还是 ruby on rails 单体
dorothyREN
2020-12-09 15:48:06 +08:00
不如先想想 你们的项目 值得上微服务吗
young1lin
2020-12-10 11:36:41 +08:00
@kingfalse 我周树人可没说过这句话。狗头.jpg
kingfalse
2020-12-10 16:21:00 +08:00
@young1lin 我说了是鲁迅,你周树人来凑什么热闹。狗尾巴.gif
dadagogogo
2021-04-27 01:01:54 +08:00
@muskill 感同深受啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/733080

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX