如何通过谷歌云平台设置load balancing 和CDN

2023-11-18

1.创建instance templates(实例模板)

首先,创建一个实例模板来启动一个在负载均衡器后面充当应用服务器的实例。在这个演示中,我们不会在实例中实际启动 Web 应用程序。相反,将 Apache HTTP Server 配置为在端口 80 上运行并响应端口 80 的请求。启动多个这样的实例并将它们放在您的负载均衡器后面。

打开浏览器控制台后,点击左侧菜单中的Compute Engine-> Instance template。就是下图中红框包围的部分。

当实例模板屏幕打开时,单击创建实例模板以转到实例模板创建屏幕。

[Machine type] 选择“Small (1 shared vCPU)”,[Firewall] 勾选“Allow HTTP Traffic”。然后单击管理、磁盘、网络、SSH 密钥并在其下方的启动脚本(可选)文本区域中输入以下内容:

sudo apt-get update
sudo apt-get install apache2 -y
sudo a2ensite default-ssl
sudo a2enmod ssl
sudo service apache2 restart
echo "<!doctype html><html><body><h1>server host: $HOSTNAME </h1></body></html>" | sudo tee /var/www/html/index.html

在此状态下,单击【创建】。

2.创建instance group(实例组)

接下来,创建一个实例组。单击左侧菜单中的实例组。进入实例组界面后,点击【Create a instance group】,进入下图实例组创建界面。

现在,对于实例模板,选择您刚刚创建的实例模板。如果这是您的第一个实例模板,则应将其命名为 insntace-template-1。

然后将基于自动缩放设置为“HTTP Load Balancing Usage”,并为最小模板数输入 2。

将其他项目保留为默认值,然后单击“创建”。会出现如下图所示的警告,因为对应的负载均衡器还没有创建,点击【确定】。

3.设置Load Balancing

接下来,设置load balancing。点击Networking -> Load Balancing,如下图所示。

由于在转换屏幕上未设置负载均衡器,因此仅显示 [创建负载均衡器] 按钮和有关负载均衡器的说明。

单击创建负载均衡器以转到如下所示的负载均衡器类型选择屏幕。

在本演示中,我们将为 HTTP 配置负载均衡器,因此单击 HTTP (S) 负载均衡框中的开始配置。

HTTP (S) 负载平衡器设置屏幕显示如下。

首先,为 Name 输入 test-loadbalancer。

然后单击后端配置。单击创建或选择后端服务和后端存储桶,然后单击后端服务-> 创建后端服务。

后端服务设置屏幕打开,如下面的屏幕所示。

单击实例组选择菜单并选择您刚刚创建的实例组(instance-group-1)。当您进行选择时,将输入所需的项目,因此请单击 [完成]。

您将返回到[创建后端服务]屏幕,在名称中输入“test-backend-service”。单击运行状况检查,然后单击创建运行状况检查。健康检查设置屏幕打开,如下面的屏幕所示。

为 Name 输入 test-health-check,将所有其他保留为默认值,然后单击 Save and continue。

当您返回到创建后端服务屏幕时,单击创建。后端服务现已创建。

然后单击主机和路径规则,然后单击前端配置。即使不特别设置也没有问题。如果你点击它,它会有一个蓝色的勾,它看起来像下面的屏幕。

准备好了。单击创建。一段时间后,负载均衡器将启动,如下所示。

单击您之前创建的 [test-loadbalancer] 以显示负载均衡器详细信息屏幕。您应该会看到如下所示的屏幕。

IP地址显示在Frontend的HTTP中。打开浏览器窗口并尝试访问此地址。您将看到消息“服务器主机:instance-group-1-XXXX”,如下所示。

这显示了主机名,您可以看到主机名在几次重新加载后发生了变化。这是因为负载均衡器后面有两个实例,每个实例在端口 80 上启动一个 HTTP 服务器。

4.将 Cloud CDN 与 Cloud Load balancing 后端服务结合使用

进入后端服务设置界面,在下图的后端服务设置界面,有一个叫【Enable Cloud CDN】的复选框,勾选即可。

保持原样,启动负载均衡器,并添加防火墙规则。启动负载均衡器后,点击左侧导航栏中的【Cloud CDN】菜单项,显示Cloud CDN列表画面。然后,Cloud CDN 的起源创建如下。

