阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在 RHEL 7.1 little endian 上设置 Mesos/Marathon 集群

427次阅读
没有评论

共计 10666 个字符,预计需要花费 27 分钟才能阅读完成。

Mesos 和 Marathon

Mesos 是一个分布式集群管理器,旨在通过在多个任务之间动态共享资源来改善资源使用。Mesos 提供了所有集群节点上的资源的统一视图,支持无缝地访问这些资源,访问方式与操作系统内核访问单个计算机的资源的方式类似。因此,Mesos 也被称为数据中心的内核。通过使用 Mesos,您可以掌握构建数据中心应用程序的核心要点,Mesos 的主要组件是一个可扩展的 2 阶段调度程序。

以下是 Mesos 集群管理器的关键组件:

  • 主节点:协调所有集群操作的集群管理器。可以提供多个主节点来实现高可用性。
  • 从属节点(或节点):运行任务的集群成员。
  • 框架:在集群中运行的实际任务。许多现有的框架允许将各种各样的应用程序和服务部署在 Mesos 集群管理器上。

请参阅 Mesos 架构 了解更多信息。

下一节将介绍如何使用 Marathon 框架将应用程序和服务部署在 Mesos 上。

可用性

下表列出了针对 IBM PowerPC® Little Endian (ppc64le) 平台的相关包的位置:

请参阅 Unicamp 存储库,地址为:http://ftp.unicamp.br/pub/ppc64el/rhel/7_1/misc_ppc64el/

备注:对于 IBM Power® 上的其他发行版,您必须用源代码来构建包。

Marathon

Marathon 是一个用于在 Mesos 上运行长应用或长服务的框架。这些应用程序具有高可用性需求,这意味着 Marathon 可以监视故障并在发生故障时自动重新启动应用程序实例,还能够灵活地扩展应用程序。Marathon 可运行其他框架(比如 Hadoop)和它自己的框架。典型的 Marathon 使用工作流是在集群内的某个地方运行一个应用程序的 N 个实例,每个应用程序实例需要一个处理器和 1 GB 内存。您可以向 Marathon 提交此请求来创建 N 个要在从属节点上运行的 Mesos 任务。

Marathon 提供了一个具象状态传输 (REST) API 来启动、停止和扩展服务。有一个基于浏览器的 GUI,也有一个命令行客户端。它可以通过运行多个 Marathon 实例在一种高度可用的模式下运行。

在本文中,您将看到如何通过 Marathon 部署服务,并在示例应用程序中使用该服务。这里提及的操作说明也适用于基于 Intel® 和 IBM Power 架构 (OpenPOWER) 的服务器。该服务是一个 MySQL 数据库服务。

下图大体演示了一个 Mesos/Marathon 集群:

图 1. Mesos/Marathon 集群

在 RHEL 7.1 little endian 上设置 Mesos/Marathon 集群

 

服务介绍

服务是一个自成一体的、独立部署和管理的功能单元。面向服务的架构 (SOA) 和最近的微服务架构鼓励应用程序包含松散耦合的服务。更加现代的应用程序包含多个微服务,因为它们提供了一些优势,比如代码重用、31000 到 32000 的容易扩展的默认端口范围、容易理解、独立的故障、支持多个平台、部署灵活性和更高的敏捷性。

Mesos 处理批处理、实时和其他处理框架,通常需要更少的时间即可完成操作。企业基础架构运行大量应用程序和服务,它们需要更长时间才能处理完成,而且具有与数据处理框架不同的需求。这些长期运行的服务对业务至关重要,也会使用很大一部分基础架构资源。因此,在 Mesos 上运行服务的能力很重要。

要大规模运行服务,基础架构需要能够支持以下需求:

  • 如果一个服务依赖于其他服务,而且对服务可部署到的地方存在限制,那么部署该服务可能很复杂。
  • 配置管理和打包是为了确保服务的所有依赖关系都得到满足,而且在服务启动前已为服务正确配置了环境。
  • 在运行着一个服务的多个实例时,服务发现和负载平衡会变得很重要。服务发现可以回答特定服务的实例在何处运行的问题,负载平衡旨在决定特定请求应发送到哪个实例。
  • 部署服务后,对服务执行健康监视很重要。可利用健康监视信息采取进一步措施,比如扩展或精减服务,或者在发生故障时重新启动服务。
  • 可用性需求要求在具有高负载和发生故障时,服务需要处于可用状态。

