阿里云常见问题剖析与回答51CTO博客 - 亚美娱乐

阿里云常见问题剖析与回答51CTO博客

2019-03-06 10:00:36 | 作者: 昊磊 | 标签: 阿里,问题,运用 | 浏览: 1670



1、网站纯静态页面和伪静态页面有何差异

纯静态,就是效劳器上有个html文件,不需求任何处理,直接回来客户端
伪静态,从客户端上看,好像在恳求一个文件,可是其实是效劳器动态生成的
尽管看网址看不出来,可是显着一些内容是有必要动态组成才干发生的就不或许是真的静态文件


2、php java 哪个更适宜网站开发?

都合适,比较来说,java更合适企业开发;针对场景和运用的不同,挑选言语也不同

假如是一般的中小企业网络运用,主张php开发(快就一个字)中小网站寻求速度,可选用php

假如是大型运用,引荐java,java便利扩展和集成,易保护,代码简洁明了,合适大型web开发


3、弹性Web保管 和 云虚拟主机 有什么差异呢?

弹性 Web 保管是依据容器技能,就是 container 。云虚拟主机是虚拟机的技能,就是 hypervisor。

前者是 docker 这种 Linux 内核层面的虚拟化,后者是 xen 这种对硬件层面的虚拟化。

详细运用来说,弹性 Web 保管首要支撑 php 站点,比方 WordPress;而云虚拟主机则愈加灵敏

功能上也是后者愈加强壮,当然前者的价格更具有优势。

挑选哪个需求看详细的需求


4、高并发,大数据的java体系,选用运用效劳器,数据库效劳器,分布式?

高并发,大数据是一个抽象的概念,实践运用场景中要考虑是有多大的并发,读写压力有多大,磁盘IO有多大,依据详细的状况在体系架构上会有许多的不同。通用架构分层做法如下:

Requests --> load balancer --> Web Server Cluster --> Middlerware --> DB Cluster

依据详细的并发压力,需求有针对性的进行体系扩展。

load balancer层:
load balancer进行恳求转发,依据详细的恳求数量,需求考虑运用硬件或软件。一般状况下硬件load balancer功能远高于软件load balancer,软件完成中ngnix功能远高于Apache。当然硬件load balancer价格也会十分贵重,需求专业保护。如F5, Redware.
考虑到页面数据是否能够缓存,需求添加CDN.如淘宝前端页面会直接从CDN读取,12306 80%的拜访恳求由CDN处理。
依据CDN的战略,带宽巨细,并发量巨细及业务重要程度,需求考虑多机房布置,减轻带宽和load balancer压力。

Web Server cluster
Web server能够运用开源的Tomcat, jBoss等,也能够运用商业的WebSphere, WebLogic。差异是开源需求自己创立、保护cluster状况,商业软件会极大的简化cluster创立和保护。
安稳,易于保护的Web Server运用效劳器是根底,功能则有运用完成决议。
运用需求考虑的是线程并发,查询优化,缓存运用,通讯价值。
运用完成后依据单台运用效劳器的实践处理才干,横向和纵向扩展Web Server cluster. 
横向扩展:添加Web Server数量(提高才干理论上无上限)
纵向扩展:添加硬件机器功能,优化运用功能,提高单台Server功能(提高才干有限,受限于硬件资源)

Middlerware
当涉及到分布式环境,需求运用中间件来确保集群一致性。
Session中间件 :假如业务是无状况,能够直接在load balancer依照轮询或权重战略转发。无需session处理,功能会高许多。
假如业务有状况:1)load balancer运用sticky session战略,由同一台server进行后续有状况效劳,session无需处理。但假如server失利,转由其他server效劳时,需求从头登录。测验需求client有从头登录机制,不然用户体会欠好。2)session仿制。session仿制需求由session中间件进行处理,确保整个集群同享session,会带来额定功能损耗。
音讯中间件 :分布式体系之间进行数据同步和唤醒,多个业务体系同步,需求运用音讯中间件进行时效性确保。
长途调用中间件: 长途调用确保分布式体系中高效的数据交换。
数据库中间件: 拜访数据库层,假如数据库进行了分库分表操作,需求再数据库中间件中进行操作封装。
缓存中间件: 缓存数据库数据和业务核算数据。