5.检查日志

现在,让我们在多次访问 URL 后检查日志。单击左侧的菜单,然后从菜单中单击 Logging 以显示 Stackdriver Logging。

您应该会看到 HTTP 请求的日志,如上图所示。

如果您打开一个日志并展开 httpRequest,cacheLookup: true您将看到它。

您现在应该启用了 Cloud CDN。

6.使缓存无效

返回到 Cloud CDN 列表屏幕并单击 test-loadbalancer。您将进入 Origin 详细信息屏幕,因此单击选项卡上的 [Cache invalidation]。显示如下画面。

标签下有一个输入栏,写着[Path to pattern invalidation],所以/*写在这里,然后点击[Invalidate]。所有缓存现在都失效了。当然,您也可以使用模式匹配来使缓存仅针对特定路径无效。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过谷歌云平台设置load balancing 和CDN 的相关文章

  • 如何在java中以编程方式访问网页

    有一个网页 我想从中检索某个字符串 为此 我需要登录 单击一些按钮 填充文本框 单击另一个按钮 然后就会出现字符串 我怎样才能编写一个java程序来自动执行此操作 是否有任何有用的库用于此目的 Thanks Try HtmlUnit htt
  • 在 Java 中将日期从 UTC 转换为 PST

    我需要将日期从 Google App Engine 本地服务器时区转换为 Java 中的太平洋时间 我尝试使用 Calendar calstart Calendar getInstance calstart setTimeZone Time
  • spring-data-neo4j 基本一对多关系不持久

    EDIT 示例项目可在github https github com troig neo4jCustomRepository 我在后端项目中使用 Neo4J Rest 图形数据库 托管在 grapheneDb 中 和 Spring Data
  • Spring JSON序列化、Gson反序列化

    我目前在某些内部对象的反序列化方面遇到问题 在春天 我在使用输出之前初始化所有对象 ResponseBody 例如 这是一个响应 id 1 location id 1 extra location data id 2 location 1
  • Java中单击和双击的区别

    我搜索论坛并看到以下代码 public void mouseClicked MouseEvent e if e getClickCount 2 System out println and it s a double click wasDo
  • 在java中查找OSX的版本

    我需要测试 java 中 osx 的版本是否 Try System getProperty os name and or System getProperty os version 它返回字符串 HERE https docs oracle
  • 版本差异? Java 中的正则表达式转义

    看来正则表达式转义在不同版本的 Java 中的工作方式不同 在 Java openjdk 16 0 1 中编译工作正常 在 Java openjdk 11 0 11 中抛出此编译错误 test java 15 error illegal e
  • 如何制作一个向用户显示图像而不是文本的下拉列表?

    ObjectChoiceField 字段满足我的所有要求 但它并不漂亮 这就是我所拥有的 String pets Dog Cat Duck ObjectChoiceField dd new ObjectChoiceField My Pet
  • 我可以直接在 Maven 中使用 GitHub 项目吗?

    我有兴趣使用GitHub 上的项目 https github com toelen spymemcached jcache作为我的项目中的依赖项 GitHub 项目有一个pom文件 我可以修改我的pom文件来使用这个项目 如果是这样 怎么办
  • 更改 WireMock __files 目录

    来自docs http wiremock org docs stubbing 要从文件中读取正文内容 请将文件放在 files 下 目录 默认情况下 这应该位于 src test resources 下 从 JUnit 规则运行时 当独立运
  • Windows:如何获取所有可见窗口的列表?

    无论如何都要使用相关技术重新标记 我不知道它们是什么 稍后我可能会提出更详细的问题 关于具体细节 但现在我正在尝试掌握 大局 我正在寻找一种方法来枚举 Windows 上的 真实可见窗口 我所说的 真正可见的窗口 就是指 用户所说的 窗口
  • 优化两个三位数乘积的最大回文数?

    我正在研究一个面试问题 我被问到这个问题 我应该编写一个程序 从两个三位数的乘积中找到最大的回文数 这里是question https projecteuler net problem 4 我想出了这种从底部开始的蛮力方法 public c
  • Java编译错误:包不存在

    在我的工作区 wsPrivate 中 我有 3 个 gradle 项目 刽子手 像素视图 Reports PixelView 和 Reports 项目编译良好 然而 Hangman 使用这两个项目 并且有些在编译时找不到包 请参阅以下错误
  • Hibernate - 如何通过 Hibernate 将 java.net.URL 存储到数据库中

    我有一块田地URL countryURL in a Country班级 我想将其数据存储到COUNTRY通过 Hibernate 将表存储在数据库中 哪个休眠type我应该在休眠映射文件中使用
  • 部署到 Glassfish 4.1 时 URL 模式无效

    如果用户已经通过身份验证 我有一个网络过滤器可以从登录和索引页面重定向 最初我有一个无效的 URL 模式 我修复了无效模式并尝试重新部署以接收以下内容 java lang IllegalArgumentException Invalid U
  • DOM 中不再存在缓存元素

    就像在类似的问题中一样 我使用appium java 尝试选择元素 在移动应用程序中 我要转到页面 之后有许多元素 android widget ImageView 0 我需要选择 6 个 例如 这样的元素并执行其他步骤 Byt 只能选择一
  • 如何使用 log4j2.xml 配置 hibernate 日志记录?

    我最近切换到 Apache log4j2 但仍然找不到使用 log4j2 xml 配置 hibernate 日志记录的方法 因为我找不到解决此问题的方法 所以我仍然显式使用 log4j properties 文件进行休眠 这不是最好的解决方
  • 异步方法的同步版本

    在 Java 中创建异步方法的同步版本的最佳方法是什么 假设您有一个包含这两种方法的类 asyncDoSomething Starts an asynchronous task onFinishDoSomething Called when
  • Spring验证非空元素的字符串列表

    我有一个模型类 其中包含字符串列表 该列表可以为空 也可以包含元素 如果它有元素 这些元素不能为空 举个例子 假设我有一个名为 QuestionPaper 的类 它有一个 QuestionId 列表 其中每个都是一个字符串 class Qu
  • 在java中加密字符串,在node.js中解密,错误:解密失败

    我正在尝试用 java 加密一个字符串 将其发送到我的 node js 服务器 然后解密 但是 当我尝试执行此操作时 尝试解密时会不断出现错误 Java加密 String privateKey someprivatekey String d

随机推荐

  • 每一座屎山代码背后,都藏着一堆熟读代码规范的研发

    导读 韩寒在 他的国 中写道 我们懂很多道理 却依然过不好这一生 人们虽然知道很多道理 但并不一定能将这些道理应用到实际生活中 这种现象在生活中很常见 我们听了很多的成功学的道理 但实际上 成功和幸福不是仅仅靠这些道理就能实现的 需要不断地
  • Linux脚本错误:没有那个文件或目录

    linux下执行脚本的时候报错 没有那个文件或目录 ls看一下 是有文件的 原因 文件格式错误 首先 vim filename查看文件 然后用命令 set ff看文件格式 可看到dos或unix的字样 如果的确是dos格式的 需要改成uni
  • 判断是否为二分图的两种算法 dfs/bfs

    判断是否为二分图的两种算法 dfs bfs 判断一个无向图是不是二分图 使用染色法 对每个顶点的相邻顶点染与顶点不同的颜色 如果染过色且与顶点颜色相同 则不是二分图 author 熊谦智 判断该图是否为二分图 1 判断无向图是否有环 如果图
  • MySQL 优化

    一 服务器配置优化 1 增加内存容量 内存容量是影响MySQL性能的重要因素之一 在MySQL中 有一个名为 缓冲池 的内存区域 用于缓存数据和索引 如果缓冲池太小 MySQL将频繁地从磁盘中读取数据 从而导致性能下降 因此 增加内存容量可
  • linux 修改密码命令

    1 passwd命令 脚本中语法 echo password passwd testuser stdin gt dev null 2 gt 1 或 echo newpasswd sleep 1 echo newpasswd passwd g
  • 猿人学做题笔记

    简单记录一下做题的思路步骤 1 第一题说的是无混淆加密 简单 刚开始观察请求 发现链接和请求携带的参数都没有什么异常 然后直接请求会拿不到数据 于是仔细看了一下请求包 发现请求头里面有些东西比较异常 里面有一个safe参数和timestam
  • k近邻算法中k值得选择

    k值得选择会对k近邻的结果产生重大的影响 如果选择较小的K值 就相当于用较小的邻域中的训练实例进行预测 学习 的近似误差会减小 只有输入实例较近的训练实例才会对预测结果起作用 但缺点是 学习 的估计误差会增大 预测结果会对近邻实例点非常敏感
  • 阿里云服务器部署javaweb

    1 首先购买服务器和域名 服务器类型选择 云服务器ecs 不要选择突发性能型 域名自便 注 域名解析需要备案 此类型服务器要求有效期大于三个月才可以备案 服务器设置 安全组规则设置 开放相应端口号 22 23 80 433 1433 330
  • 微信小程序中的数据更新实时显示,setData函数

    setData函数包括上一篇中的onLoad onShow onReady onHide以及onUnload函数均在微信小程序开发文档中的Page Object object 一栏中可查到 setData函数用于在小程序中动态更新数据并在屏
  • chat gpt的提示词汇总

    提示词的存在让ChatGPT能够扮演特定的角色 对用户的回答更加专业对口 ChatGPT在日常的对话中 表现的非常的完美 当在其他的场景希望使用ChatGPT来解决问题的时候 通常需要给ChatGPT一些提示 或者说暗示 让其进入某种角色
  • VS2019安装Qt插件教程,发现下载不了问题解决

    1 打开VS 最上方工具栏中点击扩展窗口 选择管理扩展 2 在右边搜索中搜索qt出现以下界面 这时可能出现问题 再点击下载发现迟迟下载不了 或者是下载到一定地步后无法下载 再或者是下载完成后安装无反应 解决办法 点击有点的详细信息或者进入如
  • 每天学命令Net Properties

    get property var name property clock clock name view view name quiet 介绍一下get property命令里面的Net property属性 命令的用法参考下面链接 每天学
  • 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级的说明及处理策略

    缓存雪崩 缓存雪崩我们可以简单的理解为 由于原有缓存失效 新缓存未到期间所有原本应该访问缓存的请求都去查询数据库了 而对数据库 CPU 和内存造成巨大压力 严重的会造成数据库宕机 从而形成一系列连锁反应 造成整个系统崩溃 一般有三种处理办法
  • mysql之函数25

    1 函数 mysql的函数和存储过程几乎是一样的 区别是函数有且只有一个返回值 而存储过程可以有0个返回 也可以有多个返回 所以有的mysql界面操作直接将存储过程和函数合并 下面是函数的总结 主要注意一下和存储过程的区别和语法 然后再看几
  • 系统架构设计高级技能 · 通信系统架构设计理论与实践

    现在的一切都是为将来的梦想编织翅膀 让梦想在现实中展翅高飞 Now everything is for the future of dream weaving wings let the dream fly in reality 点击进入系
  • qt设置样式qss中border-image和background-image的区别

    如果你需要使用背景图片 代码中一般这么写 btnOk gt setStyleSheet QPushButton border image url Shield button bg png color white 或者 btnOk gt se
  • 如何彻底卸载360安全卫士

    问题 在网页上下载了个插件 不小心下载了捆绑软件360 用geek卸载360安全卫士后 发现程序面板和电脑管家的软件都不显示360了 但是开机还是有360启动提示 就知道根本没卸干净 主程序还在 在各个盘搜索360 也搜不到安装路径 真的离
  • CVE-2018-2894WebLogic未授权任意文件上传

    CVE 2018 2894WebLogic未授权任意文件上传 这个洞的限制就比较多了 限制版本 Oracle WebLogic Server版本 10 3 6 0 12 1 3 0 12 2 1 2 12 2 1 3 限制配置 该漏洞的影响
  • IDEA设置成白色背景

    遇到问题 对于习惯用eclipse的程序员本媛来说 真的不习惯Idea的黑色背景 看着就是别扭 解决办法 File Settings Appearance Behavior Theme换成 IntelliJ Light即可 注 IDEA默认
  • 如何通过谷歌云平台设置load balancing 和CDN

    1 创建instance templates 实例模板 首先 创建一个实例模板来启动一个在负载均衡器后面充当应用服务器的实例 在这个演示中 我们不会在实例中实际启动 Web 应用程序 相反 将 Apache HTTP Server 配置为在