本文为网格服务技术的实战详解。
本文的出现能帮助读者更好地理解以Istio为代表的ServiceMesh技术背后的设计思路和了解阶段性的探索成果。
也希望能够得到大家的喜欢!
目录
==
主要内容
====
本文以初学者角度展示软负载在分布式架构中承担的角色,引入容器时代主角Kubernetes;
再从路由层面全面展开对Service Mesh与 Istio的系统介绍和深入剖析,包括其功能与特色;
最后通过源码剖析从实现细节上分析Istio 的几大关键设计。不论你是刚开始接触软负载的初学者,还是有一定经验的架构师,都可以在本文中找到想要的实用内容。
本文主要分为7章给大家进行介绍,希望大家能够仔细学习一下!
**第1章分布式发展史,**回顾计算机发展历史,能够发现分布式的发展跟计算机网络发展非常类似。它们都经过节点由少到多,再由多成网的过程。
TCP/IP协议诞生是解决计算机之间相连的问题,虽然是几十年前的产物,但到今天仍然是计算机网络传输中的基础,而且在大部分情况下都不需要感知到它的存在。服务治理也面临类似的问题:从最开始的单机到集群再到微服务时代,硬件成本越来越低,服务数量呈指数级增长,使得调用关系越来越复杂,这时工程师们就需要一种方式来有效管理这些服务及调用关系;
历史总是惊人的相似,只是现在我们面临的不再是如何有效地将计算机连接起来,而是如何将服务透明地连接起来而已。
为了让上层业务开发更加轻松,工程师们需要想出一个方案,将底层的细节更好地隐藏起来,无感知地变迁下层基础服务——这个方案就是Istio。经过了“集群化”“反向代理”及“旁路负载”前三代的进化,软负载迎来了第四代“服务网格”架构,其统一透明的架构为服务治理提供了全面的支撑,并具备高度可扩展性。
接下来的几章,笔者将使用目前使用面最广的Istio为大家详细讲解服务网格的实现原理,同时为大家剖析 Istio的架构设计。
**第2章Service Mesh:以 Istio为例.**本章从零开始动手体验了Istio的基本功能,并从架构及功能模块方面进行了粗略介绍。不可否认,Istio是现今服务网格领域最成熟的开源解决方案,其由 Google 的 CNCF 开源基
金主导,现今已经推出了1.0正式版本,相比其他服务网格实现——例如Conduit——已经算是最接近生产环境,即不久便可投入生产使用的方案。
Istio不仅提供传统软负载的路由及寻址功能,更将链路本身全部纳入它的管理体系中,这可以让业务完全透明地使用它。例如业务广泛需要的链路跟踪功能,以前都要业务方接入客户端——多则更改代码,少则附加一个代理。无论哪种都需要业务工程师关注及上线部署。
Istio 通过Sidecar 将入口与出口流量全部无感知劫持代理,配合Pilot统一分发的配置与策略,统一对各服务的流量进行把控,以此实现诸如“流量控制、认证鉴权、多版本服务”等功能。这些都是可以以插件的形式扩展的,Mixer的扩展接口为此做了充分的设计。目前已经支持如 Promethus、Hespter等三方扩展,如果有需要,还可以按 Mixer 的接口标准适配更多的三方扩展。
可以说Istio完全实现了服务网格的预期目标,还做到了平台无关性。虽然说Istio与Kubernetes都是同一个公司的产品,理论上来说当然对Kubernetes的支持是最好的,但是 Istio的设计者并不满足于此,1.0版本已经增加了对 Consul+虚拟机环境的支持,相信未来还会有更多,例如原生云平台——GCP(Google Cloud Platform)、AWS 等。
**第3章理解Istio服务网格,**在第2章中,笔者概括性地介绍了Istio的各个核心组件,并对它们的功能做了逐一介绍,例如“流量分配、故障注入、认证鉴权”等,均是 Istio最基础、最核心的功能,是构成一个数据服务网格所必要的。
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Java工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Java)
最后
对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。
整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。
再分享一波我的Java面试真题+视频学习详解+技能进阶书籍
发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。**
再分享一波我的Java面试真题+视频学习详解+技能进阶书籍
[外链图片转存中…(img-7A2quoAn-1710419381828)]