DB Cluster
联系数据库
为确保数据库安稳性,会考虑创立主备数据库,多个主备数据构成数据库cluster,当主库呈现失利时,主动进行主备切换。
有多个数据库的时分,依据读写频率进行读写别离。
数据量大的时分,进行分表操作。


5、每天帖子亿万阅览量该怎样应对?比方页面加载等怎样优化?

假如业务现已运转,也没有太大的问题,仅仅想优化,那么全流程每个当地都能够有许多办法优化:

1)浏览器:HTTP缓存
2)DNS解析:智能DNS + CDN
3)浏览器和效劳器交互:HTTP长衔接、SPDY、紧缩
4)效劳端负载均衡
5)效劳器缓存:MC、Redis等
6)效劳器Web加快:Varnish、Squid
7)效劳器存储:分库分表等

假如业务运转有问题了,那么先清晰问题瓶颈在哪里,不要每个环节都去优化,找准问题点后再会集资源处理


6、Spark如火如荼,Hadoop何去何从?

1 Hadoop首要针对map-reduce函数编程模型的程序,spark则比较灵敏,供给多种transformation和action,能够表达更杂乱的模型;
2 运转在Hadoop上的map-reducec程序,基本上自己办理自己的数据(来自HDFS或许http等文件体系的文件数据,来自联系型数据库或许NoSQL型数据库的数据),而Spark则是供给了RDD这种数据结构并把RDD当作分布式数据来对待;
3 Spark能够在程序中指定将特定的RDD缓存于内存仍是磁盘,而Hadoop的cache机制并没有那么有用(?)至少理论上是这样;
4 Hadoop一般以为合适数据是key-value这种办法的,实践中个人感觉至少要是表格办法的,并且在一次job中表格的条目之间最好逻辑不相关;而Spark则能够处理逻辑结构愈加杂乱的数据(例如图特别是有向无环图);
5 个人感觉Hadoop能够作为分布式核算结构来运用,而Spark更像是一种数据过滤和核算核算东西。未必精确,仅仅个人的感觉;
6 编程言语方面,Hadoop除了Java(或许其他JVM言语)之外,理论上能够支撑任何能够用stdin/stdout进行输入输出的编程言语(经过Hadoop Streaming);而Spark仅仅支撑Java/Scala/Python/R这四种


7、mysql sql句子消耗内存问题


看截图吧,我发的这段问题发不上来,提示我存在***行为,把我阻拦了


首要,这种句子逻辑在MySQL效劳端是不需求保存一切数据的,因为是按次序扫描,能够以为消耗的内存核小。
至于客户端, mysql 客户端有一个--quick 参数,在你的这种业务需求中,应该运用这个参数。这样客户端在读取数据的时分,会一行行读一行行写到方针文件, 不需求将数据悉数保存到内存里边


8、MYSQL提交数据后,等一会才干收效,是怎样回事呢?

有两个HTTP恳求,一个恳求成果(新增成功)现已回来了,然后再履行另一个恳求(经过js操控),成果有时查到有时查不到有时又查到,查不到的时分过一会就能查到。就像:现已commit了,可是等一会才干履行成功相同;数据库客户端直接履行SQL刺进数据也是要等一会才干查到
用的是 java+mysql+阿里云+tomcat


依照您的描绘,比较大的或许是:
1) 两个http恳求运用的不是同一个衔接。
2) 而第一个提交动作其实并不是正的commit,而是仅仅刺进成功。

咱们常常有客户发现相似的问题,就是java connector会默许运用set autocommit=0的形式。
这样第一个线程履行成功后,其实并没有提交业务,
第二个线程去查的时分是查不到的。

这个是一种比较常见的或许。至于要确诊,您能够敞开RDS的审计日志,从数据库的履行句子序列中印证原因


9、阿里云的redis和mongodb效劳是否能加入到vpc中?

现在阿里云MongoDB、redis已支撑vpc,你在操控台购买实例的时分就能挑选将实例加入到某个vpc网络里(假如还没有专有网络,需求先创立)


10、阿里云ecs数据盘和体系盘的差异和用处剖析

体系盘就像是Windows的C盘,而数据盘就相当于你windows下的D盘, 一个体系只能有一个体系盘,所以你无法再购买一个体系盘。
一般体系盘用来寄存体系,假如你的网站数据不是很大的话你也能够把程序和数据库放在体系盘,假如网站数据大,就要购买并挂载数据盘。
也能够挑选阿里云RDS数据库, 此刻数据库不会占用你的体系盘或数据盘,而是寄存在阿里云里边,这种状况下你就无需购买数据盘了。