在运行 RHEL 的 OpenPOWER 服务器上设置 Mesos 和 Marathon 集群

以下说明介绍了如何在 OpenPOWER 系统(比如运行 RHEL little endian (LE) 的 Tyan)上设置 Mesos/Marathon 集群。

安装和设置 Mesos 主节点和 Marathon

执行以下步骤来安装和设置 Mesos 主节点和 Marathon。

  1. 添加 Unicamp 包存储库。确保以下存储库已添加到所有将包含在 Mesos 集群中的系统上(mesos-master 和 mesos-slaves):
    1
    2
    3
    4
    5
    6
    7
    # cat > /etc/yum.repos.d/unicamp-misc.repo <<EOF
    [unicamp-misc]
    name=Unicamp Repo for Misc Packages
    baseurl=http://ftp.unicamp.br/pub/ppc64el/rhel/7_1/misc_ppc64el/
    enabled=1
    gpgcheck=0
    EOF
  2. 运行以下命令来安装所需的包:
    1
    # yum install mesos Python-mesos zookeeper marathon
  3. 配置 Mesos 主节点。编辑 /etc/sysconfig/mesos-master 文件并添加以下信息:
    1
    2
    3
    MESOS_ip=MESOS_MASTER_IP
    MESOS_ZK=zk://localhost:2181/mesos
    MESOS_QUORUM=1

    如果 mesos-master 的 IP 地址为 192.168.122.31,完整的配置文件如以下代码所示:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # This file contains environment variables that are passed to mesos-master.
    # To get a description of all options run mesos-master --help; any option
    # supported as a command-line option is also supported as an environment
    # variable.
    # Some options you're likely to want to set:
    MESOS_log_dir=/var/log/mesos
    MESOS_work_dir=/var/run/mesos
    MESOS_port=5050
     
    # For isolated sandbox testing
    #MESOS_ip=127.0.0.1
    MESOS_ip=192.168.122.31
    MESOS_ZK=zk://localhost:2181/mesos
    MESOS_QUORUM=1
  4. 运行以下命令来重新启动 ZooKeeper 和 mesos-master 服务:
    1
    2
    # service zookeeper start
    # service mesos-master start
  5. 打开网络端口。默认情况下,mesos-master 在端口 5050 上通信。在下一节中,将了解如何部署才能不被本地防火墙拦截。如果使用了防火墙,可以运行以下命令来打开一个针对 公共 区域的 TCP 端口:
    1
    2
    # firewall-cmd --zone=public --add-port=5050/tcp --permanent
    # firewall-cmd –reload
  6. 在系统上运行 Mesos 集群来配置 Marathon。
    1
    2
    3
    4
    5
    6
    7
    # cat >/etc/sysconfig/marathon<<EOF
    MARATHON_MASTER=zk://localhost:2181/mesos
    MARATHON_ZK=zk://localhost:2181/marathon
    MARATHON_TASK_LAUNCH_TIMEOUT=600000
    MESOS_NATIVE_JAVA_LIBRARY=/usr/lib64/libmesos.so.22
    MESOS_NATIVE_LIBRARY=/usr/lib64/libmesos.so.22
    EOF
  7. 运行以下命令来启动 marathon 服务:
    1
    # service marathon start

安装和设置 Mesos 从属节点

