数据上云--科技感满满

2024-06-15 21:44
文章标签 数据 科技 上云 满满

本文主要是介绍数据上云--科技感满满,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

迁移上云:目的

1 为什么要上云

① 公司发展规划,需要上云
如果我自己公司是自研的
② 国家要求,第二:自研产品,但是公司不是纯靠销售来去盈利发展,而还会设计需要将我们的技术服务,提供给客户,所以我们
只是自研的自己产品,但是给客户使用的时候,客户是要求上云的,所以我们上云
③ 成本、运维成本、随着公司发展,面向的市场不断扩展,公司内部交付、运维、开发以及硬件成本会不断提高,所以也考虑到这
点,上云,是现阶段比较合适公司指向的一种发展和运作方向

2 架构上云

资源规划、环境规划对应的资源成本
架构上云之后,是安装原本的服务体系搭建,还是直接租赁
如果租赁的话,我们的原有架构/项目体系对接上需要注意哪些,实现后会不会有一些风险、漏洞或者性能下降等情况
如果租赁的话,服务如何组合,是自己设计,还是购买方案(钱)

中小公司,有一些对于上云的准备工作不会特别的明确,因为公司这只有一个运维,公司会让运维出一套“上云方案”,其他的部门
是否可以认可,实施起来,执行力知否足够 。。。。。。 最终上云之后,业务可以运行,但是一旦出了问题,人员沟通成本大大
提高

10班 
我们公司几乎所有的服务都是在云上的,但是现在的架构中资源信息非常杂乱,那么如果你来的话,你会怎么梳理,顺下来

数据 (结构化数据和非结构化数据)
评估 (预先规划数据迁移上云的时间周期评估)

① 环境 ---》 云上架构和云下架构体系差别在哪,如何平衡(5大负载 128内存 ),持续性的测试,环境服务、设备的梳理
——》形成资源文档(按照项目),包含,基础资源、内核版本/操作系统版本、基础依赖环境,例如python 环境 jdk环境等等
——》按项目、按分支公司、按区域、按服务体系,区分特色性的环境
——》公网IP需求,几个? 对应的是哪些服务,环境 要多少钱,按量收费(流量、存储因素——》费用,计费)
——》几个环境,生产,需求几个开发环境(钱)

② 数据安全————》上云之后,原本在云下做的一些防护措施、手段,如何平衡,防DDOS 中间人、cc、sql注入等等一些防护,是否
需要额外租赁一些云上的防护措施
——》上云之后的备份、冗余方案
——》数据迁移上云后,是否可以正常加载、兼容
——》数据迁移上云预计需要哪些配置,包括了资源、证书密钥、数据迁移上云的时间

③ 风险——————》网络安全/网络流量风险、备份容器方案、扩容、缩容需求/方案,云平台上使用的安全机制

④ 对接、关联 ————》数据导入之后,云上的服务环境,兼容度如何、实际使用ECS云服务器之后,虚拟化环境所带来的业务压力、
数据读、取的压力怎么平衡、数据如何平滑迁移上去,刚迁移之后,正常提供业务的(测试阶段、回滚方案),与云上的服务对接
的时候,数据传输、展示、完整性检测

⑤ 信息收集 —————》 资源、钱要多少(包月/季/年,按量计费的钱)、运维成本、环境、风险评估、资质、域名

⑥ 区分云上、云下的服务有哪些(数据库不建议上云)

⑦ 不同云平台的测评、对比

3 规划设计

分模块数据迁移上云(参照资源信息表,例如xxx项目资源统计表)
数据迁移上云的顺序、以及导入、回归的方案设计
遇到问题,如何解决、解决方案、应急方案
预先把本地的数据打包、备份上云,云上的服务可以通过加载云上的数据,达到和云下的业务一致性的问题(过程中)
业务运行过程中,云上业务和云下数据库服务进行对接的时候,如何对接,对接性能损耗(通过网络方向、延展到数据一致性的解决方案)
先使用开发环境上云测试、验证可执行性(生产:测试,2:1)

4 实施:

环境准备好(包含了ECS资源类型选择(5大资源)、操作系统(版本)、基础服务搭建)
数据迁移预案/演练
预案,根据规划设计的文档进行实施,同时准备好回归演练
实施数据迁移

5 优化:

① 迁移上之后,原本云下的业务100%,云上的运行效率、可运维性,需要进行维护调整、对各类服务进行优化、ECS 5大资源优化
内核优化、第三方组件集成优化---->最终目的,尽量节省成本+ 业务持续运行

② 业务冗余性(存储),存储的数据,是使用云下,保证完整性,若同时使用云上的,云上的数据备份策略如何

③ 安全、一致性、完整性、可运维性、可执行性的

④ 双活、异地、同城的

⑤ 服务账号 (阿里、AWS、华为)

二 简单题

1  请给出查看当前默认网关和其它路由表的信息的命令。
                   netstat -rn

2  请给出查看/var目录下每个文件/文件夹的大小的命令。
     du -sk /var/*

3   请给出将“sleep 1500“命令放在后台执行的命令,并给出查询该后台命令Pid,然后kill掉该命令的方法和命令。(8分)
nohup sleep 1500 &
               kill -9 `ps -ef|grep 1500|grep -v 'grep'|awk '{print $2}'`
                 or分步操作也可以

4  请给出”su oracle” 和”su - oracle”的区别。

“-”代表:开启新的shell环境,切换到新用户并且读取新用户的环境变量
     没有“-” 不开启新的shell环境,保持老用户的环境变量,仅仅切换用户

5    请给出将test1,test2,test3三个文件打包成test.tar的文件的命令,并给出查看test.tar打包信息的命令,并给出解压test.tar文件的命令。
tar -cvf test.tar tes1 test2 test3 打包
      tar -tvf test.tar 查看
      tar -xvf test.tar 解包

1:你工作上遇到的复杂的问题是什么?怎么处理的?

2:简述你参与过的一个项目,主要部署产品及承担的作用是什么?你在工作中的责任?                                                                                                                           

3.每天8小时工作中,你的工作任务都是什么?你是如何安排这个时间的

三 面试题整理上海 道一云

1 shell脚本#!/bin/bash这一行的作用是什么

默认解释器、有其它类型的解释器,比如#!/usr/bin/python、#!/usr/bin/expect。

2 那你能告诉我在shell脚本中如果将标准输出和错误输出到同一个位置里面 

        &>  读and加大于号

3 在shell脚本中在某一个模块中嵌套一个if的语句怎么写

比如说写一个httpd启动脚本,在if中嵌套if
#!/bin/bash
ps -aux | grep httpd | grep -v grep &> /dev/null
if [$? -ne 0]
then 
 if [[ "$(rpm -q httpd)"=="未安装httpd软件包"]]
   then
     yum install -y httpd &> /dev/null
      echo "正在安装httpd"
       systemctl start httpd
        echo "httpd已开启"
          else
            systemctl start httpd
 fi
else 
    echo "httpd正在运行"
fi

4 shell脚本中$?是什么意思

最后运行的命令的结束代码(返回值)即执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)

5 shell脚本中的break命令的作用

break用于跳出一个循环体或者完全结束一个循环,不仅可以结束其所在的循环,还可结束其外层循环。
break默认为跳出当前一层循环,如果需要跳出多层,在break后加上n(如跳出两层,使用 break 2)

6 如果客户端连接不到服务端,或者网络不同,我想查看一下他的网络流量,通过什么方式抓包

        tcpdump

7、tcpdump指定目标地址用什么选项

指定主机名 (Specify Host Name)
tcpdump host 主机名.com

指定IP地址
tcpdump host 192.168.122.10

指定端口
 tcpdump host poftut.com port 80
 
 指定目标端口 
  tcpdump host poftut.com dst port https
  
  指定源端口 (Specify Source Port)
  tcpdump host poftut.com src port smtp

  8、能简单说一下,我需要在nginx的access mand日志,需要查找一些内容,需要过滤日志里面早上9点到10点的时间的日志

sed -n "/2022-11-24 09:00:00/,/2020-11-24 10:00:00./p" nginx-out.log > nginx-out.log.20200324

9、用过sed替换吗

sed -n "/2022-11-24 09:00:00/,/2020-11-24 10:00:00./p" nginx-out.log > nginx-out.log.20200324

10、tomcat 优化
11、mysql部署过集群吗,mysql主从复制的核心原理

**MySQL主从复制原理**:

**首先有两个日志和三个线程**

(1)Master节点将数据的改变记录成二进制日志(Binary log),当Master上的数据发送改变时,则将其改变写入二进制日志中。

(2)Slave节点会在一定时间间隔内对Master的二进制日志进行探测其是否发生改变,如果发生改变,则开始一个I/O线程请求Master的二进制事件。

(3)同时Master节点为每个I/O线程启动一个dump线程,用于向其发送二进制事件,并保存至Slave节点本地的中继日志(Relay log)中,Slave节点将启动SQL线程从中继日志中读取二进制日志,在本地重放,即解析成sql语句逐一执行,使得其数据和Master节点的保持一致,最后I/O线程和SQL线程将进入睡眠状态,等待下一次被唤醒。

**注:**

中继日志通常位于OS缓存中,所以中继日志的开销很小。

复制过程有一个很重要的限制,即复制在Slave上是串行化的,也就是说Master上的并行更新操作不能在Slave上并行操作。

12、mysql复制是同步复制还是异步复制

      异步复制

13、主从不同步的因素有哪些

slave的I/O线程推迟读取日志中的事件信息;最常见原因是slave是在单线程中执行所有事务,而master有很多线程可以并行执行事务。
带来低效连接的长查询、磁盘读取的I/O限制、锁竞争和innodb线程同步启动等。
网络延迟
机器配置(cpu、内存、硬盘)

减少同步延迟的操作方案

1--减少锁竞争

如果查询导致大量的表锁定,需要考虑重构查询语句,尽量避免过多的锁。

2--负载均衡

搭建多少slave,并且使用lvs或nginx进行查询负载均衡,可以减少每个slave执行查询的次数和时间,从而将更多的时间用于去处理主从同步。

3--salve较高的机器配置
4--slave调整参数

为了保障较高的数据安全性,配置sync_binlog=1,innodb_flush_log_at_trx_commit=1等设置。而Slave可以关闭binlog,innodb_flush_log_at_trx_commit也可以设置为0来提高sql的执行效率(这两个参数很管用)

5--并行复制

即将单线程的复制改成多线程复制。

从库有两个线程与复制相关:io_thread 负责从主库拿binlog并写到relaylog, sql_thread 负责读relaylog并执行。

多线程的思路就是把sql_thread 变成分发线程,然后由一组worker_thread来负责执行。

14、mysql优化
15、mysql配置文件优化
16、k8s用什么搭建的
17、docker的工作原理

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问。
Docker-Server接收到Docker-Client的指令,就会执行这个命令!

18、docker组成有那几部分

镜像
容器
仓库

19、dockerfile的一个构建镜像的过程

1、编写一个dockerfile 文件
2、docker build构建成为一个镜像
3、docker run运行镜像
4、docker push发布镜像(DockerHub、阿里云镜像仓库!)

Docker镜像加载原理

docker的镜像实际上由一层一层的文件系统组成,这种层级的文件系统UnionFS.
**bootfs(boot file system)**主要包含bootloader和kernel, bootloader主要是引导加载kernel, Linux刚启动时会加载bootfs文件系统,在Docker镜像的最底层是bootfs。这一层与我们典型的Linux/Unix系统是一样的,包含boot加载器和内核。当boot加载完成之后整个内核就都在内存中了,此时内存的使用权已由bootfs转交给内核,此时系统也会卸载bootfs。
rootfs (root file system),在bootfs之上。包含的就是典型Linux系统中的/dev, /proc,/bin, letc等标准目录和文件。rootfs就是各种不同的操作系统发行版,比如Ubuntu , Centos等等。

20、怎么进入容器

         docker exec

21、k8s组件有哪些
22、k8s命名空间的作用是什么

隔离集群资源、隔离容器

资源隔离:可为不同的团队/用户(或项目)提供虚拟的集群空间,共享同一个Kubernetes集群的资源。比如可以为团队A创建一个Namespace ns-a,团队A的项目都部署运行在 ns-a 中,团队B创建另一个Namespace ns-b,其项目都部署运行在 ns-b 中,或者为开发、测试、生产环境创建不同的Namespace,以做到彼此之间相互隔离,互不影响。我们可以使用 ResourceQuota 与 Resource LimitRange 来指定与限制 各个namesapce的资源分配与使用

权限控制:可以指定某个namespace哪些用户可以访问,哪些用户不能访问

23、pod重启策略
24、pod镜像拉取策略
25、pod存活探针

       httpget

26、监控系统用过吗
27、怎么通过Prometheus监控
28、有试过自己自定义监控吗,如监控特定端口

添加一个自定义监控的步骤如下:

1、创建一个ServiceMonitor对象,用于Prometheus添加监控项
2、为ServiceMonitor对象关联metrics数据接口的Service对象
3、确保Services对象可以正确获取到metrics数据

29、Prometheus告警策略做过吗

30、ELK是什么

31、你用的es是集群还是单机

32、有想过用集群es

单机的elasticsearch做数据存储,必然面临两个问题:海量数据存储问题、单点故障问题。集群(cluster):一组拥有共同的 cluster name 的 节点。

节点(node) :集群中的一个 Elasticearch 实例

分片(shard):索引可以被拆分为不同的部分进行存储,称为分片。在集群环境下,一个索引的不同分片可以拆分到不同的节点中

解决问题:数据量太大,单点存储量有限的问题。

主分片(Primary shard):相对于副本分片的定义。

副本分片(Replica shard)每个主分片可以有一个或者多个副本,数据和主分片一样。

数据备份可以保证高可用,但是每个分片备份一份,所需要的节点数量就会翻一倍,成本实在是太高了!

为了在高可用和成本间寻求平衡,我们可以这样做:

首先对数据分片,存储到不同节点
然后对每个分片进行备份,放到对方节点,完成互相备份

33、目前es数据库已经满了,现在有一个新的磁盘,那我应该怎么数据迁移

查询并导出数据
通过ES提供的查询API,写各种程序,把数据导出csv,或者把数据查询出来,直接入库到新的ES集群中。
拷贝ES物理目录/文件
ES的文件存在磁盘中,把物理文件一模一样拷贝一份到新的集群环境中,达到数据迁移的效果。
ES快照数据备份和恢复
使用ES官网提供的快照备份方法,将旧集群ES的索引进行备份,拷贝备份出来的所有文件,在新的集群中进行恢复。

官网写的非常简单:先创建仓库(repository),再往仓库里添加一个快照(snapshot),查看备份状态,That’s all。但是实践需要麻烦很多了。

恢复期间,整个集群会变成红色(集群不可用),最好半夜的时候进行。

34、redis的集群有几种
35、怎么看待运维这个岗位
36、自己的职业规划
37、工作上最有压力的事情
 

这篇关于数据上云--科技感满满的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1064661

相关文章

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很

MyBatis-plus处理存储json数据过程

《MyBatis-plus处理存储json数据过程》文章介绍MyBatis-Plus3.4.21处理对象与集合的差异:对象可用内置Handler配合autoResultMap,集合需自定义处理器继承F... 目录1、如果是对象2、如果需要转换的是List集合总结对象和集合分两种情况处理,目前我用的MP的版本

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

C# LiteDB处理时间序列数据的高性能解决方案

《C#LiteDB处理时间序列数据的高性能解决方案》LiteDB作为.NET生态下的轻量级嵌入式NoSQL数据库,一直是时间序列处理的优选方案,本文将为大家大家简单介绍一下LiteDB处理时间序列数... 目录为什么选择LiteDB处理时间序列数据第一章:LiteDB时间序列数据模型设计1.1 核心设计原则

Java+AI驱动实现PDF文件数据提取与解析

《Java+AI驱动实现PDF文件数据提取与解析》本文将和大家分享一套基于AI的体检报告智能评估方案,详细介绍从PDF上传、内容提取到AI分析、数据存储的全流程自动化实现方法,感兴趣的可以了解下... 目录一、核心流程:从上传到评估的完整链路二、第一步:解析 PDF,提取体检报告内容1. 引入依赖2. 封装

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

使用SpringBoot+InfluxDB实现高效数据存储与查询

《使用SpringBoot+InfluxDB实现高效数据存储与查询》InfluxDB是一个开源的时间序列数据库,特别适合处理带有时间戳的监控数据、指标数据等,下面详细介绍如何在SpringBoot项目... 目录1、项目介绍2、 InfluxDB 介绍3、Spring Boot 配置 InfluxDB4、I

Java整合Protocol Buffers实现高效数据序列化实践

《Java整合ProtocolBuffers实现高效数据序列化实践》ProtocolBuffers是Google开发的一种语言中立、平台中立、可扩展的结构化数据序列化机制,类似于XML但更小、更快... 目录一、Protocol Buffers简介1.1 什么是Protocol Buffers1.2 Pro