11、阿里云的CDN是否支撑https?

支撑啦,搬运个文档给你:
HTTPS安全加快设置
https://help.aliyun.com/document_detail/cdn/getting-started/httpsdelivery.html?pos=1


12、rds mysql 前史的binlog日志怎样检查或下载?

在RDS操控台 备份康复 日志列表 这儿吧,下载binlog ,默许应该是保存最近7天的binlog日志


13、数据库数据搬运比较费事,不知道有没有好的办法,现在是读写别离的?

假如数据有守时搬运的需求,最好规划成按时刻分表,这样删去的时分,能够用truncate或许drop的办法。
至于需求读走数据,有读写别离,应该问题不大?别的,假如能够多建立一个备库,计划会灵敏许多


14、用Docker集群办理三剑客在阿里云ECS上布置LNMP问题

比方,有两台阿里云ECS主机,计划用docker快速在两台机器上布置Lnmp环境,操作思路是:
1、第一步,首要在阿里云操控台把ECS主机买好(主机体系为centos7);
2、第二步,用xshell别离登录两台ECS主机,别离在两台主机上装置好docker集群办理三剑客(docker machine,docker compose,docker swarm),也就是要操作两次;
3、第三步,用docker-compose.yml把需求的东西界说好,然后在两台主机上别离履行$docker-compose up指令,这样就完成了,相同,这需求操作两次。
问题是:
1、我感觉这不是最简洁的办法,有更简洁的办法吗?
2、docker集群办理的三个东西,形似只用到了docker compose,其他两个都没用到。在这儿其他两个东西ocker machine,docker swarm的运用场景是什么?
补白:本地操作体系是windows。


您能够运用阿里云容器效劳快速创立一个Docker集群

它供给了Docker Swarm接口,支撑任何Docker Compose和Docker镜像,

https://yq.aliyun.com/teams/11是咱们的团队博客,上面有许多运用Docker技能和容器效劳的用例共享


15、从零开端建立容器云的技能选型

依据sina运用docker的经历来看,跟着docker1.9新版别的呈现 假如没有任何技能债的状况下,咱们要从零开端建立容器云的话,怎样进行技能挑选?
是运用openstack把docker当虚拟机来用呢仍是直接docker-machine swarm compose来做呢?跨主机的网络这块有什么引荐,是否挑选docker1.9中的network特性会优于SDN的一些计划


一般来说不要将Docker作为轻量级VM来运用,那样会损失许多Docker交给和运维的优势。
OpenStack的docker nova driver并不是一个成功的样例,现在跟着Docker本身网络、存储和编列技能的提高,应该挑选愈加原生的Docker技能计划来建立容器云。

Docker Swarm, Kubernetes和Mesos都是能够挑选的技能方向。

假如您在公有云上期望体会容器云技能,能够考虑阿里云容器效劳 https://www.aliyun.com/product/containerservice

它供给了Docker Swarm兼容的办法来办理Docker集群,支撑Docker Compose和Docker 镜像,简化了您建立容器云的杂乱性,也供给了许多特性简化web运用,微效劳运用和DevOps.

https://yq.aliyun.com/teams/11 是咱们的团队博客,您能看到许多实例和文档来帮助您运用容器效劳


16、怎样约束百度等蜘蛛的抓取频率?

发现有时分,百度抓取十分频频,会导致效劳器压力过大。怎样约束他们的抓取频率?


nginx的ngx_http_limit_req_module模块约束了百度蜘蛛的抓取频率。每分钟答应百度蜘蛛抓取200次,剩余的抓取恳求回来503。
nginx的装备:

大局装备

limit_req_zone $anti_spider zone=anti_spider:60m rate=200r/m;

某个server中

limit_req zone=anti_spider burst=5 nodelay;
if ($http_user_agent ~* "baiduspider") {
set $anti_spider $http_user_agent;
}

参数阐明:
指令limit_req_zone 中的rate=200r/m 表明每分钟只能处理200个恳求。
指令limit_req 中的burst=5 表明最大并发为5。即同一时刻只能一起处理5个恳求。
指令limit_req 中的 nodelay 表明当现已到达burst值时,再来新恳求时,直接回来503
IF部分用于判别是否是百度蜘蛛的user agent。假如是,就对变量$anti_spider赋值。这样就做到了只对百度蜘蛛进行约束了。