确保所有 Mesos 从属节点都配置了 Docker 设置。有关在 RHEL LE 上安装和配置 Docker 的更多信息,请参阅 用于 Linux on Power Systems 的 Docker。

  1. 运行以下命令来安装需要的包:# yum install mesos python-mesos
  2. 配置 Mesos 从属节点。编辑 /etc/sysconfig/mesos-slave 中的 HOSTNAME 变量来指向 Mesos 主节点 IP,然后设置 MESOS_EXECUTOR_REGISTRATION_TIMEOUTMESOS_IP 变量。
    例如,如果 mesos-master 的 IP 地址为 192.168.122.31,mesos-slave 的 IP 地址为 192.168.122.48,则配置文件类似于:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    # This file contains environment variables that are passed to mesos-slave.
    # To get a description of all options run mesos-slave --help; any option
    # supported as a command-line option is also supported as an environment
    # variable.
    # The mesos master URL to contact. Should be host:port for
    # non-ZooKeeper based masters, otherwise a zk:// or file:// URL.
    MESOS_master=192.168.122.31:5050
    MESOS_EXECUTOR_REGISTRATION_TIMEOUT=10mins
    MESOS_IP=192.168.122.48
    # For isolated sandbox testing
    #MESOS_master=127.0.0.1:5050
    # For a complete listing of options execute 'mesos-slave --help'
    MESOS_log_dir=/var/log/mesos
    MESOS_work_dir=/var/run/mesos
    MESOS_containerizers=docker,mesos
    # systemd cgroup integration
    MESOS_isolation='cgroups/cpu,cgroups/mem'
    MESOS_cgroups_root='system.slice/mesos-slave.service'
    MESOS_cgroups_hierarchy=/sys/fs/cgroup
  3. 运行以下命令来重新启动 mesos-slave 服务:
    # service mesos-slave restart
  4. 打开网络端口。默认情况下,mesos-slave 在端口 5051 上通信。确保它未被本地防火墙拦截。如果使用了防火墙,可以运行以下命令来打开一个针对 公共 区域的 TCP 端口:
    1
    2
    # firewall-cmd --zone=public --add-port=5051/tcp -permanent
    # firewall-cmd -reload

Marathon UI 可在 http://mesos_master_ip:8080 网站上访问。

例如,如果 mesos-master 的 IP 地址为 192.168.122.31,那么可以在 http://192.168.122.31:8080 网站上访问 Marathon UI 链接。

通过 Marathon 部署应用程序

源代码可在 https://github.com/bpradipt/docker-mysql.git 网站上找到。

源代码包含用于在 Intel 和 Power (ppc64le) 系统上构建 MySQL Docker 镜像的 Docker 文件和相关设置脚本。

在以下示例中,192.168.122.48 是运行 Mesos 服务器和 Marathon 的系统的 IP 地址。

您可以使用 Marathon UI 或直接使用 REST API 部署应用程序。例如,以下命令使用了 Marathon 的 REST API 部署应用程序::

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
curl -X POST http://192.168.122.48:8080/v2/apps -d @mysqlcontainer.json -H "Content-type: application/json"
#cat mysqlcontainer.json
{
  "id": "mysql",
  "cpus": 0.5,
  "mem": 64.0,
  "instances": 1,
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "ppc64le/mysql",
      "network": "BRIDGE",
      "portMappings": [
        {"containerPort": 3306, "hostPort": 0, "servicePort": 0, "protocol": "tcp"}
      ]
    }
  },
  "env": {
     "MYSQL_ROOT_PASSWORD" : "password",
     "MYSQL_USER" : "test",
     "MYSQL_PASSWORD" : "test",
     "MYSQL_DB" : "BucketList"
   }
}

非零的 hostPort 会导致分配一个随机端口。也可以显式指定 hostPort 值。确保 hostPort 中指定的端口包含在一些资源信息中。例如,如��除了默认端口范围 31000 到 32000 外,还需要使用端口范围 7000 到 8000,可使用以下选项:
–resources="ports(*):[7000-8000, 31000-32000]"

连接到使用 Marathon 框架部署的服务

本节将介绍如何使用 MySQL 服务来连接和使用通过 Marathon 部署的服务,并在一个示例 Web 应用程序中使用它。

源代码可在 https://github.com/bpradipt/sampleflaskapp.git 网站上获得。示例代码拥有针对 Intel 和 PowerPC LE (ppc64le) 架构的 Docker 文件。

使用 Docker 链接连接到一个服务

部署服务后,必须发现和连接该服务,也就是说,必须从一个应用程序链接到该服务。一个服务可依赖于另一个服务。因此,链接容器很重要。

在使用 Marathon 链接服务时,请注意以下几点:

  • Mesos/Marathon 没有一种方法来使用 Docker 链接别名。因此,如果您的应用程序配置依赖于一个链接别名,它可能不起作用。例如,如果 Web 应用程序依赖于一个数据库容器,而且为环境变量使用数据库链接前缀(DB_PORT、DB_TCP_ADDR 等),请确保应用程序配置不依赖于链接别名前缀。
  • 链接的应用程序和服务需要部署在同一个主机上,它们才能通信。

