1.K8s怎么发布服务?

  1. 首先,为应用程序创建一个Deployment对象,确保运行指定数量的应用实例。
  2. 接下来,创建一个Service来暴露你的Deployment。

如果只需在集群内部访问服务,可用ClusterIp类型的服务。

若从外部访问服务,可以选择NodePort类型。

2.说一下HTTP的传输过程。

建立连接:客户端与服务器建立TCP连接

发送请求:客户端向服务器发送HTTP请求

处理请求:服务器处理请求并生成响应。

返回响应:服务器向客户端返回HTTP响应。

关闭连接:客户端与服务器关闭TCP连接。

3.讲一下Zookeeper。

Zookeeper的核心功能是提供分布式协调服务,确保分布式系统中的各个节点能够协同工作。

 ZooKeeper 的工作原理

(1)数据模型

ZooKeeper 的数据模型是一个树形结构,类似于文件系统。

每个节点(ZNode)可以存储数据和子节点。

(2)写操作

客户端发送写请求到 ZooKeeper 集群。

Leader 将写请求广播给所有 Follower。

当大多数节点确认后,写操作提交并返回成功。

(3)读操作

客户端可以直接从任意节点(Leader 或 Follower)读取数据。

由于数据的一致性,读操作不需要经过 Leader。

(4)Leader 选举

当 Leader 失效时,ZooKeeper 会通过 ZAB 协议选举新的 Leader。

选举过程基于节点的 ID 和事务 ID(ZXID)。

ZooKeeper 的优点

高可用性:通过集群部署,确保服务的高可用性。

高性能:读操作可以直接从 Follower 处理,支持高并发。

可靠性:数据持久化到磁盘,确保数据不丢失。

 ZooKeeper 的缺点

写性能瓶颈:写操作需要经过 Leader,可能成为性能瓶颈。

存储限制:ZooKeeper 不适合存储大量数据,主要用于存储元数据和状态信息。

复杂性:在大规模集群中,配置和管理 ZooKeeper 集群可能比较复杂。

Logo

一站式 AI 云服务平台

更多推荐