17、从PHP5搬迁到PHP7扩展需求哪些改动?

PHP7扩展编写的时分,供给的一些内核办法和之前的PHP之前的版别并不能彻底兼容。有不少办法参数做了调整。下面是在搬迁过程中遇到的一些问题。记载下来,防止咱们再踩坑。

add_assoc_stringl

办法参数改为四个。
add_assoc_stringl(parray, key, value, value_len);
搬迁的时分,只要把最终一个参数删去即可。

add_assoc_string

办法参数从四个改为了三个。
add_assoc_stringl(parray, key, value);
搬迁的时分,只要把最终一个参数删去即可。

add_next_index_stringl

办法参数从四个改为了三个。
add_next_index_stringl(parray, value, value_len);
搬迁的时分,只要把最终一个参数删去即可。

add_next_index_string

办法参数从三个改为了两个。
add_next_index_string(parray, value);
搬迁的时分,只要把最终一个参数删去即可。

RETURN_STRINGL

办法参数从三个改为了二个。
RETURN_STRINGL(value, length);
搬迁的时分,只要把最终一个参数删去即可。

过错:‘INT64_MAX’ 在此效果域中没有声明

原因为深入研究。在 #include "php.h" 上面加上一行

处理。

创立类

能够参阅mysqli扩展mysqli.c文件中的 mysqli_objects_new 办法。

变量声明从堆上分配,改为栈上分配。

如,原先代码为

改为

ps:因为提交,提示有违禁词,不得不删去了一部分。更多内容检查
PHP扩展搬迁为兼容PHP7记载


18、Jenkins之类的继续集成东西dokcer化的问题

咱们在做依据docker的Devops,会遇到期望把jenkins之类的继续集成东西dokcer化的问题,即:docker in docker.请问你们的处理计划是什么?别的还有个问题,docker与devops的结合,一般以为不仅仅技能层面上的工作,也是质量办理,安排办法等的革新,请问这方面能否共享你们的最佳实践?


Jenkins方面,能够看看咱们的这篇文章 https://yq.aliyun.com/articles/53971


传统的继续集成分发的最小单元是代码,依据容器的继续集成分发的最小单元是镜像,这或许是最大的差异,可是这并不是说一刀就将传统的开发模型与依据容器的开发模型切开,咱们曾经的流程或许是构建、测验、布置、验证、上线,依据容器后,这些过程仍是相同的,仅有的差异是完成的办法不同。关于docker in docker我了解是您期望经过jenkins的slave构建镜像,而您的slave也是依据容器的,这个问题的解法是这样的,docker in docker没问题,可是里边的docker和外边的docker是父子联系仍是兄弟联系有很大的部分,咱们主张的办法是您能够经过volume挂载的办法,用/var/run/docker.sock:/var/run/docker.sock这种办法,使内部的docker成为外部的docker的一个兄弟节点。关于最佳实践,其实最佳实践是特定场景下的最优处理计划,上面太公供给的那篇文章是剥离的最小化的一个场景,您能够依据这个场景丰厚并满意自己的需求


19、docker 集群化 给引荐一个处理计划!

首要引荐阿里云容器效劳 https://www.aliyun.com/product/containerservice/ 兼容swarm api,整合了负载均衡、日志、监控、存储等功能。

假如是自己建立集群,能够运用swarm或许kubernetes,docker 1.12支撑原生编列,也能够考虑


20、阿里云的ecs对docker支撑怎样样?

阿里云的ecs对docker支撑怎样样,我在本地build一个dockerfile没有任何问题
在ecs上build的时分导致cpu100%,无法拜访,只能重启


阿里云ECS对Docker支撑没有问题,阿里云容器效劳能够创立依据ECS实例的Docker集群,现已许多用户在阿里云上使用Docker来交给和运维运用。

因为ECS镜像缺省路由装备和Docker default bridge的装备有抵触,一些初学者会遇到一些困扰。在阿里云上除了手艺装置装备Docker和使用容器效劳之外,还能够使用docker-machine的ECS驱动 ,轻松创立ECS上Docker环境。 https://help.aliyun.com/document_detail/26088.html

在ECS上build时分CPU飙高的现象或许要详细状况详细剖析,这件事和Dockerfile编写以及Docker的装备或许都有联系。能够进一步详细评论。



版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表亚美娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章