Kubernetes比拼SpringCloud

首次用springcloud 还是在 2018年,那时候微服务概念刚刚兴起 ( 也可能是孤陋寡闻的我刚刚听说 ),于是做了一个基于 Docker 的 springcloud 架构

原理就是 Docker 封装的 Springboot应用 然后构成了一个 springcloud 平台,反正当时kubernetes还不熟

 

不过时至今日,我真心想不出如果重新为一个新项目做技术选型,我为啥还要用springcloud

微服务架构,主要组成有,简单列一些

20201127045149

 

这里我盗个图

20201127045440

 

看来看去大家都一样么,这里你看看 配置中心,既然,kubernetes的 configmap 能做这么多,为什么还要用 Config server 呢?

你可以理解成,springcloud只能用在 springboot的java环境中,而kubernetes明显是通吃,只要能被塞进 docker 的应用,包括 springboot ,都可以在kubernetes上运行,而且更轻量,更简单

 

这里最关键的点还在于,Java本身就不适合做微服务,即便是一个最简单的 helloworld springboot 镜像,也需要300M,没有其他办法,JVM的大小毕竟摆在那里,一个简单的 tomcat从启动到完成,也需要大概10秒才能初始化一个 ioc 容器, 这些都太耗时了,大规模的微服务平台,一个非常重要的特点就是 容器可以 优雅的启动 然后 优雅的销毁,Java根本做不到,论易用性不如Python,论性能和易于部署不如Golang,论前后端统一不如 Nodejs

如果但得你还有精力学习除了java之外的新知识,我都不建议使用java或者springcloud来构建微服务架构,虽然做过10年Java,但是在微服务云架构上,我要给Java头完全反对票

 

总上所述,spring cloud 也好,kubernetes 也好,实际上都是 云原生十二要素的一种实践

  1. 一份代码,多份部署
  2. 依赖
  3. 配置中心
  4. 服务
  5. 构建,发布,运行
  6. 无状态独立进程
  7. 数据隔离
  8. 并发
  9. 易处理,能被优雅的启动和销毁
  10. 开发环境和生产环境等价
  11. 日志管理
  12. 管理进程 ( job )
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值