使用 constraints 参数将链接的容器部署在同一个节点上,如下面的示例所示:

1
2
3
4
5
6
$ curl -X POST -H "Content-type: application/json" localhost:8080/v2/apps -d '{
   "id": "sleep-cluster",
   "cmd": "sleep 60",
   "instances": 3,
   "constraints": [["hostname", "CLUSTER", "a.specific.node.com"]]
}'

要使用上述代码,可以使用 hostname 参数启动 mesos-slave,如下面的示例所示:

1
# mesos-slave --master=zk://192.168.122.48:2181/mesos --containerizers=docker,mesos --executor_registration_timeout=10mins --ip=192.168.122.253 --hostname=Ubuntu

使用 Marathon API 启动链接的容器

该设置是在一个基于 OpenPOWER(PowerPC 架构)的环境中进行的。但是,您可以为基于 Intel 的环境使用相同的指令。

将目标容器名称指定为 link 键的值。此外,使用 constraints 参数确保新容器部署在运行目标容器的同一个主机上。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
curl -X POST http://192.168.122.48:8080/v2/apps -d @flaskcontainer.json -H "Content-type: application/json"
# cat flaskcontainer.json
{
  "id": "flaskappcontainer",
  "cpus": 0.5,
  "mem": 64.0,
  "instances": 1,
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "ppc64le/flaskapp",
      "network": "BRIDGE",
      "portMappings": [
        {"containerPort": 80, "hostPort": 0, "servicePort": 0, "protocol": "tcp"}
      ],
      "parameters": [
                {"key": "link", "value": "mesos-b81f9a21-3133-49de-acf6-988226eb6874-S18.5d3dcaa7-05c6-4a5b-af68-dba32b7d1835"}
            ]
    }
  },
  "constraints": [
                ["hostname","CLUSTER","ubuntu"]
              ]
}

使用 mesos-DNS 发现和连接服务

mesos-DNS 创建应用程序来对 Mesos 集群中运行的每个应用程序建立 IP 地址和端口号映射。

Mesos-DNS 可在 https://github.com/mesosphere/mesos-dns 网站上获得。它需要 Go 编译器,如果 Go 编译器可用,在任何平台上构建它都很简单。

源代码本身包含一个示例配置文件,该文件可在 https://github.com/mesosphere/mesos-dns/blob/master/config.json.sample 网站上找到。

以下是用于该设置的示例配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
  "zk": "zk://192.168.122.48:2181/mesos",
  "masters": ["192.168.122.48:5050"],
  "refreshSeconds": 60,
  "ttl": 60,
  "domain": "mesos",
  "port": 53,
  "resolvers": ["8.8.8.8"],
  "timeout": 5,
  "listener": "0.0.0.0",
  "SOAMname": "ns1.mesos",
  "SOARname": "root.ns1.mesos",
  "SOARefresh": 60,
  "SOARetry":  600,
  "SOAExpire":  86400,
  "SOAMinttl": 60,
  "dnson": true,
  "httpon": true,
  "httpport": 8125,
  "externalon": true,
  "IPSources": ["netinfo", "mesos", "host"],
  "EnforceRFC952": false
}

其中:

  • zk 是运行 ZooKeeper 的位置
  • masters 是运行主节点的位置
  • domain 是 Mesos 集群的域名
  • port 是 Mesos DNS 端口
  • listener 是绑定到 mesos-dns 的 IP
  • resolver 是外部 DNS 服务器
  • httpport:将运行 mesos-dns HTTP API 的端口

有关 mesos-DNS 配置参数的更多信息,请参阅 Mesos-DNS 配置参数 网站。

您可以在任何主机上运行 mesos-dns 目录或通过 Marathon 框架运行它。例如:

1
curl -X POST http://192.168.122.48:8080/v2/apps -d @mesos-dns.json -H "Content-type: application/json"

这将通过 Marathon 启动 mesos-dns。

1
curl -X POST http://192.168.122.48:8080/v2/apps -d @mesos-dns.json -H "Content-type: application/json"

这将通过 Marathon 启动 mesos-dns。

