Deploy

一篇文章带你玩转TiDB灾难恢复

你说的曾经没有我的故事 提交于 2020-08-04 16:33:50
一篇文章带你玩转TiDB灾难恢复 一、背景 高可用是 TiDB 的另一大特点,TiDB/TiKV/PD 这三个组件都能容忍部分实例失效,不影响整个集群的可用性。下面分别说明这三个组件的可用性、单个实例失效后的后果以及如何恢复。 TiDB TiDB 是无状态的,推荐至少部署两个实例,前端通过负载均衡组件对外提供服务。当单个实例失效时,会影响正在这个实例上进行的 Session,从应用的角度看,会出现单次请求失败的情况,重新连接后即可继续获得服务。单个实例失效后,可以重启这个实例或者部署一个新的实例。 PD PD 是一个集群,通过 Raft 协议保持数据的一致性,单个实例失效时,如果这个实例不是 Raft 的 leader,那么服务完全不受影响;如果这个实例是 Raft 的 leader,会重新选出新的 Raft leader,自动恢复服务。PD 在选举的过程中无法对外提供服务,这个时间大约是3秒钟。推荐至少部署三个 PD 实例,单个实例失效后,重启这个实例或者添加新的实例。 TiKV TiKV 是一个集群,通过 Raft 协议保持数据的一致性(副本数量可配置,默认保存三副本),并通过 PD 做负载均衡调度。单个节点失效时,会影响这个节点上存储的所有 Region。对于 Region 中的 Leader 节点,会中断服务,等待重新选举;对于 Region 中的 Follower 节点

(文末送书)巨详细!使用OpenCV和OpenVINO轻松创建深度学习应用

