SpringCloud和Dubbo哪个会先被K8S淘汰?JAVA大军,如何快速掌握K8S?
Kubernetes 统治部署时代已经是事实了,生态完备,接口规范,基金会稳如磐石。唯一的瓶颈,在于学习曲线,内容大,层次深。只掌握Java 编程知识的程序员是掌握不了的。对于任何普通程序员,Kubernetes 都需要学习 DNS、负载均衡器、代理、NAT 网络穿透、CIDR 网段管理、虚拟文件系统、… 很多操作系统底层的知识。
从性能上,springcloud、dubbo 和 k8s 没法比较,差距太大,最典型的就是服务网关,k8s 采用 kernel iptable 路由规则和 ipvs 实现,Java 系则是 http 代理,性能差距很大。
从生态上,k8s 非常完善,文档齐全,springcloud 正在与 netflix 出现工具停更问题,dubbo 则不受国外软件界认可。
k8s 会催生一些新职业,负责构建云设施的高级系统程序员,需要对 Linux 系统有深厚理解,对网络、IO、内存管理、容器化、虚拟数据中心有深厚了解,才能驾驭得了。
在服务注册发现和API网关的部分,两个框架和k8S是有重叠和冲突的。k8里是基于service和动态ip的,springcloud是基于接口函数和固定ip,因为K8现在的热门,很多开发框架也都在向K8方向上做兼容处理,但用起来感觉繁琐,不如直接使用K8的系统机制去完成。所以我也觉得在一部分功能上,K8是有替代性的。
可能你有点误会,就如何很多评论所说,一个是开发框架,一个是运维层面。但是老实说,springcloud和dubbo都在和k8s进行整合,比如springcloud-kuberneters,另外dubbo也是在积极的k8s做兼容的。这是一个共赢的场面 而不谁淘汰谁。
另外快速掌握k8s这个,其实就是看官方文档学,没记错的话k8s也是有中文文档的。
是istio解决服务治理问题吧,替代springcloud很难啊,springcloud可不止是服务治理,k8s作为容器编排基础设施,也只有服务发现、负载均衡少数服务治理功能
Java开发大型互联网-基于Dubbo框架如何实现微服务架构实践?
我是一个有10年项目架构经验的java软件工程师,欢迎关注我,了解更多java前沿技术!
目前微服务架构最完成的是springcloud,现在企业都使用springcloud了。 视频加载中...