各种运维名词解释

大二层网络

大二层网络(Layer 2 Network):大二层网络是一种基于数据链路层(第二层)的网络结构,用于实现局域网内设备之间的通信。

比喻:想象一个大型办公楼,每个房间都有员工,需要相互通信。大二层网络就像是一个内部电话系统,允许员工之间直接拨打电话进行通信,而不需要通过一个总机接入。这样简化了通信过程,提高了效率。

SDN

SDN(Software-Defined Networking):SDN 是一种网络架构,它将网络控制与数据转发分离,使得网络可以通过软件进行动态管理和配置。

想象一个铁路系统,原本调度员需要亲自调整每个道岔来控制列车行驶的方向。SDN
就像是一个自动化的调度系统,调度员只需通过软件设定列车的目的地,系统会自动调整道岔,使列车沿着最优路径行驶。

虚拟化(KVM/Xen)

虚拟化(KVM/Xen):虚拟化技术通过在物理硬件上创建虚拟机,使得多个操作系统可以在同一台服务器上运行,提高了资源的利用率。

想象一栋公寓楼,原本只能住一个家庭,但通过虚拟化技术(KVM/Xen),这栋楼被分成多个独立的公寓单元,可以容纳多个家庭同时居住,每个家庭都拥有独立的生活空间,提高了房屋的利用率。

Hadoop/HBase

Hadoop/HBase:Hadoop 是一个开源的分布式数据存储和计算框架,用于处理大数据;HBase 是一个基于 Hadoop 的分布式、可扩展的列式数据库,用于存储非结构化数据。

想象一个大型图书馆,需要存储和管理大量的书籍。Hadoop
就像是一个智能的图书馆管理系统,它可以将书籍分散存储在多个书架上,同时能够高效地找到、检索这些书籍。HBase
则类似于一个大型文件柜,可以存储各种形式的文件(如报纸剪报、手稿等),方便用户查找和使用。

微服务总论

比如一个机器只能承受400用户,要更多用户就需要更多的机器。 如果领导手下就一个人,两人说说就行了,如果100个手下,就都找注册配置中心
直接查数据库,量大了受不了,就用redis缓存来缓解 读写太大,我们就用消息队列排队 日志就记录出错的地方
你调我我调它的时候出问题去找链路追踪

各种运维名词解释_第1张图片

上线后回退上一个版本怎么弄?–> Jenkins打包成容器上线,容器特别多,用k8s或者rancher管理

各种运维名词解释_第2张图片
各种运维名词解释_第3张图片

架构

单体架构

所有功能集成到一个包,一个坏全坏

分布式架构

服务治理

需要解决的问题,服务拆分粒度如何?服务地址如何维护?服务之间如何远程调用?服务健康状态如何?用微服务框架解决

注册中心和配置中心

可以用以下比喻来说明配置中心和注册中心的区别:

假设你是一家公司的员工,这家公司有很多分支机构。现在你需要安排一次公司内部的会议,需要知道所有分支机构的地址、联系人和会议室情况。

那么,注册中心就相当于一个公司的通讯录,里面记录了所有分支机构的地址、联系人和联系方式。你可以通过查看这个通讯录,得知每个分支机构的信息,从而知道在哪里召开会议。
而配置中心则相当于一份会议通知,里面记录了会议的时间、地点、议程等信息。当你发出会议通知后,所有收到通知的人都会按照通知上的信息前来参加会议。

可以用以下比喻来说明服务发现和服务注册:

假设你是一名商场的店主,你的商店是商场中的一家。商场中有很多商店,它们出售各种不同的商品,每家商店都有一个唯一的编号。

那么,服务注册就相当于你向商场管理员登记你的商店信息,包括商店编号、店名、商品种类等。管理员会将这些信息记录在商场的一份目录中,以便其他人查找和寻找你的商店。
而服务发现则相当于你需要在商场中找到一家特定的商店。你可以在商场的目录中搜索到你需要的商店编号,然后根据编号找到该商店所在的位置。
换句话说,服务注册就是将服务的信息提交到中央位置进行记录和存储,以便其他服务或者客户端可以在需要的时候查找和调用该服务。而服务发现则是在需要调用某个服务的时候,在中央位置查询该服务的信息,以便能够准确地找到和调用该服务。

这样做的好处是,服务的提供者和消费者可以更容易地互相发现和调用对方,使得整个系统的运作更加高效和灵活。

nacos

1、安装完后,安装ip:port就能访问到nacos网页后台
2、可以设置权重,控制其实例的访问次数
3、可以用namespace 隔离,比如开发环境,生成环境

Zookeeper

各种运维名词解释_第4张图片
zookeeper 解决了如果一台服务器宕机后,它可以自动更新可用服务器列表

选择 Nacos、ZooKeeper 和 etcd 取决于您的具体用例和需求。以下是一些选择指南:

1、功能需求:
如果您需要一个全功能平台来处理服务发现、配置管理和动态 DNS 服务,那么 Nacos 是一个不错的选择。
如果您需要一个专注于分布式协调的系统,包括配置管理和服务发现,那么 ZooKeeper 是一个不错的选择。
如果您需要一个简单易用的键值存储,用于服务发现和配置管理,那么 etcd 是一个不错的选择。
2、一致性需求:
如果您需要强一致性保证,那么 ZooKeeper 和 etcd 都是不错的选择。
如果您可以接受最终一致性,那么 Nacos 可能是更好的选择,因为它支持最终一致性,但也支持强一致性。
3、可扩展性需求:
如果您需要一个可以横向扩展的系统,以处理大量节点和客户端,那么 Nacos 和 etcd 都是不错的选择。
如果您需要一个可以处理相对较小的集群,那么 ZooKeeper 是一个不错的选择。
4、语言支持需求:
如果您需要支持多种语言,那么 Nacos 和 etcd 可能是更好的选择。
如果您只需要支持 Java 和 C,那么 ZooKeeper 可能是更好的选择。

Kafka 是一种分布式流处理平台,与 Nacos、ZooKeeper 和 etcd 不同,它主要用于可扩展的高吞吐量数据流处理。

以下是 Kafka 和 Nacos、ZooKeeper 和 etcd 的主要区别:

功能:
Kafka 用于处理可扩展的高吞吐量数据流处理,包括数据传输、数据存储和流处理。
Nacos、ZooKeeper 和 etcd 用于服务发现和配置管理。
数据处理模型:
Kafka 的数据处理模型是发布-订阅模型,允许多个消费者从一个或多个生产者订阅数据流。
Nacos、ZooKeeper 和 etcd 并不直接涉及数据处理,它们用于服务发现和配置管理。
数据存储:
Kafka 使用消息队列来存储和传输数据。
Nacos、ZooKeeper 和 etcd 使用分布式键值存储来存储配置和服务发现信息。
适用场景:
Kafka 适用于需要处理大规模、高吞吐量数据的场景,如实时日志处理、流式数据分析等。
Nacos、ZooKeeper 和 etcd 适用于需要服务发现和配置管理的场景,如微服务架构、容器化应用等。
数据安全:
Kafka 提供数据安全功能,包括数据加密、身份验证和授权等。
Nacos、ZooKeeper 和 etcd 并不直接涉及数据安全,但可以与其他系统集成以提供数据安全功能。
总之,Kafka 和 Nacos、ZooKeeper 和 etcd 是用于不同目的的不同系统。如果您需要处理可扩展的高吞吐量数据流处理,那么 Kafka 是一个不错的选择。如果您需要服务发现和配置管理,那么 Nacos、ZooKeeper 和 etcd 是更好的选择。

你可能感兴趣的:(项目笔记,java-zookeeper,zookeeper,etcd)