安稳与你 提交于 2020-08-04 12:31:05
点击上方“ 计算机视觉cv ”即可“进入公众号” 重磅干货第一时间送达 本文来自6月份出版的新书 《 OpenCV深度学习应用与性能优化实践 》 ,作者团队也是OpenCV DNN 模块的主要贡献者,是国内唯一的系统介绍OpenCV DNN 推理模块原理和实践的书,文末有福利, 留言赠书 1 本 。 OpenCV 是业界使用最为广泛的计算机视觉库,随着深度学习在计算机视觉领域的广泛应用,OpenCV 自3.3开始加入对深度学习推理的支持,即OpenCV DNN模块。 它支持TensorFlow、Caffe、Torch、DarkNet、ONNX 和 OpenVINO 格式的网络模型,开发者无需考虑模型格式的差异,直接调用DNN模块相关接口即可快速创建深度学习应用。 OpenVINO是英特尔推出的视觉推理加速工具包。OpenCV 3.4.1版本加入了英特尔推理引擎后端(英特尔推理引擎是OpenVINO中的一个组件),为英特尔平台的模型推理进行加速。 本文将以MobileNet-SSD模型为例,展示如何使用OpenCV和OpenVINO快速创建深度学习应用。 在深入代码之前,让我们了解一下OpenVINO工具包以及OpenCV是如何跟OpenVINO交互的。 OpenVINO工具包 2018 年 5 月 Intel 发布了 OpenVINO(Open Visual Inferencing

使用 ServerLess 实现云原生

人走茶凉 提交于 2020-07-29 10:18:41
笔者有幸经历了 IaaS(OS)、CaaS(Container),在这两年又听到了 FaaS(Funtion),这也是运维开发领域里的第三个阶段了吧,今天我将从一个不懂得开发的系统工程师视角以及结合之前的几篇系列文章为各位诠释这个概念。 本文来自 Serverless 社区用户「StatLee」投稿 一、简述 一开始听到 ServerLess 我以为是类似于 VPS(建站主机)亦或者是 VM、Container 之类的具备完整 OS 或半完整 OS 生态的一个全新开发方式,后来发现我完全理解错了,如果说传统的云计算是这样分层的: 那么 FaaS(ServerLess 为代表的的 Funtion As A Service)就是把 SaaS 再进行精细化拆分,可以看这张图就明白了(特别是红圈部分): 传统以为 Application 就是业务的最终形态,可是随着以开发领域为首的「微服务」及运维领域为首的「SRE/DevOps」理念出来后,传统的业务运维明显已经不能满足新一代业务的需求,为了更贴合这些新的需求,实现: 模块拆分化(即一个功能作为一个模块,而非一个业务作为一个模块) 最小颗粒化变更(即分层变更,变更时通过合理调度时变更间隔缩短,实现快速迭代)的目的 云厂商最终在以往的「最终形态」上又拆分了 Function 出来,多个 Function 再组成 Application

Rancher部署K8s以及编排springboot项目

久未见 提交于 2020-07-29 03:03:55
rancher安装k8s集群 参考 https://docs.rancher.cn/rancher2x/quick-start.html#_3-%E5%AE%89%E8%A3%85rancher 预计耗时: 5分钟 springboot打包镜像,并提交至私服镜像仓库 Dockerfile FROM openjdk:8-jdk-alpine # 复制打包完成后的jar文件到/opt目录下 WORKDIR /opt/ COPY ./ruoyi-sys.jar /opt/ruoyi-sys.jar # /data设为环境变量 ENV DATAPATH /tmp # 挂载/data目录到主机 VOLUME $DATAPATH EXPOSE 8087 # 启动容器时执行 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-XX:-PrintGCDetails","-XX:-PrintGCTimeStamps","-XX:-HeapDumpOnOutOfMemoryError","-XX:HeapDumpPath=/var/logs/dump/oom_dump.dump","-Xloggc:/var/logs/jvm/app.log","-Dfile.encoding=UTF8","-Duser.timezone=GMT

基于 API 网关 + 云函数 SCF 部署 Serverless 外卖订单系统

守給你的承諾、 提交于 2020-07-28 10:52:32
API 网关结合云函数 SCF 的使用场景非常丰富,本文将介绍如何基于 API 网关+云函数 SCF 快速部署 Serverless 的外卖订单系统。 消息推送使用的典型场景 外卖订单系统架构图 Demo 实战 1. 安装Serverless Framework npm install -g serverless 2. 初始化项目模板 sls init -t websocket-order 3. 查看项目目录 下载到本地后,查看项目目录结构如下: 包含 DB、网关、函数等多个子模块。 db 目录用于创建 PG Serverless 数据库实例 apigateway 用于创建对应的 API : /bill 下单 API,HTTP 类型 /get_shop_info,获取店铺菜单 API /pgws,用于做消息推送的 websocket API 函数列表如下: 消息推送相关函数: 注册函数 ws_register.py, 配置 DB 的环境变量 传输函数 ws_trans.py ,配置 DB 的环境变量以及 apiid= 消息推送API 注销函数 ws_unregister.py ,配置 DB 的环境变量以及 apiid= 消息推送API 下单函数 bill.py , 配置 DB 的环境变量以及 apiid= 消息推送API 拉取店铺信息函数 get_shop_info.py,配置

ASP.NET Core Blazor WebAssembly实现一个简单的TODO List

两盒软妹~` 提交于 2020-07-28 09:05:06
基于blazor实现的一个简单的TODO List 最近看到一些大佬都开始关注blazor,我也想学习一下。做了一个小的demo,todolist,仅是一个小示例,参考此vue项目的实现 http://www.jq22.com/code1339 先看实现的效果图 不BB,直接可以去看 源码与预览地址 示例地址 http://baimocore.cn:8081/ 源码地址 BlazorAppTodoList 源码介绍 我们这里删除了默认的一些源码。只保留最简单的结构,在Pages/Index.razor中。 @code代码结构中写如下内容 创建一个类,里面包含 id,label,isdone三个属性值。 public class TodoItem { public TodoItem () { } public TodoItem (int id, string label, bool isDone) { Id = id; Label = label; IsDone = isDone; } public int Id { get; set; } public string Label { get; set; } public bool IsDone { get; set; } } 我们可以通过override重写初始化,并给Todos设置一些数据。 private IList

Hacker News 简讯 2020-07-14

寵の児 提交于 2020-07-28 03:57:13
更新时间: 2020-07-14 23:00 Eventual Consistency isn’t for Streaming - (materialize.io) 最终一致性不适合流式传输 得分:51 | 评论:8 The TikTok War - (stratechery.com) 伊拉克战争 得分:54 | 评论:35 Grant Imahara Has Died - (hollywoodreporter.com) 格兰特·今原去世了 得分:1386 | 评论:190 Show HN: Is It Worth the Cost? - (isitworththecost.com) 给HN看:值得吗? 得分:182 | 评论:43 Ex-googler's startup comes out of stealth with simple, clever robot design - (ieee.org) 前谷歌公司的初创公司以简单、巧妙的机器人设计摆脱了隐身状态 得分:374 | 评论:249 Poland puts computer game “This War of Mine” on school reading list - (notesfrompoland.com) 波兰将电脑游戏“我的这场战争”列入学校阅读清单 得分:75 | 评论:29 Andean condor

使用 Serverless + 飞书打造你的个性化消息提醒系统

旧城冷巷雨未停 提交于 2020-07-27 22:26:39
一、前言 在日常工作学习生活中,我们可能会遇到以下情形: 自己管理的某台服务器宕机了,但是没有得到及时的提醒,导致业务受到损失 某些自己很想注册的网站悄悄开放注册,但是自己并没有及时得知,于是只能继续漫无目的的等待 …… 如果每件事都花时间去关注,那我们的时间必然会不够用,那有没有什么办法可以让这些消息 集中 起来并且 及时 推送呢?在这里我想向大家推荐一个解决方案,那就是 使用 Serverless + 飞书打造属于自己的个性化消息提醒系统 。 二、准备工作 首先注册一个飞书账号,然后在 飞书网页版 登录 打开 飞书开放平台 ,点击 创建企业自建应用 ,并输入 应用名称 和 应用副标题 ,然后点击 确定创建 在企业自建应用列表中点击刚刚创建成功的应用,并记录 App ID 和 App Secret 二、编写代码 在本地新建一个项目目录,名称随意,这里以 feishu-notify 为例 分别创建 3 个文件: .env , index.py 和 serverless.yml 按如下说明进行编码 .env TENCENT_SECRET_ID=AKID******************************** TENCENT_SECRET_KEY=******************************** 注:这里的 TENCENT_SECRET_ID 和 TENCENT

使用 Serverless + 飞书打造你的个性化消息提醒系统

柔情痞子 提交于 2020-07-27 13:11:16
一、前言 在日常工作学习生活中,我们可能会遇到以下情形: 自己管理的某台服务器宕机了,但是没有得到及时的提醒,导致业务受到损失 某些自己很想注册的网站悄悄开放注册,但是自己并没有及时得知,于是只能继续漫无目的的等待 …… 如果每件事都花时间去关注,那我们的时间必然会不够用,那有没有什么办法可以让这些消息 集中 起来并且 及时 推送呢?在这里我想向大家推荐一个解决方案,那就是 使用 Serverless + 飞书打造属于自己的个性化消息提醒系统 。 二、准备工作 首先注册一个飞书账号,然后在 飞书网页版 登录 打开 飞书开放平台 ,点击 创建企业自建应用 ,并输入 应用名称 和 应用副标题 ,然后点击 确定创建 在企业自建应用列表中点击刚刚创建成功的应用,并记录 App ID 和 App Secret 二、编写代码 在本地新建一个项目目录,名称随意,这里以 feishu-notify 为例 分别创建 3 个文件: .env , index.py 和 serverless.yml 按如下说明进行编码 .env TENCENT_SECRET_ID=AKID******************************** TENCENT_SECRET_KEY=******************************** 注:这里的 TENCENT_SECRET_ID 和 TENCENT

使用 serverless 在腾讯云部署第一个函数

筅森魡賤 提交于 2020-07-27 13:10:22
Serverless 是各大云服务商提供出来的一种无服务的计算资源。为什么叫无服务呢,因为如果你使用 serverless ,你只需要关注应用层,而无需关心底层基础设施,无需运维。简而言之, serverless 并不是真的无服务,而是关于有服务的不归你管,云服务商帮你搞定,比如 Google , AWS 或者 TencentCloud 。 关注点分离,好呀好!有了 serverless 以后只需要也只能关心业务了,这也不知是喜是忧。但你也无需过于担心,这是对已有并且成熟的开发模式的挑战,解决痛点有限,因此很多团队对于替换为 serverless 也动力不足。 但是我仍然建议你学习 serverless ,毕竟各大云厂商对于 serverless 有很多免费额度可以让你薅羊毛,对于个人开发者利好。 Serverless Framework serverless 是基于各大云服务商的产品,每一个云厂商对于 serverless 都有一套自己的 API。为了能够兼容这些 API,为了让你的代码 Write Once, Run Everywhere ,于是 serverless framework 诞生了。 通常认为 serverless = faas + baas,然而 serverless framework 只兼容到了 faas,对于 baas,如各家提供的数据存储服务