1
2
3
4
5
6
7
8
# cat mesos-dns.json
{
    "cmd": "<path>/mesos-dns -config=<path>/config.json",
    "cpus": 1.0,
    "mem": 1024,
    "id": "mesos-dns",
    "instances": 1,
}

使用以下命令直接在主机上运行 mesos-dns:

1
# mesos-dns -v=1 -config=<path_to_config_json>

使用以下格式对该服务命令:

1
<service-name>.<framework>.<domain-name>

因此,MySQL 服务 DNS 名称将是 mysql.marathon.mesos

Mesos-DNS 也会为服务创建 DNS SRV 记录。SRV 记录将服务名称与主机名和 IP 端口相关联。Mesos-DNS 为服务名称生成一条 DNS-SRV 记录 _task._protocol.framework.domain

其中:

  • 任务是启动的应用程序 / 服务(在本例中为 MysSQL)
  • 协议是 UDP 或 TCP,框架是 Marathon 或其他任何框架
  • 域是集群域(在本例中为 Mesos)。

其他 Marathon 应用程序可使用此 SRV 记录来发现服务。

例如,需要 MySQL 服务的任何应用程序都可以查找 _mysql_tcp.marathon.mesos 的 SRV 记录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# docker ps
CONTAINER ID IMAGE          COMMAND    CREATED      STATUS                PORTS                        NAMES
e227390bfb3d ppc64le/mysql "/setup.sh" 3 seconds ago Up Less than a second 0.0.0.0:31172->3306/tcp  mesos-fabb6e52-064a-425a-a501-330bc772cd55-S16.85fb3e7c-b2ca-412f-ac75-1ec314bee575
# dig _mysql._tcp.marathon.mesos -t SRV
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7 <<>> _mysql._tcp.marathon.mesos -t SRV
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2126
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;_mysql._tcp.marathon.mesos. IN SRV
;; ANSWER SECTION:
_mysql._tcp.marathon.mesos. 60 IN SRV 0 0 31172 mysql-4huw5-s16.marathon.slave.mesos.
;; ADDITIONAL SECTION:
mysql-4huw5-s16.marathon.slave.mesos. 60 IN A 192.168.122.48
;; Query time: 1 msec
;; SERVER: 192.168.122.48#53(192.168.122.48)
;; WHEN: Mon Feb 08 14:27:38 IST 2016
;; MSG SIZE rcvd: 147

有关 mesos-dns 命名的更多信息,请参阅 服务命名。

下面的示例 Python 代码使用 dnspython 模块查询 SRV 记录,检索访问该服务所需的主机和端口:

1
2
3
4
5
6
7
import dns.resolver
 
a = dns.resolver.query("_mysql._tcp.marathon.mesos",dns.rdatatype.SRV)
for i in a.response.answer:
    for j in i.items:
        print j.target
        print j.port

以下是示例设置中的输出:

1
2
mysql-4huw5-s16.marathon.slave.mesos.
31172

因此,可以推断 MySQL 服务在主机名为 mysql-4huw5-s16.marathon.slave.mesos 的从属节点的端口 31172 上运行。

可将一种类似逻辑直接包含在应用程序配置中,或者可以使用该数据设置应用程序配置所需的相关环境变量。例如,可以将 MYSQL_TCP_ADDRMYSQL_TCP_PORT 分别设置为目标和端口返回的值。

联络相关人员

IBM Linux Technology Center (LTC) 是一个 IBM 开源软件开发人员团队,他们与 Linux 开源开发社区合作开展工作。LTC 是一个 Linux 技术能力中心。请联系我们。

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138714.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计10666字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7976493
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新SSL证书系统、申请godaddy的APIKEY

升级自动部署更新 SSL 证书系统、申请 godaddy 的 APIKEY 公司之前花钱购买的 ssl 证书快...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

告别Notion焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁”

  告别 Notion 焦虑!这款全平台开源加密笔记神器,让你的隐私真正“上锁” 引言 在数字笔记工...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

星哥带你玩飞牛NAS-16:飞牛云NAS换桌面,fndesk图标管理神器上线!

  星哥带你玩飞牛 NAS-16:飞牛云 NAS 换桌面,fndesk 图标管理神器上线! 引言 哈...
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...