|NO.Z.00154|——————————|CloudNative|——|KuberNetes&服务发布.V05|——|service.v01|概述|
一、在k8s中如何发布服务概述
### --- 服务访问分为两种形式:
~~~ 第一种:服务之间的调用;就是我们部署了两个应用,这两个都是后端应用;比如是ServerA,serviceB两个服务之间的调用。
~~~ 第二种:用户流量的访问,用户通过域名去访问。
~~~ # 东西流量:服务之间的访问,一般有service实现
~~~ # 南北流量:用户从外网进来的流量,一般有ingress实现
二、传统模式和k8s下如何发布服务的:传统模式:在没有使用k8s之前,是如何实现东西流量的调用的?

三、传统模式和k8s下如何发布服务的:在k8s中发布服务的方式
### --- 在k8s中发布服务的方式
~~~ # 比如Node中是java进程;比如Java1要调用Java2是如何调用的:
~~~ 方案一:直接使用localhost,这种是可以的,但是java1和java2并不一定是在同一台宿主机上的,所以不能使用localhost调用。
~~~ 方案二:一般都是加入负载均衡。一般都是加入一个域名,通过pass或者location来调用。java1通过域名加路径来访问java2
~~~ # 第二种:
~~~ 使用的是springclus架构;使用的是Eureka。
~~~ java1和java2启动的时候会通过启动注册的方式把自己的信息注册到Eureka中,
~~~ Eureka会有一张注册表,这张注册表记录了每个应用的IP地址加端口,
~~~ 然后这个注册表会被java1和java2拉取到自己的本地保存。
~~~ 加入java1访问java2就会读取这个文件,对应这个文件会解析出java2的IP地址和端口,
~~~ 就可以访问到java2了。这种方式就是不需要使用nginx进行反代的。
~~~ 这就是Eureka比较好用的地方:因为它本身就为我们实现了高可用的机制,
~~~ 容错的机制,负载均衡的机制。
四、在k8s中,是如何实现东西流量的调用的?k8s模式下?

### --- 在k8s中,是如何实现东西流量的调用的?k8s模式下?
~~~ Java1和Java2是以Pod的形式部署的,在这个k8s中有service
~~~ 我们会给k8s中装入service:java1-svc和Java2-svc
~~~ 这个service通过selector匹配这个Pod,所以说在k8s中给java1和java2创建一个service,
~~~ 这样java1想要访问java2的话,就可以直接使用http://java2-svc:端口号就可以访问到java24
~~~ 若是在你的k8s中部署了springclus架构,
~~~ 并且没有把Eureka组件给抛弃掉的话,就可以不用创建service,而是直接使用Eureka来实现。
五、南北流量东西流量实现方式:

### --- 南北流量:是如何实现的:传统模式
~~~ 假设有用户进行访问我们的域名:www.a.com/api;经过公网的DNS解析,
~~~ 解析到这个域名的IP地址是什么,这个IP地址到服务后台负载均衡设备上,假设到了Nginx上。
~~~ 假设www.a.com访问到这个负载均衡器上nginx,
~~~ 这个API接口会在nginx上配置这个service的域名,他就可以访问到我们的服务
~~~ 比如是springcluts架构,它会提供一个Zuul,它会做pass的路由。
~~~ 只需要把API接口指向Zuul就可以了。根指向我们的前端。

### --- 南北流量:在k8s中是如何通过域名的方式访问到我们的服务的。
~~~ Node03是部署的我们的前端应用。
~~~ Ingress提供一个LB的功能;会在Ingress配置这个域名,配置之后会匹配到这个service上。
~~~ Ingress是通过yaml文件通过注释的方式去写Ingress去写这个配置文件的。
~~~ 在Ingress上配置了两个路由,一个是根www.a.com到我们的前端上,
~~~ 一个是到后端应用上的:/api/java1,这样就实现了南北流量的调用。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了