Istio 是 Service mesh 服务网格,的一种实现。
为什么要用Service mesh ? 相对来讲为什么要用,比怎么用更重要~
从最初的单体应用到服务网格,其实是随着用户量不断增多的一种架构演变。
对于微服务来讲,我们除了对业务代码进行边界化、隔离化之外,还要考虑业务之间的调用以及负载均衡。
所以微服务来讲:服务治理很重要。我们要解决 :
- 服务的注册与发现
- 服务的负载均衡,包括nginx和feign调用中的ribbon
在架构的演变中大体上存在三种服务模式:
- 集中代理:在单体应用前面直接加 负载均衡, 然后用来代理后面的应用服务器
- 嵌入式代理: eureka 和 nacos 会把 代理的代码嵌入到开发代码中
- 主机独立进程代理: 沉淀到机器底层,进程中,和原来的服务进程脱钩。为了解决上面嵌入式代理中沉淀大量的与网络有关的代码