• 关于

    控制系统优化如何搭建

    的搜索结果

回答

linux服务器环境搭建教程,阿里云服务器主机宝控制面板注明:本教程来源于熊天琪游戏论坛www.xiongtianqi.cn欢迎大家来交换友情链接和探讨建站这个教程分为1和2部分部分1.linux服务器环境搭建教程,阿里云服务器主机宝控制面板是指导大家如何配置环境和了解linux系统搭建网站的一些基础配置,并且解决磁盘挂载的相关问题.教程时常为30多分钟,因为在教程中,我和大家一样是新手,是菜鸟,我纯属于滚爬摸进,进度缓慢但在讲解的同时,自己也正在研究,我相信这种精神是可贵的,往往一些视频教程,他只讲结果,不透露过程,即使按部就班的模仿操作,也不一定能成功,但这里,我会尽量讲到每一个点,我会作为一个无知的小白,想尽办法来解决我教程中所遇到的每一个问题,部分2.linux服务器搭建新站,伪静态和防盗链教程是指导大家如何利用搭建好的环境来建立新的站点,如何迁移数据,如何上传网站源码,如何设置伪静态和防盗链,来优化服务器的性能,让一些单核1核的配置低级的玩家们也能像高级服务器一样运行速度,教程时常为1个小时4分钟,实际教程用时我花费了10多个小时,我在录制教程的时候,我并没有先研究好,在录制,虽然我个人觉得,我这是在浪费大家的时间也同时是在浪费自己的时间,明明10分钟左右就可以轻松简单说完的教程,我非要花上半个小时甚至一个小时,甚至更久的时间来完成,原因肯定有我菜的原因,嘿嘿但我个人认为最重要的,就是视频中的我,遇到问题,不轻易放弃,想办法拆解问题,解决问题,请教问题,和依靠个人的坚持在广大的互联网上寻找有用的教程,反复测试,反复验证,花了13多个小时终于攻克难关,感谢大家支持,就不要骂我了,我也挺不容易的,现在下面是2个在线视频和2个视频超清下载如果看不清楚请点击全屏观看点击观看:http://player.youku.com/player.php/sid/XNzIzNjQzMDQ0/v.swf环境搭建,挂载数据盘和删除分区点击观看: http://player.youku.com/player.php/sid/XNzI0MjY2MzM2/v.swf建立新网站和伪静态防盗链部分1超清下载http://pan.baidu.com/s/1dDrdlbN 部分2超清 下载http://pan.baidu.com/s/1mgib4xi
熊天琪 2019-12-01 21:59:08 9677 浏览量 回答数 2

回答

linux服务器环境搭建教程,阿里云服务器主机宝控制面板 注明:本教程来源于熊天琪游戏论坛www.xiongtianqi.cn 欢迎大家来交换友情链接和探讨建站这个教程分为1和2部分 部分1.linux服务器环境搭建教程,阿里云服务器主机宝控制面板是指导大家如何配置环境和了解linux系统搭建网站的一些基础配置,并且解决磁盘挂载的相关问题.教程时常为30多分钟,因为在教程中,我和大家一样是新手,是菜鸟,我纯属于滚爬摸进,进度缓慢但在讲解的同时,自己也正在研究,我相信这种精神是可贵的,往往一些视频教程,他只讲结果,不透露过程,即使按部就班的模仿操作,也不一定能成功,但这里,我会尽量讲到每一个点,我会作为一个无知的小白,想尽办法来解决我教程中所遇到的每一个问题, 部分2.linux服务器搭建新站,伪静态和防盗链教程是指导大家如何利用搭建好的环境来建立新的站点,如何迁移数据,如何上传网站源码,如何设置伪静态和防盗链,来优化服务器的性能,让一些单核1核的配置低级的玩家们也能像高级服务器一样运行速度,教程时常为1个小时4分钟,实际教程用时我花费了10多个小时,我在录制教程的时候,我并没有先研究好,在录制,虽然我个人觉得,我这是在浪费大家的时间也同时是在浪费自己的时间,明明10分钟左右就可以轻松简单说完的教程,我非要花上半个小时甚至一个小时,甚至更久的时间来完成,原因肯定有我菜的原因,嘿嘿但我个人认为最重要的,就是视频中的我,遇到问题,不轻易放弃,想办法拆解问题,解决问题,请教问题,和依靠个人的坚持在广大的互联网上寻找有用的教程,反复测试,反复验证,花了13多个小时终于攻克难关,感谢大家支持,就不要骂我了,我也挺不容易的,现在下面是2个在线视频和2个视频超清下载如果看不清楚请点击全屏观看 点击观看:http://player.youku.com/player.php/sid/XNzIzNjQzMDQ0/v.swf 环境搭建,挂载数据盘和删除分区点击观看: http://player.youku.com/player.php/sid/XNzI0MjY2MzM2/v.swf 建立新网站和伪静态防盗链 部分1超清下载 http://pan.baidu.com/s/1dDrdlbN 部分2超清 下载 http://pan.baidu.com/s/1mgib4xi
熊天琪 2019-12-01 21:59:12 12335 浏览量 回答数 6

回答

linux服务器环境搭建教程,阿里云服务器主机宝控制面板注明:本教程来源于熊天琪游戏论坛www.xiongtianqi.cn欢迎大家来交换友情链接和探讨建站这个教程分为1和2部分部分1.linux服务器环境搭建教程,阿里云服务器主机宝控制面板是指导大家如何配置环境和了解linux系统搭建网站的一些基础配置,并且解决磁盘挂载的相关问题.教程时常为30多分钟,因为在教程中,我和大家一样是新手,是菜鸟,我纯属于滚爬摸进,进度缓慢但在讲解的同时,自己也正在研究,我相信这种精神是可贵的,往往一些视频教程,他只讲结果,不透露过程,即使按部就班的模仿操作,也不一定能成功,但这里,我会尽量讲到每一个点,我会作为一个无知的小白,想尽办法来解决我教程中所遇到的每一个问题,点击观看:http://player.youku.com/player.php/sid/XNzIzNjQzMDQ0/v.swf环境搭建,挂载数据盘和删除分区部分1超清下载http://pan.baidu.com/s/1dDrdlbN 部分2.linux服务器搭建新站,伪静态和防盗链教程是指导大家如何利用搭建好的环境来建立新的站点,如何迁移数据,如何上传网站源码,如何设置伪静态和防盗链,来优化服务器的性能,让一些单核1核的配置低级的玩家们也能像高级服务器一样运行速度,教程时常为1个小时4分钟,实际教程用时我花费了10多个小时,我在录制教程的时候,我并没有先研究好,在录制,虽然我个人觉得,我这是在浪费大家的时间也同时是在浪费自己的时间,明明10分钟左右就可以轻松简单说完的教程,我非要花上半个小时甚至一个小时,甚至更久的时间来完成,原因肯定有我菜的原因,嘿嘿但我个人认为最重要的,就是视频中的我,遇到问题,不轻易放弃,想办法拆解问题,解决问题,请教问题,和依靠个人的坚持在广大的互联网上寻找有用的教程,反复测试,反复验证,花了13多个小时终于攻克难关,感谢大家支持,就不要骂我了,我也挺不容易的,现在下面是2个在线视频和2个视频超清下载点击观看:http://player.youku.com/player.php/sid/XNzI0MjY2MzM2/v.swf建立新网站和伪静态防盗链部分2超清 下载http://pan.baidu.com/s/1mgib4xi 如果看不清楚请点击全屏观看
熊天琪 2019-12-01 21:59:08 11456 浏览量 回答数 4

阿里云试用中心,为您提供0门槛上云实践机会!

100+款试用云产品,最长免费试用12个月!拨打95187-1,咨询专业上云建议!

回答

本期请来了阿里中间件技术专家魏鹏 (豫楚)直播分享基于Java容器的多应用部署技术实践直播简介随着业务的发展,机器的数量和系统复杂性不断提升,较之简单系统的开发部署,大规模分布式系统将会面对以下新问题:性能问题,系统之间通过远程调用来进行数据交换,一个用户请求所涉及的系统越来越多,远程调用的开销随之变大,如何降低远程调用开销,提升调用链路稳定性;成本问题,系统服务器数量不断增加,单个集群规模变大的同时带来了资源的浪费,如何提升资源利用率,优化成本;效率问题,拥有上千台服务器的系统,在每次发布过程中容易造成客户端的抖动,常规做法是多批少量发布,但这种发布方式延长了发布时间,如何能做到大集群快速全量发布;扩展问题,平台化系统对模块化有很强的需求,现行的Java模块化技术对于开发者而言显得过于复杂,如何降低模块化技术门槛,适合已有的运维部署体系。 阿里Java容器,能够支持多应用部署并将阿里中间件以服务的形式提供给托管的应用,应用之间的调用从远程自动转换为本地调用,以淘宝商品详情为例,综合对比性能提升40%以上,对外服务能力不变的情况下,节约近千台服务器。在提升性能、降低成本的同时,容器支持主子应用部署的形式使得平台化系统的搭建变得简单许多,平台方和下游业务方的部署变得更加灵活自由。容器还支持单应用多版本部署,使得应用发布时不再重启进程,而是做应用版本的上下线以及流量的切换,发布和系统规模束缚被打破,整个发布过程进入分钟级。听众受益:阿里Java容器的整体架构与部署形式;如何转换远程调用到本地调用,提升性能,优化成本;如何通过多版本部署来提升发布效率;如何支撑应用平台化。小编将本次直播的用户提问整理成精品问答集锦,供大家相互交流学习问题汇总:如果基于阿里对openJDK的改造,这个就已经限定这个多版本发布技术了,有么有更好的方法,不去改造openJDK而达到多版本的目的,或者变相的达到,http://yq.aliyun.com/ask/36529版本的回滚,怎么避免用户在新版本中产生的数据丢失?http://yq.aliyun.com/ask/36528一个web项目做分布式部署,用jsp、controller、service、dao 这几个层次应该怎么分配才合理?http://yq.aliyun.com/ask/36526Java容器和Docker这种服务容器差别?http://yq.aliyun.com/ask/36522深拷贝优于序列化的原因是什么?有没有更快的解决方案http://yq.aliyun.com/ask/36520多线程思想去做发布?http://yq.aliyun.com/ask/36517平台化系统如何使用多应用部署的方式进行搭建?好处在哪里?谢谢http://yq.aliyun.com/ask/36516深拷贝会不会对内存有影响http://yq.aliyun.com/ask/36506相比单应用,多应用部署在tomcat上内存分配怎么设置http://yq.aliyun.com/ask/36500总体的解决思想是什么?http://yq.aliyun.com/ask/36492对于容器集群里面的会话粘性一般如何设计,对于不同时间的服务量,如何控制容器的关闭和启动?http://yq.aliyun.com/ask/36484多版本发布过程中有没有需要注意的事项?http://yq.aliyun.com/ask/36441
管理贝贝 2019-12-01 20:28:27 52422 浏览量 回答数 55

回答

如何快速搭建钉钉微应用? 云中沙箱实验“ 快速搭建钉钉微应用 ”,教您如何快速为企业搭建钉钉微应用? 云中沙箱,阿里云官方实验平台。网址:http://lab.aliyunedu.net   一、基本概念     钉钉(DingTalk)是阿里巴巴集团专为中国企业打造的免费沟通和协同的多端平台,提供PC版,Web版和手机版,支持手机和电脑间文件互传。   钉钉微应用是企业在钉钉上建立的微应用,只提供给自己企业内部使用。通过微应用你可以将企业的业务审批,内部系统,生成,协作,管理,上下游沟通连接到钉钉,更简单和低成本实现企业移动化;结合钉钉的基础通信能力,让企业应用更活跃,员工更高效,移动化成本更低。 企业接入指南     企业接入是仅帮助本企业接入钉钉,若作为服务提供商帮助其他企业使用钉钉,请参考官网提供的“ISV接入指南”。本实验主要介绍如何实现钉钉的“企业接入”。 注册钉钉企业     在使用企业接入之前,必须注册一个企业钉钉账号,可通过后端平台添加公司员工的通讯录。 开发微应用     用户可以根据实际工作需求,调用钉钉开放平台的接口,创建定制化微应用。钉钉开放平台提供了如下功能:     企业通讯录管理、文件管理、发送企业会话消息等功能;    定制的微应用在钉钉客户端的专用运行容器,并提供了一组可以调用钉钉的本地能力和业务能力的JSApi接口,您可以通过这些接口使用钉钉的本地能力或者钉钉的业务逻辑,进行微应用与钉钉功能的结合;    与钉钉PC版本集成的能力;    开发过程中需要的调试工具和性能优化的建议 创建微应用     在钉钉的后端管理控制台中,添加一个定制化的微应用,并将“首页地址”和“后端地址”指向定制化开发微应用的对应访问URL。 二、更多实验信息 实验名称:快速搭建钉钉微应用 实验网址:https://edu.cloudcare.cn/courses/6b1e8597179c49a3b8d6da1f299b43f1/detail
仟与仟寻 2019-12-01 22:02:34 2448 浏览量 回答数 1

回答

为了方便您搭建网站,本文汇总了阿里云云市场上最常用的应用镜像的使用教程,并提供了教程和云市场镜像的链接,让您一键触达,轻松建站。 [backcolor=transparent]网站类型[backcolor=transparent]推荐 OS[backcolor=transparent]镜像及其内含资源[backcolor=transparent]说明搭建 WordPress 博客- CentOS- Ubuntu- Aliyun Linux[backcolor=transparent]Aliyun Linux 一键安装 Web 环境 - Nginx: 1.4.4- Apache: 2.2.29、2.4.10- MySQL: 5.1.73、5.5.40、5.6.21- PHP: 5.2.17、5.3.29、5.4.23、5.5.7- PHP 扩展: Memcached、Zend Engine/Opcache- JDK: 1.7.0- Tomcat: 7.0.54- FTP:(yum/apt-get 安装)- PHPWind: 8.7 GBK- PHPMyAdmin: 4.1.8- WordPress 是一款常用的搭建个人博客网站的软件。- 暂不支持自动挂载 I/O 优化的数据盘。使用资源编排ROS部署 LNMP 环境- CentOS- Ubuntu- Aliyun Linux[backcolor=transparent]ROS- Nginx- MySQL- PHP 5.4.16- LNMP 分别代表 Linux、Nginx、MySQL、PHP。- 资源编排服务 ROS 是阿里云官网提供的免费服务,无需下载安装。ROS 通过一个 JSON 格式的模板文件,创建一组阿里云资源。镜像部署 LNMP 环境- CentOS- Ubuntu- Aliyun Linux由所购镜像决定- Nginx- MySQL- PHP- 其余由所购镜像决定- 适用于已经购买实例,但想使用镜像重新部署环境的用户。部署 Java Web 环境- CentOS 7.3[backcolor=transparent]JAVA 镜像- Tomcat- Nginx- MySQL5.7- Tomcat8- Tomcat 是开源且免费的 Java Web 服务器,常用作 Web 开发工具。Tomcat 可以托管由 servlet,JSP 页面(动态内容),HTML 页面,JS,Stylesheet,图片(静态内容)组成的 Java Web 应用程序。- 适合新手,利用云市场丰富的JAVA 镜像资源快捷部署环境。部署 Java Web 环境- CentOS 7.3[backcolor=transparent]OneinStack- Lnmp- Lamp- Lnmpa- Lnmt- 适合新手,利用[url=https://market.aliyun.com/software%E4%B8%B0%E5%AF%8C%E7%9A%84%20[PHP%20JAVA%20%E9%95%9C%E5%83%8F](https://market.aliyun.com/products/56092004/cmgj000342.html]云市场[/url]资源快捷部署环境。- 适合对 Linux 命令有基本了解的用户,满足个性化部署的要求。搭建 Magento 电商网站- CentOS 7. 2- Ubuntu 16.04[backcolor=transparent]LAMP 镜像 - ApacheMySQL- PHP 7.0.13- Magento 是一款开源电商网站框架,其丰富的模块化架构体系及拓展功能可为大中型站点提供解决方案。搭建 PHPWind 论坛系统- CentOS 6.8[backcolor=transparent]PHPWind- Nginx- MySQL5.6- PHP 5.2, 5.3, 5.4, 5.5, 5.6, 7.0- PHPWind 9.0.1- PHPWind 是一款采用 PHP + MySQL 方式运行的开源社区程序。轻架构,高效率简易开发,实现快速搭建并轻松管理社区站点。- 适用于要搭建论坛的[backcolor=transparent]经典网络用户。部署 Drupal 环境- CentOS 7.2- Ubuntu 16.04[backcolor=transparent]LAMP 镜像- LAMP: 7.0.12- Apache: 2.4.25- MySQL: 5.7.17- PHP: 7.1.1- Drupal: 8.1.1- Drupal 是一款采用 PHP 语言编写的开源内容管理框架(CMF),由内容管理系统(CMS)和PHP开发框架(Framework)共同构成。- 适用于熟悉ECS, Linux系统,刚开始使用ECS 实例建站的用户。部署 Windows 环境- Windows由所购镜像决定- 适用于已经购买实例、但想使用镜像重新部署环境的用户。部署 Docker 项目- CentOS 7.2由所购镜像决定- Docker 是一个开源工具,其能将一个 Web 应用封装在一个轻量级,便携且独立的容器里,几乎可以运行在任何服务环境下。- 适用于熟悉Linux系统,刚开始使用 ECS 实例的开发者。部署 WDCP 系统- Linux由所购镜像决定- WDCP (WDlinux Control Panel),是一套通过 Web 控制和管理服务器的 Linux 服务器管理系统以及虚拟主机管理系统。部署 RabbitMQ 项目- CentOS 7.3[backcolor=transparent]RabbitMQ 镜像- RabbitMQ-Server: 3.6.9- Erlang: 19.3- JDK: 1.8.0_121- RabbitMQ 是一个开源的 AMQP 实现,支持:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP、AJAX 等多种客户端。用于在分布式系统中存储转发消息,具有不俗的易用性、扩展性、高可用性。搭建 Discuz 系统- Linux- Windows[backcolor=transparent]Discuz Linux- Discuz! 3.3- Apache2.4.23- PHP7.0.16- MySQL5.6.35- Redis3.2.6- Memcached1.4.34- Jemalloc4.4.0- Pure-FTPd1.0.43- PHPMyAdmin4.4.15.9- Webmin1.801[backcolor=transparent]Discuz Windows- Discuz! 3.2- Apache2.4- PHP5.5- MySQL5.5- PHPMyAdmin4.4- Pure-FTPd1.0.42- Redis3.0.7- Memcached1.4.25- Jemalloc4.1- Webmin1.801- 适用于熟悉 ECS,Linux 系统,刚开始使用ECS 实例建站的用户。- Discuz! 是全球成熟度最高、覆盖率最大的论坛软件系统之一。融 BBS,SNS,Portal,Group,Open Platform 等应用于一体,实现一站式网站服务。部署 GitLab 项目- Linux[backcolor=transparent]GitLab- GitLab 7.4.3- GitLab 通过利用 Ruby on Rails,实现自托管的 Git 项目仓库,可通过 Web 界面轻松访问公开或者私人项目。部署 PostgreSQL 项目- CentOS 7.2由所购 PostgreSQL 镜像决定- 阿里云版数据库 PostgreSQL 具有 NoSQL 兼容,高效查询,插件化管理,安全稳定的特性。- 适用于熟悉 ECS,Linux 系统,PostgreSQL 的用户。部署 SVN 环境- Centos7[backcolor=transparent]SVN- ApachePHP: 5.4.27- FTP: 2.2.2- SVN: 1.8.8- SVN (Subversion) 作为一个开源的版本控制系統, 能管理随时间改变的数据。搭建 ThinkPHP 框架- CentOS 6.8[backcolor=transparent]ThinkPHP - ThinkPHP: 3.2.3- ThinkPHP 是一款免费开源的,快速、简单的面向对象的轻量级 PHP 开发框架,遵循 Apache2 开源协议发布,是为了敏捷 Web 应用开发和简化企业应用开发而诞生的。部署 AMH 虚拟主机系统Linux[backcolor=transparent]PHP 运行环境 - AMH 4.2- AMH 是一套通过 Web 控制和管理服务器的 Linux 服务器管理系统以及虚拟主机管理系统。部署常用数据库- Windows Server 2012 64bit由所购镜像决定- 常用数据库通常包含:Oracle,MySQL,SQL Server等。搭建 Joomla 平台- CentOS 6.5 64bit由所购镜像决定- Joomla 是一套知名的内容管理系统。采用 PHP + MySQL 方式开发软件系统。- 适用于熟悉 ECS,Linux 系统,刚开始使用 ECS 实例建站的用户。部署 Moodle 系统- Centos 7.0 64bit[backcolor=transparent]Moodle - Apache: 2.4.6- PHP: 7.0- MySQL: 5.6- Moodle: 3.1.2- Moodle 是一个开源课程管理系统,采用 PHP + MySQL 方式运行软件,遵循 GNU 公共许可协议。Moodle 平台界面简单精巧,用户可以根据需要随时调整界面,增减内容。 熟悉搭建云服务器环境的用户还可以参阅 详细的建站教程,浏览并选购 云市场产品,个性化搭建网络环境。
boxti 2019-12-01 21:43:20 2123 浏览量 回答数 1

回答

二楼:选购篇 个人经验,说说新用户买主机的那些困惑 假如网站流量2万然后图片和WEB分离用什么样的配置就够 租用阿里云主机我想建30个站点请问购买哪种配置合适 1m带宽能做图片站吗? 请教一下数据量有100万条左右要什么配置 网站流量IP在10006000之间如何选择带宽 6m的带宽能承受多少ip的并发 想问下,网站同时在线最高500IP,要多大的带宽,什么配置? 2万pv、2千ip的论坛该选择什么样的阿里云产品? 1000IP,50008000pv手机软件下载站,大约50g附件,用oss划算吗? 网站最高100IP同时在线,1M够用吗? phpwind的论坛每天2万IP需要买什么样的配置? 单个html网页,每天几万IP访问量,需要怎样的服务器配置? 日IP8000的论坛大概要用什么类型阿里云产品? 1g 的内存能不能支持DZ5000个IP 3M的带宽1.5WIP就扛不住了? 512M的经济型能支持几个站点?(pw论坛)IPpv多少?数据库有送么 ------------------------- 四楼:配置篇 阿里云官方帮助中心(推荐)windows篇Windows最简单的PHP MYSQL配置方法(菜鸟必备)面板管理 mysql安装教程梦丫头版 云服务器管理指南windows2008r2php阿里云主机配置视频教程云主机win2008可以更改远程桌面端口3389 Windows使用手册Windows Server 2012上PHP运行环境搭建的简易教程(Win08适用) Windows 视频教程IIS6.0新建站点及绑定域名图文教程 linux篇nginx系统,301地址重定向在CentOS 5.x中使用ext4文件系统 WDCP系统如何禁止别人用IP访问你的网站 阿里云主机如何添加SWAP分区 用wdcp面板安装wordpress博客 老牌wdcpweb控制和管理面板 阿里云Centos主机Mysql设置配置php.ini问题——Error404.me阿里云centos主机配置nginx 阿里云centos下挂载和扩展多块硬盘解决方案阿里云主机之挂载硬盘lnmpnginxmysqlphp安装使用开源的amh搭建nginx/php/mysql环境和管理面板 Nginx配置及Rewrite规则 阿里云主机linux下安装系统zijidelu管理系统图文教程分享一个阿里云linux系统装wdcp的教程 分享下 LINUX 挂载数据盘并安装WDCP的教程 新手安装控制面板 挂载硬盘 3条命令 直接搞定 阿里云主机Linux系统运用LuManager(LUM)配置环境教程 Redhat/CentOS一键安装web环境全攻略阿里云linux最简单的环境配置方法(有面板) 如何添加网站for linux(绑定域名) linux使用手册 Linux视频教程 ------------------------- 五楼:备案篇实战演示:阿里云网站备案视频教程备案期间IP访问网站 域名调试网站方法大全 阿里云官方备案专题 首次备案指南 修改备案指南 有主体新增网站指南 联系客服 ------------------------- 六楼:安全篇 云盾1.30版本介绍 讨论阿里云服务器被DDos和CC的防御方法! 关于“云监控”的使用及其他说明操作系统安全加固版镜像FAQ云盾FAQweb漏洞详解及修复建议网页挂马及暗链检测 ------------------------- 七楼:高级应用篇Linux和windows如何屏蔽访客IP[阿里云版主教程帖]NGINX(Tengine)从入门到精通怎样对网站进行gzip压缩 Mysql 主、从同步/主、从双向同步 巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力 使用SLB合并阿里云带宽 - 【降低成本】 4K对齐,0成本IO优化,大家都来看吧! 迁入阿里云后的两个心得1M的主机搭建的网站如何秒开使用gzip来实现加速 负载均衡SLB具体怎么用手把手教你nginx下如何增加网站phpwind,discuz,wordpress需要开通系统邮件服务的看这里哈 ------------------------- 回 24楼(秋风明月) 的帖子 是的,有了云盾和快照,确实可以不用装防火墙了。如果你是linux系统,安全性更高一些。 ------------------------- Re:回7楼kideny的帖子 引用第30楼正典互联于2013-04-15 14:15发表的 回7楼kideny的帖子 : 请问阿里云服务器可以实现PHP跟ASP共存吗?我的几个网站分别是使用这两种不同环境的。谢谢解答 云服务器完全可以实现PHP和ASP共存。 ------------------------- 回 37楼(xixihaha) 的帖子 截图发上来看看吧,是密码错误还是怎么了。 ------------------------- 回 49楼(joker) 的帖子 是的,都是独立IP和独立带宽。
kideny 2019-12-01 23:35:01 0 浏览量 回答数 0

回答

NGC(NVIDIA GPU CLOUD)是NVIDIA开发的一套深度学习生态系统,可以使开发者免费访问深度学习软件堆栈,建立适合深度学习的开发环境。 目前NGC在阿里云gn5实例作了全面部署,并且在镜像市场提供了针对NVIDIA Pascal GPU优化的NGC容器镜像。通过部署镜像市场的NGC容器镜像,开发者能简单快速地搭建NGC容器环境,即时访问优化后的深度学习框架,大大缩减产品开发以及业务部署的时间,实现开发环境的预安装;同时支持调优后的算法框架,并且保持持续更新。 NGC网站 提供了目前主流深度学习框架不同版本的镜像(比如Caffe、Caffe2、CNTK、MxNet、TensorFlow、Theano、Torch),您可以选择需要的镜像搭建环境。本文以搭建TensorFlow深度学习框架为例详细介绍如何在gn5实例上搭建NGC环境。 前提条件 在开始搭建TensorFlow环境之前,必须先完成以下工作: 注册阿里云账号,并完成 实名认证。登录 NGC网站,注册NGC账号。登录 NGC网站,获取NGC API key并 保存到本地。登录NGC容器环境时需要验证您的NGC API Key。 操作步骤 创建gn5实例。参考 创建ECS实例 创建一台gn5实例,注意以下配置信息: 地域:只能选择华北1、华北2、华北3、华北5、华东1、华东2、华南1。实例:选择gn5实例规格。镜像:单击 镜像市场,在弹出对话框里,找到 NVIDIA GPU Cloud VM Image 后,单击 使用。公网带宽:选择 分配公网IP地址。 说明:如果这里不分配公网IP地址,则在实例创建成功后,绑定EIP地址。 安全组:选择一个安全组。安全组里必须开放TCP 22端口。如果您的实例需要支持HTTPS或 DIGITS 6 服务,必须开放TCP 443(用于HTTPS)或TCP 5000(用于DIGITS 6)端口。ECS实例创建成功后,登录ECS管理控制台,记录实例的公网IP地址。连接ECS实例:根据创建实例时选择的登录凭证,使用密码验证连接ECS实例 或者 使用SSH密钥对验证连接ECS实例。按界面提示输入NGC官网获取的NGC API Key后按回车键,即可登录NGC容器环境。运行 nvidia-smi。您能查看当前GPU的信息,包括GPU型号、驱动版本等,如下图所示。按以下步骤搭建TensorFlow环境: 登录 NGC网站,找到TensorFlow镜像页面,获取 docker pull 命令。下载TensorFlow镜像。 docker pull nvcr.io/nvidia/tensorflow:18.03-py3查看下载的镜像。 docker image ls运行容器,完成TensorFlow开发环境的部署。 nvidia-docker run --rm -it nvcr.io/nvidia/tensorflow:18.03-py3选择以下任一种方式测试TensorFlow: 简单测试TensorFlow。 $python >>> import tensorflow as tf>>> hello = tf.constant('Hello, TensorFlow!')>>> sess = tf.Session()>>> sess.run(hello)如果TensorFlow正确加载了GPU设备,返回结果如下图所示。下载TensorFlow模型并测试TensorFlow。 git clone https://github.com/tensorflow/models.gitcd models/tutorials/image/alexnetpython alexnet_benchmark.py --batch_size 128 --num_batches 100运行状态如下图所示。保存TensorFlow镜像的修改。否则,下次登录时配置会丢失。
chenchuan 2019-12-01 21:36:34 680 浏览量 回答数 0

回答

二楼:选购篇 个人经验,说说新用户买主机的那些困惑 假如网站流量2万然后图片和WEB分离用什么样的配置就够 租用阿里云主机我想建30个站点请问购买哪种配置合适 1m带宽能做图片站吗? 请教一下数据量有100万条左右要什么配置 网站流量IP在10006000之间如何选择带宽 6m的带宽能承受多少ip的并发 想问下,网站同时在线最高500IP,要多大的带宽,什么配置? 2万pv、2千ip的论坛该选择什么样的阿里云产品? 1000IP,50008000pv手机软件下载站,大约50g附件,用oss划算吗? 网站最高100IP同时在线,1M够用吗? phpwind的论坛每天2万IP需要买什么样的配置? 单个html网页,每天几万IP访问量,需要怎样的服务器配置? 日IP8000的论坛大概要用什么类型阿里云产品? 1g 的内存能不能支持DZ5000个IP 3M的带宽1.5WIP就扛不住了? 512M的经济型能支持几个站点?(pw论坛)IPpv多少?数据库有送么 ------------------------- 四楼:配置篇阿里云官方帮助中心(推荐)windows篇Windows最简单的PHP MYSQL配置方法(菜鸟必备)面板管理 mysql安装教程梦丫头版 云服务器管理指南windows2008r2php阿里云主机配置视频教程云主机win2008可以更改远程桌面端口3389 Windows使用手册Windows Server 2012上PHP运行环境搭建的简易教程(Win08适用) Windows 视频教程IIS6.0新建站点及绑定域名图文教程Windows最简单的环境安装一键包Windows 一键安装web环境(适用于Windows2008) linux篇nginx系统,301地址重定向在CentOS 5.x中使用ext4文件系统 WDCP系统如何禁止别人用IP访问你的网站 阿里云主机如何添加SWAP分区 用wdcp面板安装wordpress博客 老牌wdcpweb控制和管理面板 阿里云Centos主机Mysql设置配置php.ini问题——Error404.me阿里云centos主机配置nginx 阿里云centos下挂载和扩展多块硬盘解决方案阿里云主机之挂载硬盘lnmpnginxmysqlphp安装使用开源的amh搭建nginx/php/mysql环境和管理面板 Nginx配置及Rewrite规则 阿里云主机linux下安装系统zijidelu管理系统图文教程分享一个阿里云linux系统装wdcp的教程 分享下 LINUX 挂载数据盘并安装WDCP的教程 新手安装控制面板 挂载硬盘 3条命令 直接搞定 阿里云主机Linux系统运用LuManager(LUM)配置环境教程 Redhat/CentOS一键安装web环境全攻略阿里云linux最简单的环境配置方法(有面板) 如何添加网站for linux(绑定域名) linux使用手册 Linux视频教程云服务器一键安装LTMPTengineRPM一键安装Tengine服务器快速搭建方法阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本 ------------------------- 五楼:备案篇实战演示:阿里云网站备案视频教程备案期间IP访问网站 域名调试网站方法大全 阿里云官方备案专题 首次备案指南 修改备案指南 有主体新增网站指南管局审核需要多长时间?一台云服务器备案多少个网站?备案需要多长时间?什么样的网站需要备案? 联系客服 ------------------------- 六楼:安全篇 阿里云安全策略大解读 云盾1.30版本介绍 讨论阿里云服务器被DDos和CC的防御方法! 关于“云监控”的使用及其他说明操作系统安全加固版镜像FAQ云盾FAQweb漏洞详解及修复建议网页挂马及暗链检测【推荐】如果遇上网络攻击 你需要做的事云盾防Ddos文献之敌情篇 ——DDoS攻击原理Nginx简单防御CC攻击网站防止CC攻击的方法Linux主机简单判断CC攻击的命令ECS安全优化之路Linuxweb应用安全防护经验小结新手必看:云盾及ecs基础安全设置教程 ------------------------- 回 24楼(秋风明月) 的帖子 是的,有了云盾和快照,确实可以不用装防火墙了。如果你是linux系统,安全性更高一些。 ------------------------- Re:回7楼kideny的帖子 引用第30楼正典互联于2013-04-15 14:15发表的 回7楼kideny的帖子 : 请问阿里云服务器可以实现PHP跟ASP共存吗?我的几个网站分别是使用这两种不同环境的。谢谢解答 云服务器完全可以实现PHP和ASP共存。 ------------------------- 回 37楼(xixihaha) 的帖子 截图发上来看看吧,是密码错误还是怎么了。 ------------------------- 回 49楼(joker) 的帖子 是的,都是独立IP和独立带宽。 ------------------------- 2014年7月22日,今天又更新了大量内容。好久没更新了,工作量巨大啊。 ------------------------- 回 155楼(娱乐人才网) 的帖子 本周已经更新了大量内容!
kideny 2019-12-02 00:53:38 0 浏览量 回答数 0

回答

本周热门查看更多 双11性能测试专家分享PTS性能测试解决方案您还为用户访问响应时间长而烦恼吗?你还在为性能测试而迷茫吗?阿里巴巴高级技术专家樊非(负责淘宝天猫双11性能测试)结合实例为您讲解性能测试。 阿里云ECS使用入门阿里云“诸神之战”创客大赛长沙站启动阿里云解析“域”见即分享,立即就有奖 产品动态查看更多 如果300年前有这个,《红楼梦》的结局之谜就能解开了!解密阿里云七武器之高性能消息服务ONS 阿里内参 登陆windows系统后,发现无法显示桌面怎么办?通过ECS控制台的管理终端登陆服务器,然后调出任务管理器 ,在任务管理器中新建任务 explorer 单击确认…... 使用CDN加速后发现网页上的一个连接无法访问了,如何解决?客户原文件在OSS访问正常,但是这个页面下方有个"阅读原文"的按钮,点击后报错... 会员分享查看更多 云上运维——解决您上云后的忧虑基于SaaS的云端应用性能管理优化实践大学生创业者云上的创业故事 问答交流查看更多 php-cgi进程太多,导致CPU使用率过高,网站访问不了python 都有哪些好的学习资料或者博客ECS服务器301重定向的问题有ECS还需要ACE吗搭建VPN访问谷歌的问题云虚拟主机有木有win版支持php的? 学院教程查看更多 阿里云ecscentos7使用前的那几件事ECS-windows无法远程连接排查思路阿里云服务器从不会到会的配置教程装好系统首先在控制台里给磁盘建立个快照 ...首先需要确认的是主机是否受到清洗或者黑洞,其次、需要连接管理终端确认的...刚刚接触阿里云,什么都不会,但又久闻大名,觉得潜力未知,想用,摸索了一个星期,终于入门了...  
洛欢 2019-12-01 21:04:37 10505 浏览量 回答数 3

回答

前  言 Redis作为基于键值对的NoSQL数据库,具有高性能、丰富的数据结构、持久化、高可用、分布式等特性,同时Redis本身非常稳定,已经得到业界的广泛认可和使用。掌握Redis已经逐步成为开发和运维人员的必备技能之一。 本书关注了Redis开发运维的方方面面,尤其对于开发运维中如何提高效率、减少可能遇到的问题进行详细分析,但本书不单单介绍怎么解决这些问题,而是通过对Redis重要原理的解析,帮助开发运维人员学会找到问题的方法,以及理解背后的原理,从而让开发运维人员不仅知其然,而且知其所以然。 本书涵盖内容 第1章 初识Redis,带领读者进入Redis的世界,了解它的前世今生、众多特性、应用场景、安装配置、简单使用,最后对Redis发展过程中的重要版本进行说明,可以让读者对Redis有一个全面的认识。 第2章 API的理解和使用,全面介绍了Redis提供的5种数据结构字符串(string)、哈希(hash)、列表(list)、集合(set)、有序集合(zset)的数据模型、常用命令、典型应用场景,并且每个小节都会给出在Redis开发过程可能要注意的坑和技巧。同时本章还会对Redis的单线程处理机制、键值管理做一个全面介绍,通过对这些原理的理解,读者可以在合适的应用场景选择合适的数据结构和命令进行开发,有效提高程序效率,降低可能产生的问题和隐患。 第3章 小功能大用处,除了5种数据结构外,Redis还提供了诸如慢查询、Redis Shell、Pipeline、Lua脚本、Bitmaps、HyperLogLog、发布订阅、GEO等附加功能,在这些功能的帮助下,Redis的应用场景更加丰富。 第4章 客户端,本章重点关注Redis客户端的开发,介绍了Redis的客户端通信协 议、详细讲解了Java客户端Jedis的使用技巧,同时通过从原理角度剖析在开发运维中,客户端的监控和管理技巧,最后给出客户端开发中常见问题以及案例讲解。 第5章 持久化,Redis的持久化功能有效避免因进程退出造成的数据丢失问题,本章首先介绍RDB和AOF两种持久化配置和运行流程,其次对常见的持久化问题进行定位和优化,最后结合Redis常见的单机多实例部署场景进行优化。 第6章 复制,在分布式系统中为了解决单点问题,通常会把数据复制多个副本部署到其他机器,用于故障恢复和负载均衡等需求,Redis也是如此。它为我们提供了复制(replication)功能,实现了多个相同数据的Redis副本。复制功能是高可用Redis的基础,后面章节的哨兵和集群都是在复制的基础上实现高可用。 第7章 Redis的噩梦:阻塞,Redis是典型的单线程架构,所有的读写操作都在一条主线程中完成的。当Redis用于高并发场景时这条线程就变成了它的生命线。如果出现阻塞哪怕是很短时间对于我们的应用来说都是噩梦。导致阻塞问题的场景大致分为内在原因和外在原因,本章将进行详细分析。 第8章 理解内存,Redis所有的数据存在于内存中,如何高效利用Redis内存变得非常重要。高效利用Redis内存首先需要理解Redis内存消耗在哪里,如何管理内存,最后再深入到如何优化内存。掌握这些知识后相信读者能够实现用更少的内存存储更多的数据从而降低成本。 第9章 哨兵,Redis从2.8版本开始正式提供了Redis Sentinel,它有效解决了主从复制模式下故障转移的若干问题,为Redis提供了高可用功能。本章将一步步解析Redis Sentinel的相关概念、安装部署、配置、命令使用、原理解析,最后分析了Redis Sentinel运维中的一些问题。 第10章 集群,是本书的重头戏,Redis Cluster是Redis 3提供的Redis分布式解决方案,有效解决了Redis分布式方面的需求,理解应用好Redis Cluster将极大的解放我们对分布式Redis的需求,同时它也是学习分布式存储的绝佳案例。本章将针对RedisCluster的数据分布,搭建集群,节点通信,请求路由,集群伸缩,故障转移等方面进行分析说明。 第11章 缓存设计,缓存能够有效加速应用的读写速度,以及降低后端负载,对于开发人员进行日常应用的开发至关重要,但是将缓存加入应用架构后也会带来一些问题,本章将介绍缓存使用和设计中遇到的问题,具体包括:缓存的收益和成本、缓存更新策略、缓存粒度控制、穿透问题优化、无底洞问题优化、雪崩问题优化、热点key优化。 第12章 开发运维的“陷阱”,介绍Redis开发运维中的一些棘手问题,具体包括:Linux配置优化、flush误操作数据恢复、如何让Redis变得安全、bigkey问题、热点key问题。 第13章 Redis监控运维云平台CacheCloud,介绍笔者所在团队开源的Redis运维工具CacheCloud,它有效解决了Redis监控和运维中的一些问题,本章将按照快速部署、机器部署、接入应用、用户功能、运维功能多个维度全面的介绍CacheCloud,相信在它的帮助下,读者可以更好的监控和运维好Redis。 第14章 Redis配置统计字典,会对Redis的系统状态信息以及全部配置做一个全面的梳理,希望本章能够成为Redis配置统计字典,协助大家分析和解决日常开发和运维中遇到的问题。 目标读者 本书深入浅出地介绍了Redis相关知识,因此可以作为Redis新手的入门教程,同时本书凝聚了两位笔者在Redis开发运维的多年经验,对于需要进一步提高Redis开发运维能力的读者也非常适合。读者可以参考下图,结合自身对于开发运维的需求进行阅读,但笔者依然建议读者对每一章都进行阅读。 本文出版自《华章出版社》  作者:付 磊 张益军
知与谁同 2019-12-01 22:07:46 2741 浏览量 回答数 2

回答

ECS磁盘 我想在ECS 跨服务器进行数据拷贝,有没有知道实现方法的? Linux系统服务器重启或初始化系统之后,再登录服务器执行df -h查看磁盘挂载,发现数据不见了。这是为什么?能不能找回来? 重启服务器后发现/alidata目录所有数据丢失。怎么才能找回来呢? ECS Linux扩容格式化磁盘提示magic number in super-block while trying to open /dev/xvdb1 ? Linux 实例初始化系统盘后,怎样才能重新挂载数据盘? 如何在ECS 利用快照创建磁盘实现无损扩容数据盘? ECS云服务器磁盘FAQ云服务器磁盘I/O速度是多少? Linux 购买了数据盘,但是系统中看不到怎么办? ECS系统盘和数据盘二次分区FAQ,系统盘能否再次划分出一个分区用作数据存储? ECS系统盘和数据盘二次分区FAQ,数据盘能否再次划分出一个分区用作数据存储? ECS系统盘和数据盘二次分区FAQ,划分了多个分区的磁盘,做快照时是针对该分区的,还是针对磁盘的? ECS系统盘和数据盘二次分区FAQ,磁盘二次分区有哪些注意事项? ECS系统盘和数据盘二次分区FAQ,数据盘进行二次分区后,此时回滚快照后,数据盘是几个分区? 什么是可用区? 怎么根据服务器应用需求选择可用区? 按量付费云盘和云盘有什么区别? 按量付费云盘和普通云盘的性能和数据安全性一样吗,磁盘性能会有提升吗? 可以使用用户快照创建按量付费云盘吗? 什么是挂载点? 一块按量付费云盘可以挂载到多个 ECS 实例上吗? 一台 ECS 实例能同时挂载多少块按量付费云盘吗? 按量付费云盘能够挂载到包年包月和按量付费 ECS 实例上吗? 为什么挂载按量付费云盘时找不到我想挂载的 ECS 实例? 购买按量付费云盘后,挂载到目标 ECS 实例的挂载点是否还需要执行磁盘挂载操作? 我已经操作过续费变配,在续费变配期内是否还能将普通云盘转为按量付费云盘? ECS快照 为什么我的按量付费云盘没有自动快照了? 重新初始化磁盘时,我的快照会丢失吗? 更换系统盘时,我的快照会丢失吗? 卸载按量付费云盘时,我的磁盘会丢数据吗? 我能够卸载系统盘吗? 什么是独立云磁盘? 什么是可用区? 独立云磁盘跟现在的磁盘有什么区别? 服务器应用与可用区选择的选择关系是怎么样的? 独立云磁盘怎么收费? 独立云磁盘能够挂载到包年包月实例上吗? 独立云磁盘和普通云磁盘的磁盘性能和数据安全性一样吗,磁盘性能会有提升吗? 我的包年包月实例上不需要的磁盘能不能卸载? 为什么我的独立云磁盘和我的实例一起释放了? 为什么独立云磁盘挂载时找不到我想挂载的实例? 为什么我在本实例列表中选择独立云磁盘挂载时找不到我想要挂载的磁盘? 我删除磁盘的时候,快照会被保留吗? 为什么我的独立云磁盘没有自动快照了? 为什么我不能购买独立云磁盘? 一台实例能挂载多少块独立云磁盘? 卸载独立云磁盘时,我的磁盘会丢数据吗? 我的系统盘能够卸载吗? 什么是设备名? 为什么我在控制台上找不到重置磁盘,更换操作系统,回滚快照的操作了? 重新初始化磁盘时,我的快照会丢失吗? 更换系统盘时,我的快照会丢失吗? 为什么我的数据盘不能选择临时磁盘 独立云磁盘服务器的应用场景有哪些? 可以使用用户快照创建独立云磁盘吗? 独立云磁盘购买后挂载到目标实例的挂载点后,是否还需要执行磁盘挂载操作? 本地SSD盘“本地”是指? 本地SSD盘适合的用户场景有哪些? SSD盘相对之前的普通云盘性能提升多少,是否可以提供具体参数? 本地SSD盘是否支持在原ECS上进行添加或者将原云磁盘更换成本地SSD盘? 本地SSD盘购买后是否支持升级? SSD 云盘具备怎样的 I/O 性能? SSD云盘的数据可靠性是怎样的? SSD 云盘适合的应用场景有哪些? SSD 云盘相对普通云盘性能提升多少?是否可以提供具体参数? I/O 优化是什么概念?能将存量的 ECS 实例升级为 I/O 优化的实例吗? 是否支持将原普通云盘更换成 SSD 云盘? 如何购买 SSD 云盘,I/O 优化的实例及 SSD 云盘的价格是多少? 为什么 I/O 优化的实例有时启动比较耗时? 有些自定义镜像不支持创建 I/O 优化的实例,我该如何操作? 购买SSD云盘后是否支持升级? 使用了 I/O 优化实例和 SSD 云盘之后,Linux 系统在分区挂载的时候报错。 为什么我用 fio 测试性能时,会导致实例宕机? 云盘参数和性能测试工具及方法有推荐的吗? 我想扩容系统盘,求详细步骤! 所有块存储都支持系统盘扩容吗?有地域限制吗? 包年包月和按量付费的ECS实例都支持系统盘扩容吗? 新购ECS时,系统盘开始单独收费?老用户存量的系统盘如何收费? 新购ECS时,系统盘开始单独收费?老用户存量的系统盘如何收费?系统盘扩容是否需要停机操作? 系统盘扩容上线后,系统盘的容量范围多少? 哪些镜像支持系统盘扩容? 云服务器续费变配后,不支持更换系统盘时指定系统盘容量? 系统盘扩容之后是否支持再缩容? 扩容系统盘应注意的问题? 回滚磁盘报错,进行快照回滚的时候,出现如下错误提示: 执行回滚磁盘需要停止实例,并确保当前磁盘没有创建中的快照和没有更换过操作系统。 这是什么原因? 普通云盘和SSD云盘添加挂载信息时有哪些要注意的事项? 申请公测资格 什么是共享块存储? 共享块存储适用于哪些行业和业务场景? 为什么需要共享块存储? 如何正确使用共享块存储? 我能跨地域挂载共享块存储吗? 共享块存储产品规格有哪些? 我想知道阿里云产品的售卖模式和公测范围! 公测购买入口是哪,求链接! 有没有谁分享下共享块存储性能测试命令? 数据盘挂载问题导致数据无法访问,我要怎么排查问题? 我要怎样才能在Linux和Windows主机之间挂载ntfs格式云盘? 为什么ECS实例里文件系统和快照空间大小不一致?在ECS实例内删除文件后再打快照,发现快照容量并没有变小。 ECS实例如何优化快照使用成本? 在ECS实例里什么是快照商业化? 在ECS实例里,快照商业化后过渡优惠期是什么时候? 在ECS实例里,快照商业化的用户范围包括有哪些? 在ECS实例里,如果我已经开通了 OSS,快照会自动存到我的 OSS Bucket 吗?是否需要重新再创建一个 Bucket 来存储快照? 已经购买了 OSS 预付费存储包,同时在使用快照和 OSS 服务,那么存储包会优先抵扣哪个产品? 快照商业化之后,我希望继续使用,需要购买哪个产品,云盘还是对象存储OSS资源包? 快照商业化的收费模式是怎样的? 快照费用的计算方法是怎样的? 快照收费后,不停止自动快照是否就开始收取费用? 快照要收费了,之前的快照要被删除吗? 如果不想付费,之前的快照能继续使用吗? 快照收费后,之前创建的手动快照和自动快照都会收费吗? 快照收费前停止快照策略,需手动删除历史快照吗?正式收费后会直接删除我的历史快照吗? 快照收费以后,账户欠费对快照有什么影响? 如果账号欠费,有关联关系(创建过磁盘或者镜像)的快照,在欠费15天之后是否会被删除? 快照服务和块存储服务的关系,在收费方面的关系是什么? 快照容量是如何计算的,是等于磁盘大小吗? ECS实例内删除文件会减少空间占用吗? 为什么快照容量大于文件系统内看到的数据量? 参考快照增量说明,如中间快照被删除,后面的快照能否使用? 如何开通快照服务? 快照和镜像的关系? 如何在保留关联实例和磁盘的情况下,删除快照跟镜像,快照、实例、镜像之间的关系? 快照和块存储、OSS对象存储是什么关系? 一块云盘能否设置多个快照策略? 快照 2.0 服务包括哪些内容? 快照有什么用途? 快照 2.0 服务支持的云盘类型? 快照数量有什么限制? 快照保留时长怎样? 打快照对块存储 I/O 性能有多少影响? 快照怎么收费? 老的自动快照策略什么时候不可用? 老的快照策略产生的快照什么时候删除? 自动快照功能细节有哪些? 用户的自定义快照和自动快照有冲突吗? 我能保留其中想要的自动快照而让系统不删除吗? 如果一个自动快照被引用(用户创建自定义镜像或者磁盘),会导致自动快照策略执行失败吗? 我如果什么都没有设置,自动快照会启动吗? 自动快照能够删除吗? 自动快照具体在什么时间创建能看到吗? 我如何区分哪些快照是自动快照和用户快照? 更换系统盘、云服务器 ECS 到期后或手动释放磁盘时,自动快照会不会释放? 未随磁盘释放和更换系统盘释放的自动快照会一直保留吗? 云服务器 ECS 到期后或手动释放磁盘时,手工快照会不会释放? 我能单独制定某几块磁盘执行或取消自动快照吗? 云服务器 ECS 有没有自动备份? 磁盘无快照是否能够回滚或数据恢复? 快照回滚能否单独回滚某个分区或部分数据? 系统盘快照回滚是否会影响数据盘? 更换系统后,快照能否回滚? 在回滚快照前,有哪些注意事项? 怎样使ECS回滚快照后同步数据? 如何通过API配置定时自定义快照? 超出预付费存储包的流量,会怎么收费? ECS镜像 Aliyun Linux 17.01 特性有哪些,有说明文档吗? 云市场镜像有哪些功能? 镜像能带来哪些便利? 目前镜像支持哪些服务器环境和应用场景? 镜像是否安全? 选择了镜像后能更换吗? 镜像安装使用过程中出问题了怎么办? Docker私有镜像库是什么? 自定义镜像如何查看数据盘? 自定义镜像,如何卸载和删除 disk table 里的数据? 如何确认已经卸载数据盘,并可以新建自定义镜像? ECS 实例释放后,自定义镜像是否还存在? ECS 实例释放后,快照是否还存在? 用于创建自定义镜像的云服务器 ECS 实例到期或释放数据后,创建的自定义镜像是否受影响?使用自定义镜像开通的云服务器 ECS 实例是否受影响? 使用自定义镜像创建的 ECS 实例是否可以更换操作系统?更换系统后原来的自定义镜像是否还可以使用? 更换系统盘时另选操作系统,是否可以使用自定义镜像? 已创建的自定义镜像,是否可以用于更换另一台云服务器 ECS 的系统盘数据? 是否可以升级自定义镜像开通的云服务器 ECS 的 CPU、内存、带宽、硬盘等? 是否可以跨地域使用自定义镜像? 包年包月云服务器 ECS 的自定义镜像,是否可以用于开通按量付费的云服务器 ECS? ECS Windows企业版和标准版区别 什么情况下需要复制镜像? 可以复制哪些镜像? 当前有哪些支持镜像复制功能的地域? 复制一个镜像大概需要多久? 复制镜像怎么收费的? 在复制镜像过程中,源镜像和目标镜像有什么限制? 怎么复制我的云账号的镜像资源到其他云账号的其他地域? 复制镜像有镜像容量限制吗? 如何购买镜像市场镜像? 按次购买的镜像的使用期限是多久? 镜像市场的镜像支持退款吗? 镜像市场商业化后,还有免费的镜像市场镜像吗? 在杭州买了一个镜像市场的镜像,能否在北京创建ECS实例或者更换系统盘? ECS实例使用镜像市场的镜像,升级和续费ECS实例,需要为镜像继续付费吗? ECS实例使用镜像市场的镜像,实例释放后,继续购买ECS实例还可以免费使用该镜像吗? 使用镜像市场镜像创建ECS实例,该实例创建一个自定义镜像,使用该自定义镜像创建ECS实例需要为该镜像付费吗? 来源于镜像市场的镜像复制到其他地域创建ECS实例,是否需要为该镜像付费? 如果把来源于镜像市场的自定义镜像共享给其他账号(B)创建ECS实例,账号B是否需要为该镜像付费? 如果使用镜像市场的镜像或者来源于镜像市场的镜像进行更换系统盘,需要付费吗? ECS实例正在使用镜像市场的镜像,进行重置系统盘需要收费吗? 怎么调用ECS API,使用镜像市场镜像或者来源镜像市场的自定义镜像或者共享镜像,创建ECS实例和更换系统盘? 如果没有购买镜像市场的镜像或者来源于镜像市场的镜像,在调用ECS API 使用该镜像创建ECS实例和更换系统盘,会报错吗? 我的ESS是自动创建机器的,并且量是不固定,设置最小值为10台,最大值为100台,那么使用镜像市场的镜像如何保证我的的需求实例能正常弹出来? 镜像市场的镜像是否支持批量购买? 如果之前使用的镜像市场的镜像,已不存在该商品(如:jxsc000010、jxsc000019),怎能保证已经设置的弹性伸缩组的机器的正常弹出? 1个product code能否支持不同region的镜像? 我买了100 product code同样值的镜像,是否可以支持在所有的地域可用? 为什么有的ECS云服务器无法选择Windows操作系统? 操作系统是否要收费? 我能否自己安装或者升级操作系统? 服务器的登录用户名密码是什么? 能否更换或升级操作系统? 操作系统是否有图形界面? 如何选择操作系统? 操作系统自带 FTP 上传吗? 每个用户最多可以获得多少个共享镜像? 每个镜像最多可以共享给多少个用户? 使用共享镜像是否占用我的镜像名额? 使用共享镜像创建实例的时候存不存在地域限制? 我曾把自己账号中的某个自定义镜像共享给其他账号,现在我可以删除这个镜像吗 我把某个自定义镜像(M)的共享账号(A)给删除了,会有什么影响? 使用共享镜像创建实例存在什么样的风险? 我把自定义镜像共享给其他账号,存在什么风险? 我能把别人共享给我的镜像再共享给他人吗? 我把镜像共享给他人,还能使用该镜像创建实例吗? ECS Windows服务器桌面分辨率过高导致VNC花屏处理方法通过 管理终端 进入服务器后,把 Windows 服务器桌面分辨率设置过高,确定后,WebVNC 出现花屏。 ECS创建自定义镜像创建服务器为何需要注释挂载项 勾选"IO优化实例"选项导致购买ECS实例时无法选择云市场镜像 如何为 Linux 服务器安装 GRUB 历史Linux镜像的问题修复方案 如何处理 CentOS DNS 解析超时? 什么是镜像市场的包年包月和按周付费镜像? 预付费镜像能与哪种 ECS 实例搭配使用? 怎么购买预付费镜像?可以单独购买吗? 预付费镜像怎么付费? 预付费镜像到期了就不能用了吗?怎么继续使用? 购买预付费镜像后,如果我不想再使用这个镜像,能要求退款吗? 退款时,费用怎么结算? 预付费镜像能转换为按量付费镜像吗? 预付费镜像与其它镜像之间能互换吗?更换后费用怎么计算? 在哪里查看并管理我购买的预付费镜像? 使用预付费镜像制作的自定义镜像会收费吗?预付费镜像过期对于自定义镜像有什么影响? ECS 实例操作系统选择说明 阿里云支持哪些 SUSE 版本? SUSE 操作系统提供哪些服务支持? ECS安全组 如何检查 TCP 80 端口是否正常工作? 什么是安全组? 为什么在购买 ECS 实例的时候选择安全组? 安全组配置错误会造成哪些影响? 专有网络实例设置安全组规则时为什么不能设置公网规则? 创建 ECS 实例时我还没创建安全组怎么办? 为什么无法访问 25 端口? 为什么我的安全组里自动添加了很多规则? 为什么有些安全组规则的优先级是 110? 为什么我在安全组里放行了 TCP 80 端口,还是无法访问 80 端口? ECS安全组被添加内网ip地址了,是怎么回事? 能说明下ECS安全组中规则的优先级执行匹配顺序吗? ECS实例安全组默认的公网规则被删除导致无法ping通,ECS 服务器无法ping通,排查防火墙、网卡IP配置无误,回滚系统后仍然无法ping通。 我刚购买了ECS实例,如何选择及配置安全组? 没有添加默认安全组访问规则-导致通过API创建的ECS实例断网,要怎么恢复? 使用ECS安全组工具撤销之前账号间互通的操作 ECS网络 带宽与上传、下载速度峰值的有什么关系? 弹性公网IP在哪里可以查看流量和带宽监控信息? 我用的是ECS Ubuntu系统,要怎么单独禁用和启动内外网卡? ECS 实例子网划分和掩码是什么? ECS 实例网络带宽是否独享? 带宽单线还是双线,电信还是网通? 5 Mbps 带宽怎么理解? 带宽的价格是多少? 不同地域的 ECS 实例之间的内网是通的吗? 为何新建的 ECS 实例就有 200 Kbps 左右入网流量? 我的 ECS 实例经常能在 Web 日志中看到大量的恶意 IP 访问我的网站,疑有刷流量和恶意访问的嫌疑,询问云盾是否有屏蔽 IP 的功能? 包月ECS新购时是否可以选择带宽按照使用流量计费? 包月ECS带宽按流量计费是如何计费的? 目前使用的固定带宽计费,是否可以转换为带宽按流量计费? 是否可以随时调整流量带宽峰值? 续费变更配置时(比如到期时间为2015年3月31日,续费一个月到4月30日),如果将包月ECS按固定带宽计费改成按流量付费计费,操作以后在未生效前(3月31日前),是否还可以升级带宽? 续费变更配置时候将包月ECS带宽按流量计费改成按固定带宽计费,为什么我的带宽服务停掉了? 如果账号没有足够余额,欠费怎么办?ECS实例也会停掉吗? 带宽流量欠费是否有短信通知? 当带宽按照流量计费欠费时,是否可以对实例进行升级 CPU、内存操作? 欠费充值后带宽是自动恢复的吗? 包月带宽转流量计费后,流量价格是多少? ECS 服务器出现了异地登录怎么办? 爱哪里可以查看云服务器 ECS 公网流量统计总和? 我的ECS 实例对外 DDoS 攻击导致被锁定了,要如何处理 ? 什么是云服务器 ECS 的入网带宽和出网带宽? ECS云服务器如何禁用公网IP? ECS 实例停止(关机)后按量付费带宽仍产生流量,ECS 实例在控制台上状态为已停止,但按量付费的带宽每小时仍会产生不小的费用,且此时 ECS 实例正在遭受攻击,云盾控制台中 DDoS 防护中 ECS 的状态为清洗中。 访问ECS服务器的网站提示“由于你访问的URL可能对网站造成安全威胁,您的访问被阻断”,这是什么原因? 服务器黑洞是什么?求科普! 如果想确认该服务器的IP信息和地理位置,要在哪里去查询? 我想知道客户端本地到ECS服务器是不是丢包,要怎么测试? 内网和公共 NTP 服务器是什么?它们两个有什么区别 我能 ping 通但端口不通,这是端口的问题吗? 如何通过防火墙策略限制对外扫描行为? 我想用手机移动端网络路由跟踪探测,可以吗? 云监控中的ECS带宽和ECS控制台中看到的带宽不一致是什么原因? 云服务器ECS三张网卡有什么区别? Ubuntu系统ECS使用“如何通过防火墙策略限制对外扫描行为”脚本之后出现无法远程、数据库连接不上。 什么业务场景需要在专有网络(VPC)类型ECS购买PublicIP? 怎么购买专有网络(VPC)类型分配 PublicIP 的 ECS? 专有网络(VPC)类型 ECS 的 PublicIP 和 EIP 的区别? 专有网络(VPC)类型ECS的 PublicIP 的可以升级带宽吗? 专有网络(VPC)类型ECS的 PublicIP 可以解绑吗? 如果购买网络(VPC)类型 ECS 的时候,没有分配公网 IP,该怎么才能分配一个公网 IP? 怎么查询专有网络(VPC)类型 ECS 的 PublicIP 的监控数据? 怎么查询专有网络(VPC)类型ECS的按流量付费的 PublicIP 的账单? 专有网络和经典网络的 PublicIP 异同? 专有网络(VPC)类型 ECS 购买 PublicIP 的付费方式? ECS API 如何通过 API / SDK 实现不同账号 ECS 实例的内网通信? ECS API绑定公网IP报错:The IP is already in use分析 ECS API修改实例带宽不能指定时间范围吗? 所在可用区不支持相应磁盘类型-导致ECS API创建实例报错 用ECS API创建实例的时候,返回如下错误信息: "Code": "InvalidDataDiskCategory.NotSupported" 如何创建有公网 IP 的 ECS 实例? 通过API或SDK查询安全组规则无法显示所有的规则,这是怎么回事? 如何通过OpenAPI创建ECS实例的流程状态描述? 数据传输服务DTS实时同步功能,我想只同步表结构,要怎么做? 如何获取控制台RequestId? 阿里云中国站部分地域实例什么时候降价? ECS Linux 实例怎么设置 Locale 变量? 克隆ECS服务器的方法 其它国家和地区是否都可以提供经典网络和专有网络的类型呢?网络类型是否可以变更呢? 各个地域的网络覆盖范围是什么呢? 其他相关问题 不同地域的实例,价格一样吗? 如果我使用其它国家和地区的实例搭建了一个网站,我的用户将通过域名访问网站,这个域名需要 ICP 备案吗? 为什么有些实例规格只能在中国大陆地域购买,而在其它国家和地区无法购买? 可否将中国大陆地域的实例迁移到其它国家和地区呢? 如何在其它国家和地区部署 ECS 实例? 我要买其它国家和地区的实例,需要单独申请一个国际站账号吗? ——更多ECS相关问题—— · ECS故障处理百问合集
问问小秘 2020-01-02 15:49:17 0 浏览量 回答数 0

回答

很多平台一旦做大了,平台的流量就会陡增,同时并发访问的流量也会暴增,原本规划的硬件配置就无法满足当下的流量问题。 那么如何处理好高并发的流量问题呢? 小编将这些分为2个方面:架构层面和网站本地项目层面。 一、架构层面 1、硬件升级 假设一台服务器最多能支持每天10万独立IP,如果访问量增大的话,那么必须升级这台服务器的配置才能解决问题,否则怎么优化都不可能彻底解决性能问题。 这对于企业用户来说不是问题,买就是了。 为了避免采购浪费,建议先对服务器做一下压力测试,看看到底能支持多少访问量。 详细参考《 怎么做服务器压力测试?》 建议使用: 阿里云服务器ECS,阿里云的口碑不用说了,最主要的是可以弹性扩展升级。 阿里云哪个节点服务器好?ping一下看看:https://ping.gaomeluo.com/aliyun/ 2、负载均衡 它是对多台云服务器进行流量分发的负载均衡服务,让整个服务器群来处理网站的请求。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。 一般有钱的公司,可以购买专门负责负载均衡的硬件,效果肯定会很好。 但是对于大部分公司,会选择廉价有效的方法扩展整个系统的架构,来增加服务器的吞吐量和处理能力,以及承载能力。通常会选择相对成熟的成品架构,比如: 阿里云的负载均衡SLB 详细可参考《 阿里云负载均衡SLB怎么用》 3、服务器集群 服务器集群就是指将很多服务器集中起来一起进行同一种服务,在客户端看来就像是只有一个服务器。集群可以利用多个计算机进行并行计算从而获得很高的计算速度,也可以用多个计算机做备份,从而使得任何一个机器坏了整个系统还是能正常运行。 如果你的企业、平台够大,那么完全可以自己来搞集群。但是对于一遍企业来讲,这种服务器框架耗钱、耗时、耗力。好在现在云服务厂商都提供了集群服务器,比较有名的就是 阿里云集群。这也给企业省去不少人力、时间成本。 详细可参考《 如何搭建阿里云集群服务器》 4、分布式结构 分布式结构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为“服务”.这些子系统能够独立运行在web容器中,它们之间通过RPC方式通. 好处就是系统之间的耦合度大大降低,可以独立开发、独立部署、独立测试,系统与系统之间的边界非常明确,排错也变得相当容易,开发效率大大提升。 提示一下: 负载均衡:是一种优化手段,目的是为了让集群中的每台机器的负载保持均衡,这样就不会出现集群中某台机器挂了的情况; 集群:多台机器做相同的业务,对外如一台机器在做事情一样,集群中任意一台机器挂了没有影响,因为其他机器还在工作; 分布式:一个业务在不同的物理点上做,比如web服务器、应用服务器、数据库服务器,这三个节点分开部署在不同的机器上,共同完成一个业务;分布式的特点是,每个节点都不能挂,否则这个业务就不能完成了;当然,我们可以给分布式中的每个节点都做集群处理,这样可以降低分布式系统的单节点故障; 所以,针对自己业务量大小,对上述的负载均衡、服务器集群、分布式结构,任意选用方案。 二、网站本地项目层面 1、页面静态化 前台实现完全的静态化最好,可以完全不用访问数据库。这样服务器的压力就减轻了不少。 这点我们可以借鉴一些比较成熟的框架方案,比如说dedecms、帝国cms、wordpress等,他们都可以对已产生的网页生成纯静态页面,每次更新内容,会再次生成纯静态页面。 另外还建议,页面中的图文进行动静分离处理,把页面用到的图片放到专用存储空间(比较常见的有 阿里云OSS ),减少网站服务器的压力,另外也建议动静分离的那一部分也做一下CDN加速。让图片等相对较大的资源才CDN节点获取,提高网站打开速度。 详细可参考《 【图文】wordpress站如何用阿里云OSS做动静分离?》 2、缓存技术(Memcache、Redis等) 缓存技术就是另一个解决方案,就是将动态数据存储到缓存文件中,动态网页直接调用 这些文件,而不必再访问数据库。 简单罗列一下redis和memcache的区别 Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10;分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从;存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化);灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复;Redis支持数据的备份,即master-slave模式的数据备份;应用场景不一样:Redis出来作为NoSQL数据库使用外,还能用做消息队列、数据堆栈和数据缓存等;Memcached适合于缓存SQL语句、数据集、用户临时性数据、延迟查询数据和session等。 参考一下开源案例《 【图文】wordpress如何开启Memcached缓存来加速网站?》 3、数据库优化 数据库的优化总结为如下三点 1、数据库分表技术当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,很有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。 可参考《 mysql数据库如何分表》 2、数据库读写分离数据库读写分离的基本原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。 可参考《 如何实现数据库读写分离》 3、表建立相应的索引使用索引可快速访问数据库表中的特定信息。 可参考《 mysql建表并创建索引》 对于一些成熟的数据库产品,已经无需自己做分表,不需要自己做读写分离,只要主实例下有只读实例以及开通读写分离功能即可。 比如说 阿里云的RDS详情参考《 RDS是否需要自己做分表、读写分离?》 4、CDN 将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。 使用CDN的好处不仅仅是缓存网站静态资源,还可以起到隐藏源IP的作用,这样还可以应对一些小的流量攻击,避免源IP泄露被人攻击。 通常用的CDN就那么几家,这里以阿里云CDN为例: 阿里云CDN。 详细参考《 阿里云CDN怎么使用》 5、禁止盗链 外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对于自身的图片或者文件盗链。 这个操作相对就简单了很多,如果你使用了阿里云的CDN(对象存储OSS),这些CDN/对象存储OSS的控制台里可以一键设置防盗链。 详细可参考官方教程: 《 阿里云CDN怎样设置防盗链》《 阿里云OSS怎样设置防盗链》 6、控制大文件的上传下载 大文件的下载会占用很大的流量,并且对于非SCSI硬盘来说,大量文件下载会消耗 CPU,使得网站响应能力下降。因此,尽量不要提供超过2M的大文件下载,如果需要提供,建议将大文件放在专门的存储空间上(对象存储OSS/COS)。 这个方法详细参考:《 如何限制windows系统服务器上传文件的大小》《 如何限制Linux系统服务器上传文件的大小》 友情提示: 在产品的选用上,尽量都选用同一家的产品(要么都用阿里云家的,要么都用其他云家的),部分产品也尽量选同一区域。选同一家是为了,一来是方便管理,二来部分产品不适合两家接入使用。选同一区域的,是为了同一区域可以内网互联,还能节省一些费用。(原文: 流量大的网站 如何处理高并发流量问题)
元芳啊 2019-12-01 21:54:35 3383 浏览量 回答数 2

回答

在企业面向数字化转型的浪潮中,云早已是关键中的关键,成为企业发展的新引擎。 刚刚,国内领先的云存储企业115科技就宣布将所有数据迁移至阿里云上,整体规模超过100PB,创下了史上最大规模的公共云迁移纪录,全程仅耗时45天。 上云变得越来越便捷,企业最担心的问题云厂商也在不断解决:遗留系统如何原封不动迁至云上,什么样的方式成本更低?上云后怎样解决旧系统时代的疑难杂症? 在6月7日的2018云栖大会·上海峰会上,阿里云就展示了一整套上云的“武功秘籍”,提供了从成本评估、压测到网络搭建、应用迁云、数据迁移等完整的迁云能力,这七套拳法可以让企业把过去繁琐的“买菜做饭”式上云变成“点击下单”一样简单,轻松上云、加速转型。 第一招白鹤亮翅:上云成本对比计算工具 对于IT 系统上云来说,第一个遇到的问题是:上云到底能省多少? 针对用户需求,阿里云开发了成本评估工具TCO和成本对比工具,借助该工具,企业可以根据自己的业务状态,更加明确阿里云ECS 相比于自建集群的成本优势,同时可以快速在云端创建一组配置清单和资源消耗清单,明确自己的IT系统在上云时的消耗,清清楚楚的预算,明明白白的上云。 第二招九阳神功:性能测试服务PTS 上云并不是一个简单的操作,背后还带着整个团队对于云计算的期望,如何知道上云后的业务系统能够承载多大的流量?这就需要双11同款的阿里云性能测试服务PTS了。 PTS能提供千万级的性能测试服务,快速明确当前系统的性能上限,在真正开展业务时,能够及时对系统进行扩容,提升承载能力。 此外,阿里云PTS 性能测试服务还可利用遍布全球1300多个CDN节点来提供更迅捷的脉冲能力和流量掌控能力,帮助企业模拟真实的应用场景。 第三招梯云纵:迁云工具P2V 老旧业务系统迁移上云是很多企业的痛点,老旧系统中还存在种种隐藏陷阱,即使是当年的部署者,也未必能够完美复现曾经的应用系统环境。 针对这种情况,阿里云提供了迁云工具P2V ,该工具能够以较好的兼容性、较低的使用成本和简易的操作将其他环境、其他平台操作系统迁移到阿里云ECS 平台中,可一键迁移,帮助用户完成线下物理服务器迁移至ECS、线下虚拟机迁移到ECS 和迁移其他云平台云主机到ECS 中,让用户无痛完成IT系统的迁移。 第四招乾坤大挪移:数据与应用迁移 ADAM 为了让企业更加专注于业务本身,阿里云推出了数据库与应用迁移服务(Advanced Database & Application Migration,简称ADAM)。 ADAM能够针对应用进行全面的上云可行性评估、成本和云存储选型等,帮助企业将数据库和应用迁移到阿里云上,并提供如何进行业务系统的性能优化等建议,同时可提供一系列的周边能力,比如业务优化指南、数据迁移定制、数据清洗等能力。 第五招弹指神通:数据传输服务DTS 对一些在线业务来说,上云的挑战不仅是迁移,而是要保证业务不中断,服务不停机,数据需要保持强一致。 为了解决这个问题,阿里云提供了无缝迁移的数据传输服务DTS,它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。它底层的数据流基础设施为阿里双11异地多活基础架构, 为数千下游应用提供实时数据流。企业无需停机即可借助DTS 轻松构建一套安全、可拓展、高可用的数据架构。 第六招凌波微步:海量数据迁移神器闪电立方 海量数据的迁移一直是个大问题,对于百PB级别的数据来说,物理迁移的方式更加高效,阿里云推出了为PB级数据而生的离线迁移神器闪电立方,这就是一个可移动的“数据中心”,通过一个安全的存储硬件,每个闪电立方可安全传输480TB数据,最快24小时即可完成PB级数据迁移。 同时,针对小型客户,阿里云还推出了闪电立方mini版,可提供单台40TB的数据迁移能力,图形化界面,引导式服务体验。在数据安全方面,闪电立方mini版同样提供端到端的数据加密服务和数据一致性校验。不同的是,闪电立方mini版可以自行部署,再由专业的物流运输至阿里云的数据中心,实现离线数据的快速上云。 第七招斗转星移:IPv6转换服务 IPv4资源早已枯竭,IPv6 势在必行。为了帮助企业能够快速抢占这这一互联网基础设施,阿里云推出了IPv6转换服务。 借助IPv6转换服务,支持IPv4的服务器也可以接收到来自IPv6的业务请求。同时,IPv6转换服务还提供了跨可用区的高可用,超高转发性能,完备的监控数据和访问控制能力,实现简单、高效、安全、灵活的IPv4到IPv6业务升级体验。 此外,阿里云还是国内首家支持IPv6的云厂商,即将提供全面的IPv6服 转自: https://yq.aliyun.com/articles/601092
游客886 2019-12-01 21:04:33 2762 浏览量 回答数 1

回答

1、前端安全生产水位远远满足不了当前的诉求,发展上颇显迟钝,这背后这背后反应了哪3个问题? 2、前端可用性的困局有哪些? 3、什么是混沌工程? 4、混沌工程强调了哪五大要素? 5、混沌工程最常用的实现方式是什么? 6、什么是在岸持续可用? 7、阿里服务器故障演练的内容有哪些? 8、故障演练需要重点关注哪些? 9、前端故障演练体系包括什么? 10、前端需要关注的生产和消费过程细分为哪4部分? 11、如何理解故障的注入具有惯性? 12、立体注入体系有哪2部分组成? 13、在立体注入体系中应该选择如何选择注入方式? 14、什么是稳态假设? 15、前端可用性领域核心关注点有哪些? 16、在前端页面中如果把js搞挂会有什么影响? 17、混沌工程中的最小爆炸半径什么意思? 18、通过控制故障比例和严重性来进行故障演练是否可行?为什么? 19、独立出来一套环境来进行演练,进行故障模拟是否可行?为什么? 20、三位一体的前端安全环境由哪三部分组成? 21、f2etest演练体系是如何运行的? 22、如何保证大流量业务的使用? 23、在故障演练中如何解决用户方针、业务逻辑和数据服务的问题? 24、传统的UI自动化方案存在哪些问题? 25、什么是流量即用例(Hub Plan)? 26、什么是沙盒? 27、一个静态资源劫持的注入能力是如何运行的? 28、前端故障处理过程包含那几部分? 29、如何优化故障演练的剧本? 30、在安全生产能力的视角来看,演练体系和保障策略关系是什么关系? 31、从组织视角看演练体系带来了哪些好处? 32、从传统前端监控视角看页面,一般会关注哪些指标? 33、现在前端业务运行的跨端方案有哪些? 34、从跨端监控视角看,一般需要关注哪些问题的监控? 35、前端页面多数故障是由什么引起的? 36、线上变更引起故障的原因是什么? 37、日志有小幅度增长,报警没有触发的原因是什么? 38、线上修复的完整流程分成哪两个阶段? 39、灰度监控是要解决发布过程的监控,核心要解决哪三个问题? 40、数据链路分为哪四部分? 41、灰度发布,分成哪两部分? 42、什么是日志采集? 43、什么是数据处理? 44、什么是灰度监控? 45、什么是静态资源发布? 46、在静态资源发布时,命中很未命中访问的版本有什么区别? 47、ZIP打包一般分为哪两个场景? 48、如何区分ZIP还是非ZIP发布场景? 49、什么是端外采集? 50、什么是容器采集? 51、端外采集如何获取灰度标识信息? 52、容器采集如何获取灰度标识信息? 53、灰度跨端监控的数据处理过程包含哪些? 54、如何获取原始日志? 55、什么是实时日志处理? 56、什么是数据存储? 57、什么是数据应用 58、如何实现灰度实时监控能力? 59、什么是灰度报警? 60、灰度实时监控的目标是什么? 61、灰度实时监控的的核心指标数据包含什么? 62、如何计算灰度比例? 63、在JSError 指标中如何计算出新增的错误类型和错误增长比例? 64、灰度监控分为哪四个过程? 65、在灰度监控中如何进行灰度发布? 66、在灰度监控中如何进行指标采集? 67、在灰度监控中什么是监控指标? 68、在灰度监控中什么是灰度应用? 69、盒马可以为消费者提供什么体验? 70、盒马可以为作业者提供什么体验? 71、在盒马中多元化的中后台场景包括哪些? 72、多元化的作业场景带来了哪些好处? 73、盒马工作台的作用是什么? 74、盒马多端作业任务的主要载体是什么? 75、盒马工作台是什么? 76、如何面向多端工作台选择设计研发交付方案? 77、多端多套方案的缺点是什么? 78、多端统一方案的缺点是什么? 79、建设多端统一的方案需要解决的问题有哪些? 80、传统设计系统方案和跨设备的设备的设计系统方案有什么区别? 81、面向单一设备提供设计系统的方案的弊端有哪些? 82、为什么设计系统还需要综合考虑作业场景下的环境因素的影响? 83、跨端设计系统需要综合考虑哪些因素? 84、系统设计需要考虑哪些因素? 85、如何解决空间环境因素? 86、Design Tokens 计算流程是什么? 87、跨端 Design Token 的配置与生成系统的作用是什么? 88、盒马中后台全场景的跨端设计系统的作用是什么? 89、中后台跨端场景面临的更加复杂的组件适配问题是什么? 90、跨端组件在传统键鼠设备上和触摸设备上操作的区别是什么? 91、跨端组件需要解决什么问题? 92、对跨端组件实现进行分层拆解可分为哪三个问题? 93、组件跨端的重点是什么? 94、对于跨端组件的实现方案而言。通常大部分的组件实现都是以什么为中心? 95、跨端组件的实现方案中当功能变的复杂,并且需要处理跨端多重事件机制时,需要如何处理? 96、面向模型的跨端组件实现方案中如何解耦组件跨端实现的复杂度? 97、如何形成行为驱动状态,状态映射多端视图的组件实现方案? 98、如何构建可扩展可维护的跨端组件集? 99、传统的视图代码通常以什么为中心进行样式实现? 100、在轻量灵活的响应式视图方案中System Elements 提供了什么能力? 101、应式视图方案与传统的全量生成 CSS代码相比有哪些优点? 102、在跨端组件方案中,可复用的组件实现由哪几部分组成? 103、在视图方案上提供了什么方案? 104、在行为方案上封装了什么? 105、在状态管理方案上封装了什? 106、新型作业场景下的应用需要建立什么? 107、跨设备的作业任务需要支持什么? 108、对于这些跨设备的作业任务需要哪些支持? 109、多端复用与跨端联动的应用架构分成哪几部分? 110、对有跨端需求的应用而言差异体现在哪里? 111、多端复用与跨端联动的应用架构可以将应用分成哪几层? 112、应用容器层的作用是什么? 113、数据模型层的作用是什么? 114、跨端视图层的作用是什么? 115、数据模型层支持什么? 116、跨端应用还需要支持什么? 117、如何总结跨端组件和应用的方案? 118、盒马中后台的跨端体验解决方案主要包括什么? 119、盒马中后台一码多端的核心方案对外开源是什么时候? 120、Web 作为天然的跨端方案的优缺点? 121、React-Native 类的方案的优缺点? 122、Flutter方案的优缺点? 123、跨端的方案本身在带来收益的同时也意味着什么? 124、我们在效率上最直观的问题在于什么? 125、React-Native 的方案的缺点是什么? 126、仅针对业务逻辑做跨端共享的优点是什么? 127、仅针对业务逻辑做跨端共享需要考虑哪些问题? 128、Dart是什么? 129、TypeScript 转译到 Dart 的方案是如何运行的? 130、单纯的把纯函数作为一个独立模块给抽离出来会带来哪些问题? 131、Flutter 和 Web存在多大差异? 132、如何分离逻辑和 UI ? 133、如何让 Hooks 的逻辑在 Flutter 上也能使用? 134、实现一个 HooksWidget? 135、如何实现差异化逻辑? 136、如何在 Web 端则直接调用 React 的 Hooks? 137、如何总结跨端的另一种思路? 138、Serverless 带来的好处有哪些? 139、Node.js Serverlessde 起步阶段包括哪些? 140、稳定性的保障包括哪几部分? 141、什么是强依赖? 142、Ainode在社区的 Node.js 运行时提供了什么? 143、什么是弱依赖? 144、在拿到强弱依赖之后,业务的改进有哪些? 145、在 Serverless 场景下流量模型的预估有哪些不同? 146、针对已经的流量,如何反向预估? 147、并发度测算是基于什么来得出的? 148、在一般的场景下如何管理所有的流量? 149、函数网关层面的流量管控指的是什么? 150、函数网关的流量管控中重点是什么? 151、防雪崩指的是什么? 152、通用网管、函数网管、函数的作用分别是什么? 153、会场永恒的命题是什么? 154、TTFB(Time to First Byte)是什么? 155、FP(First Paint)是什么? 156、FCP(First Contentful Paint)是什么? 157、FSP(First Screen Paint,首屏可视时间)是什么? 158、LCP(Largest Contentful Paint)是什么? 159、TTI(Time To Interactive)是什么? 160、一个由搭建平台产出的会场页面简单而言什么组成? 161、页面框架单独的构建产物是指什么? 162、楼层模块单独的构建产物是指什么? 163、页面框架的任务是什么? 164、会场原有的 CSR 渲染架构包含哪三部分? 165、结合客户端能力做了哪些代表性的方案? 166、客户端主文档s /Assets 是如何运行的? 167、数据预加载是如何运行的? 168、CSR 渲染体系下的优化存在哪些瓶颈? 169、SSR是什么? 170、实现 SSR存在哪些问题? 171、数据 SSR架构方案是什么? 172、数据 SSR架构方案的优点是什么? 173、为什么在服务端渲染的耗时会比客户端低几个数量级? 174、数据 SSR的方案核心哲学是什么? 175、SSR 应用到生产中还存在哪些核心问题? 176、页面渲染方案中有哪两个分支? 177、在线上服务时如何保证稳定性 178、复用现有 Web 构建产物的一个问题是什么? 179、在模拟真实线上的环境时如何看到 SSR 的渲染结果? 180、如何处理开发者会在代码中直接访问 window 、location 等变量的场景? 181、若在代码静态检查时发现了影响 SSR 的代码问题该如何解决? 182、模块的批量测试解决方案是什么? 183、在开发阶段通过静态代码检查等方法存在哪些问题? 184、在SSR中预先防控手段有哪些? 185、在SSR中页面渲染异常的补救手段有哪些? 186、在SSR中函数含量不足的补救手段有哪些? 187、FaaS 给服务端带来了哪些好处? 188、一个函数做一件事的设计哲学带来了哪些好处? 189、业界分享的一些 SSR 场景是什么? 190、低代码搭建场景是什么? 191、SSR服务端性能存在哪些问题? 192、SSR服务端的机制问题有哪些? 193、如何优化SSR服务端的机制问题? 194、RT 抖动会产生什么问题? 195、如何解决 RT 抖动问题? 196、在前端之外,对用户的交互路径而言真正的起点是什么? 197、如何解决鸡同鸭讲的问题? 198、Webpack提供了自定义browserlist 的能力带来了哪些好处? 199、ServiceWorker Cache离线缓存快照的作用是什么? 200、现阶段的 Node.js 对于动态加载代码的情况支持存在什么问题? 201、为什么说数据 SSR的方案是端内的最佳方案,却是外投场景的最劣方案? 202、HTML核心在于什么? 203、近端的流式方案存在哪些问题? 204、“动静分离”的优点是什么? 205、渲染架构的不断改进的实质是什么? 206、BFF 应用的主要目的是什么? 207、BBF在研发中存在哪些问题? 208、BBF在运维中存在哪些问题? 209、SFF 的理念是什么? https://developer.aliyun.com/topic/download?id=1118
6rmarpmlfunbi 2021-03-25 20:32:34 37 浏览量 回答数 0

回答

门户类网站性能测试分析及调优 1 背景   前段时间,性能测试团队经历了一个规模较大的门户网站的性能优化工作,该网站的开发和合作涉及多个组织和部门,而且网站的重要性不言而喻,同时上线时间非常紧迫,关注度也很高,所以对于整个团队的压力也非常大。   在此,把整个经历过程给大家分享一下,包括了主要包括了如何使用性能测试的压测工具,压测前的性能问题评估,以及压测执行后的性能问题分析、瓶颈定位。   该门户网站的服务器是放在华通和阿里云的平台上的,所以对华通和阿里共建的云平台安全及应急措施方面要求非常高,需要团队给予全力的保障和配合。   性能测试(Performance Testing)是集测试机管理、测试脚本管理、测试场景管理、测试任务管理、测试结果管理为一体的性能云测试平台,可以帮助您全方位的评估云上系统性能。   本次优化主要是使用了该测试平台服务对客户搭建在ECS上的服务器进行多种类型(性能测试、负载测试、压力测试、稳定性测试、混合场景测试、异常测试等)的性能压测、调试和分析,最终达到满足期望预估的性能目标值,且上线后在高峰期满足实际的性能和稳定要求。 2 术语定义   在介绍项目经历之前,再明确一下测试当中用到的专业指标术语定义,包括但不仅限于以下:   PV: 即PageView, 即页面浏览量或点击量,用户每次刷新即被计算一次。我们可以认为,用户的一次刷新,给服务器造成了一次请求。   UV: 即UniqueVisitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。   TPS:TPS(Transaction Per Second)每秒钟系统能够处理的交易或事务的数量,它是衡量系统处理能力的重要指标。   响应时间: 响应时间是指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间,响应时间由请求发送时间、网络传输时间和服务器处理时间三部分组成。   VU: Virtual user,模拟真实业务逻辑步骤的虚拟用户,虚拟用户模拟的操作步骤都被记录在虚拟用户脚本里。一般性能测试过程中,通俗称之为并发用户数。   TPS波动: 系统性能依赖于特定的硬件、软件代码、应用服务、网络资源等,所以在性能场景执行期间,TPS可能会表现为稳定,或者波动,抑或遵循一定的上升或下降趋势。我们用TPS波动系数来记录这个指标值。   CPU: CPU资源是指性能测试场景运行的这个时间段内,应用服务系统的CPU资源占用率。CPU资源是判断系统处理能力以及应用运行是否稳定的重要参数。   Load: 系统正在干活的多少的度量,队列长度。系统平均负载,被定义为在特定时间间隔(1m,5m,15m)内运行队列中的平均进程数 。   I/O: I/O可分为磁盘IO和网卡IO。   JVM: 即java虚拟机,它拥有自己的处理器、堆栈、寄存器等,还有自己相应的指令系统。Java应用运行在JVM上面。   GC: GC是一种自动内存管理程序,它主要的职责是分配内存、保证被引用的对象始终在内存中、把不被应用的对象从内存中释放。FGC会引起JVM挂起。   网速: 网络中的数据传输速率,一般以Byte/s为单位。通过ping延时来反映网速。   流量: 性能测试中,一般指单位时间内流经网卡的总流量。分为inbound和outbound,一般以KB为单位。 3 评估   本次性能测试过程的参与人包括了阿里云应急保障小组等多部门人员,网站为外部供应商开发,阿里云提供云主机和技术支持。   该网站之前前期也由其他部门做了验收工作,进行了完整的性能测试,报告显示,性能较差,第一次测试,网站并发数没有超过35个,第二次测试,网站上做了优化后,静态页面缩小后,并发用户数100内 5s ,200内 90%响应在15s以上,随着并发用户数的增加,页面响应最高可到20多秒,而且访问明显感觉较慢,所以联系了阿里云的技术支持,希望能够帮助诊断性能问题,给出优化建议。 测试业务    并发用户数    平均响应时间(秒)    90%响应时间(秒) 首页浏览    100    12.082    15.289 200    23.949    29.092 分页浏览    100    8.973    12.343 200    18.846    24.106   经过会议讨论后,评估出最终的测试目标:带页面的所有静态资源一起,响应时间必须小于5秒,同时并发访问用户数最低500,TPS根据实际的结果来得出。 4 性能测试目标 并发用户数:>=500 业务响应时间:<5秒 5 分析   通过性能测试前端分析工具(未开放)分析,页面的响应时间88%左右都是消耗在前端资源加载上,服务器端消耗只占到了页面响应的12%左右;   一个网站的响应一般由四部分时间组成,前端、网络、服务器和数据库,前端主要是减小页面大小,减小页面请求数,优化页面js等,网络主要是使用CDN,优化连接数等,服务器主要是优化Apache,优化Tomcat,优化java代码等,数据库是优化sql语句,优化索引,优化数据存储等。<rb> 6 测试和优化 6.1 页面前端分析及优化   我们对页面的优化仍然从前端开始,首先通过性能测试的前端测试工具(未开放)进行扫描,我们发现以下问题并优化: Js较大,无压缩,同时存在重复请求,最多一个js加载4次,已做压缩和减少。 Js位置不合理,阻碍页面加载。 外部css 考虑本地实现,减少调用 Banner 背景图片较多,无压缩,建议合并 页面1的后台.do有4个,减少为3个 页面2的后台do有 2个,减少为1个 存在加载失败链接,404失败,同时次数非常多,更换为cnzz 页面加载外部资源失败 (qq等),且不稳定 分享功能比较慢 外部资源建议异步实现,目前全部是jquery渲染,iframe嵌套,时间资源限制,后期优化 尽量减少或者不使用iframe 页面请求数太多,主要是js和css重复加载问题和图片较小导致的。   经过以上修改及配置服务器静态资源缓存后,性能提高25%,首页响应从1.5秒提高到1.1秒,并且前端优化持续进行。 6.2 服务端优化   一般核心页面都要求在300毫秒以下,非核心页面要求在500毫秒以下,同时重点关注并发时的负载和稳定,服务器端代码和响应的快速稳定是整个页面性能的重点。 6.2.1 脚本编写及场景构造   根据前期需求评估的内容,客户是一个门户网站,主要由不同功能页面组成的,各个功能页面当中又包含了静态内容和异步动态请求,所以,性能测试的脚本的编写主要涵盖了各页面的请求和相关静态资源的请求,这里存在一个串行和并行的概念:   串行:请求的页面和页面当中的静态资源、异步动态请求组成一个同步请求,每一个内容都作为一个事务(也可以共同组成一个事务,分开事务的好处是可以统计各部分的响应时间),这样压测任务执行时,线程就会根据事物的顺序分布调用执行,相当于一个页面的顺序加载,弊端是无法模拟实际IE的小范围并发,但这样测试的结果是最严格的。   并行:各个页面之前可以使用不同的任务,采用并行的混合场景执行,同时设置一定的比例(并发用户数),保证服务器承受的压力与实际用户访问相似。   场景并发用户数:经常会遇到“设置多大并发用户数合适?”的问题,因为在没有任何思考时间的时候,我们有一个简单的公式:       VU(并发压测用户数) = TPS(每秒执行事务数) × RT(响应时间)   所以,在寻找合适的并发用户数上,建议使用性能测试的“梯度模式”,逐渐增加并发用户数,这个时候压力也会越来越大,当TPS的增长率小于响应时间的增长率时,这就是性能的拐点,也就是最合理的并发用户数;当TPS不再增长或者下降时,这个时候的压力就是最大的压力,所使用的并发用户数就是最大的并发用户数。如果此时的TPS不满足你的要求,那么就需要寻找瓶颈来优化。如下图演示的一个性能曲线: a点:性能期望值 b点:高于期望,系统安全 c点:高于期望,拐点 d点:超过负载,系统崩溃   注意:使用外网地址压测可能会造成瞬时流量较大,造成流量计费,从而产生费用,建议可以使用内网地址压测,避免损失。 6.2.2 第一阶段   在按照客户提供的4个URL请求构造场景压测以后,同时根据实际情况和客户要求,使用性能测试,构造相应的场景和脚本后,模拟用户实际访问情况,并且脚本中加上了img、js、css等各一个的最大静态资源: 条件:5台ECS机器,200并发用户数,一个后台页面加3个静态页面(共150K) 结果:静态4000TPS,动态1500TPS,服务器资源:CPU 98%   分析和优化:   服务器资源消耗较高,超过75%,存在瓶颈,分析平台显示: 分析发现原来是apache到tomcat的连接等待导致,现象是100个并发压测,就有100个tomcat的java线程,而且全部是runnable的状态,轮询很耗时间。 同时发现用户使用的是http协议,非ajp协议,不过这个改动较大,需要使用mod_jk模块,时间原因,  暂缓。 解决方法:修改了Apache和tomcat的连接协议 为nio协议,同时去除ssl 协议。Tomcat连接数据库池由30初始调整为300,减少开销 <Connectorport="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"             connectionTimeout="20000"             redirectPort="8443" />   性能对比: 再进行1轮压测含动态含静态文件,TPS能够从1w达到2.7W,性能提高将近3倍,并且tomcat的线程从原来的200跑满,降到100附近并且线程没有持续跑满,2.6W TPS时候CPU在80%附近 发现机器的核数都是2核,8G内存,对于CPU达到98%的情况,CPU是瓶颈,而对于应用来说比较浪费,所以将2核统一升级为4核。 扩展机器资源,从目前的4台扩到6台,同时准备4台备份,以应对访问量较大的情况。   思考和风险: 异步请求处理:客户所提供的url都是html静态,虽然页面当中含动态数据,但分析后发现动态数据都是通过jquery执行然后iframe嵌套的,所以不会随着html文件的加载而自动加载,需要分析所有的动态页面,同时压测,这是页面存在异步请求需要关注的地方。 Iframe:Iframe嵌套页面的方式优点是静态资源调用方便、页面和程序可以分离,但是它的缺点也显而易见,包括样式、脚本额外注入,增加请求等等;还有搜索引擎搜素不到内容;iframe创建比其他元素慢1~2个数量级;资源重复加载;iframe会阻塞页面加载,阻塞onload事件;占用主页连接池;html5不再支持。所以建议尽量不要使用或者少使用。 [font='Times New Roman']: 脚本录制和模拟实际用户访问。当用户的图片、javascript、CSS等静态资源和后端代码在同一台服务器上时,需要模拟用户的实际访问请求,压测脚本涵盖所有链接和资源。那么使用脚本录制功能就可以采集更全更完整的脚本。 6.2.3 第二阶段   找到几个页面的所有动态资源后,整合成为一个事务,串行访问,同时并发压测,从而对纯服务器端进行压测,测试结果如下图:   性能分析:页面一和页面二的响应时间分别达到了5秒和2秒,性能较差,整体TPS只有11 性能分析:   分析发现响应时间高的原因主要在RDS数据库上,数据库此时的CPU已经达到100%,处理较慢,怀疑跟sql有关,分析慢sql。 优化方法:   数据库第一批优化完毕,优化了6条sql语句之前5s左右,优化后在150ms左右,数据库的QPS 从1k上升到6k。 RDS优化内容包括:   优化点主要是调整慢sql的索引,部分sql需要调整表结构和sql写法,需要应用配合才能完成优化,优化前QPS在1000左右,优化后QPS到达6000   前端响应时间从5秒降低到150毫秒,前台TPS由150提升到1500.总的TPS可以达到2000。 6.2.4 第三阶段   通过性能测试模拟用户实际访问情况,包括所有静态资源,评估出当响应时间小于5秒的时候,最大支撑的并发用户数。 测试结果:   可以看到,所有的事务RT加起来小于5秒的情况下,并发用户数可以达到3000(6个事务,6个脚本,每个脚本500),远远满足项目500个并发用户的目标。    总结: 6.2.5 第四阶段   评估其他非主站应用的性能以及含静态页面的其他5个页面内容,包括: 搜索压测 操作压测 登录压测 证书登入 针对5个常用场景进行混合压测   测试结果:   发现的风险和问题: 测试发现,流量存在非常明显的波动,不经过某模块就无此问题,发现有大量的reset连接,会诊后总结:端口复用导致的问题。FULL NAT模式和LVS存在兼容性问题。最终结果: 由于存在兼容性问题,影响到网站的稳定性和性能,暂时加载该模块,待问题解决后再加。先使用另外一个模块代替 .凌晨2点,针对单点用户登入进行了压测,发现100并发,该业务接口已宕机,分析结果:Cache缓存设置太小,1G内存容量导致内存溢出,已建议修改为4G。使用http协议性能不佳,早上4点30进行少量代码优化后,业务直接不可用,环境出现宕机无法修复,我们快速进行快照恢复,5分钟内恢复3台业务机,云产品的优势尽显。用户log日志撑满系统盘,并且一直不知这台云主机还有数据盘,产品上我们要做反思。帮助用户已进行挂盘及日志迁移至数据盘,减少单盘的IO压力。 Web服务器数据同步,发现服务器io和cpu压力过大。加入inotify机制,由文件增量同步,变更为文件系统的变化通知机制。将冷备及4台备用web机器使用该方式同步,目前,查看内容分发主机IO和CPU使用率已回复正常范围同步推送时间,根据服务器的负载,进行调整同步时间。今天已修改为2分钟。 由于备份量大,晚上进行全量同步。新增4台备用机,已关闭apache 端口 自动从slb去除,作为冷备 由于目前单点用户登入入口存在架构单点宕机风险,进行登入和未登入风险验证,确认,如用户已登入后,登入业务系统出现宕机,进行简单的页面点击切换,不受影响 内存优化   按照JVM内存管理模式,调整系统启动参数,如果一台ECS部署一台服务器,建议不要选择默认的JVM配置,应该设置内存为物理内存的一半,同时设置相应的YTC和FGC策略,观察Old区变化,避免大量Full GC,建议Full GC频率大于1小时,同时GC时间小于1秒钟。 6.3 架构优化 单点登录服务修改为SLB 检索 修改为 SLB 内容管理云平台云服务器实现行文件差异同步,同时冷备 新增4台web机器 7 总结   备注:服务器的CPU达到100% 这其实是一个好的现象,说明我们的逻辑全部已经走到了资源消耗上,而不是由外部其他逻辑限制或blocked,这种现象带来的好处就是,首先我们可以集中精力从减少代码的资源消耗上解决问题,带来性能的改善,其次,实在无法优化我们也可以增加机器台数,横向扩展来让性能成倍的提高,这也是用成本换性能的方法。当然,前提是架构上支持负载均衡的分布式架构。   总的来说就是,这种情况要不选择从纵向优化,或者选择从横向扩展,都可以增加。 8 遗留问题 时间原因,测试页面有限,有些页面没有测试覆盖到,比如后台页面。 登录系统存在内存风险,由于用户的缓存信息仍然存在单点问题,所以风险较大,同时系统压力不满足要求,并发较高存在crash风险,未来得及发现瓶颈所在。彻底解决必须使用OCS等缓存系统改造,同时优化数据库。 Iframe框架造成用户体验不好,需要改掉,换成异步js接口方式。 后台同步系统,对于资源消耗影响较大,需要持续优化。 平台应该提供开发和测试进行自主压测、分析、评估,同时提供统一的测试报告,保证各部分模块的性能,整合起来才能保障整个门户网站的性能。 CPU优化还需要继续分析跟进,目前只是增加机器资源降低风险,成本较高。 上线发布应该具备统一的回归验证机制,并且日常需要持续优化,避免由于后期代码的改动导致性能下降。 访问性能测试控制台
猫饭先生 2019-12-01 21:25:38 1412 浏览量 回答数 0

回答

在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个人见解,千万级规模的网站感觉数量级是非常大的,对这个数量级我们战略上 要重 视 它 , 战术上又 要 藐 视 它。先举个例子感受一下千万级到底是什么数量级?现在很流行的优步(Uber),从媒体公布的信息看,它每天接单量平均在百万左右, 假如每天有10个小时的服务时间,平均QPS只有30左右。对于一个后台服务器,单机的平均QPS可以到达800-1000,单独看写的业务量很简单 。为什么我们又不能说轻视它?第一,我们看它的数据存储,每天一百万的话,一年数据量的规模是多少?其次,刚才说的订单量,每一个订单要推送给附近的司机、司机要并发抢单,后面业务场景的访问量往往是前者的上百倍,轻松就超过上亿级别了。 今天我想从架构的本质谈起之后,希望大家理解在做一些建构设计的时候,它的出发点以及它解决的问题是什么。 架构,刚开始的解释是我从知乎上看到的。什么是架构?有人讲, 说架构并不是一 个很 悬 乎的 东西 , 实际 上就是一个架子 , 放一些 业务 和算法,跟我们的生活中的晾衣架很像。更抽象一点,说架构其 实 是 对 我 们 重复性业务 的抽象和我 们 未来 业务 拓展的前瞻,强调过去的经验和你对整个行业的预见。 我们要想做一个架构的话需要哪些能力?我觉得最重要的是架构师一个最重要的能力就是你要有 战 略分解能力。这个怎么来看呢: 第一,你必须要有抽象的能力,抽象的能力最基本就是去重,去重在整个架构中体现在方方面面,从定义一个函数,到定义一个类,到提供的一个服务,以及模板,背后都是要去重提高可复用率。 第二, 分类能力。做软件需要做对象的解耦,要定义对象的属性和方法,做分布式系统的时候要做服务的拆分和模块化,要定义服务的接口和规范。 第三, 算法(性能),它的价值体现在提升系统的性能,所有性能的提升,最终都会落到CPU,内存,IO和网络这4大块上。 这一页PPT举了一些例子来更深入的理解常见技术背后的架构理念。 第一个例子,在分布式系统我们会做 MySQL分 库 分表,我们要从不同的库和表中读取数据,这样的抽象最直观就是使用模板,因为绝大多数SQL语义是相同的,除了路由到哪个库哪个表,如果不使用Proxy中间件,模板就是性价比最高的方法。 第二看一下加速网络的CDN,它是做速度方面的性能提升,刚才我们也提到从CPU、内存、IO、网络四个方面来考虑,CDN本质上一个是做网络智能调度优化,另一个是多级缓存优化。 第三个看一下服务化,刚才已经提到了,各个大网站转型过程中一定会做服务化,其实它就是做抽象和做服务的拆分。第四个看一下消息队列,本质上还是做分类,只不过不是两个边际清晰的类,而是把两个边际不清晰的子系统通过队列解构并且异步化。新浪微博整体架构是什么样的 接下我们看一下微博整体架构,到一定量级的系统整个架构都会变成三层,客户端包括WEB、安卓和IOS,这里就不说了。接着还都会有一个接口层, 有三个主要作用: 第一个作用,要做 安全隔离,因为前端节点都是直接和用户交互,需要防范各种恶意攻击; 第二个还充当着一个 流量控制的作用,大家知道,在2014年春节的时候,微信红包,每分钟8亿多次的请求,其实真正到它后台的请求量,只有十万左右的数量级(这里的数据可能不准),剩余的流量在接口层就被挡住了; 第三,我们看对 PC 端和移 动 端的需求不一样的,所以我们可以进行拆分。接口层之后是后台,可以看到微博后台有三大块: 一个是 平台服 务, 第二, 搜索, 第三, 大数据。到了后台的各种服务其实都是处理的数据。 像平台的业务部门,做的就是 数据存储和读 取,对搜索来说做的是 数据的 检 索,对大数据来说是做的数据的 挖掘。微博其实和淘宝是很类似 微博其实和淘宝是很类似的。一般来说,第一代架构,基本上能支撑到用户到 百万 级别,到第二代架构基本能支撑到 千万 级别都没什么问题,当业务规模到 亿级别时,需要第三代的架构。 从 LAMP 的架构到面向服 务 的架构,有几个地方是非常难的,首先不可能在第一代基础上通过简单的修修补补满足用户量快速增长的,同时线上业务又不能停, 这是我们常说的 在 飞 机上 换 引擎的 问题。前两天我有一个朋友问我,说他在内部推行服务化的时候,把一个模块服务化做完了,其他部门就是不接。我建议在做服务化的时候,首先更多是偏向业务的梳理,同时要找准一个很好的切入点,既有架构和服务化上的提升,业务方也要有收益,比如提升性能或者降低维护成本同时升级过程要平滑,建议开始从原子化服务切入,比如基础的用户服务, 基础的短消息服务,基础的推送服务。 第二,就是可 以做无状 态 服 务,后面会详细讲,还有数据量大了后需要做数据Sharding,后面会将。 第三代 架构 要解决的 问题,就是用户量和业务趋于稳步增加(相对爆发期的指数级增长),更多考虑技术框架的稳定性, 提升系统整体的性能,降低成本,还有对整个系统监控的完善和升级。 大型网站的系统架构是如何演变的 我们通过通过数据看一下它的挑战,PV是在10亿级别,QPS在百万,数据量在千亿级别。我们可用性,就是SLA要求4个9,接口响应最多不能超过150毫秒,线上所有的故障必须得在5分钟内解决完。如果说5分钟没处理呢?那会影响你年终的绩效考核。2015年微博DAU已经过亿。我们系统有上百个微服务,每周会有两次的常规上线和不限次数的紧急上线。我们的挑战都一样,就是数据量,bigger and bigger,用户体验是faster and faster,业务是more and more。互联网业务更多是产品体验驱动, 技 术 在 产 品 体验上最有效的贡献 , 就是你的性能 越来越好 。 每次降低加载一个页面的时间,都可以间接的降低这个页面上用户的流失率。微博的技术挑战和正交分解法解析架构 下面看一下 第三代的 架构 图 以及 我 们 怎么用正交分解法 阐 述。 我们可以看到我们从两个维度,横轴和纵轴可以看到。 一个 维 度 是 水平的 分层 拆分,第二从垂直的维度会做拆分。水平的维度从接口层、到服务层到数据存储层。垂直怎么拆分,会用业务架构、技术架构、监控平台、服务治理等等来处理。我相信到第二代的时候很多架构已经有了业务架构和技术架构的拆分。我们看一下, 接口层有feed、用户关系、通讯接口;服务层,SOA里有基层服务、原子服务和组合服务,在微博我们只有原子服务和组合服务。原子服务不依赖于任何其他服务,组合服务由几个原子服务和自己的业务逻辑构建而成 ,资源层负责海量数据的存储(后面例子会详细讲)。技 术框架解决 独立于 业务 的海量高并发场景下的技术难题,由众多的技术组件共同构建而成 。在接口层,微博使用JERSY框架,帮助你做参数的解析,参数的验证,序列化和反序列化;资源层,主要是缓存、DB相关的各类组件,比如Cache组件和对象库组件。监 控平台和服 务 治理 , 完成系统服务的像素级监控,对分布式系统做提前诊断、预警以及治理。包含了SLA规则的制定、服务监控、服务调用链监控、流量监控、错误异常监控、线上灰度发布上线系统、线上扩容缩容调度系统等。 下面我们讲一下常见的设计原则。 第一个,首先是系统架构三个利器: 一个, 我 们 RPC 服 务组 件 (这里不讲了), 第二个,我们 消息中 间 件 。消息中间件起的作用:可以把两个模块之间的交互异步化,其次可以把不均匀请求流量输出为匀速的输出流量,所以说消息中间件 异步化 解耦 和流量削峰的利器。 第三个是配置管理,它是 代码级灰度发布以及 保障系统降级的利器。 第二个 , 无状态 , 接口 层 最重要的就是无状 态。我们在电商网站购物,在这个过程中很多情况下是有状态的,比如我浏览了哪些商品,为什么大家又常说接口层是无状态的,其实我们把状态从接口层剥离到了数据层。像用户在电商网站购物,选了几件商品,到了哪一步,接口无状态后,状态要么放在缓存中,要么放在数据库中, 其 实 它并不是没有状 态 , 只是在 这 个 过 程中我 们 要把一些有状 态 的 东 西抽离出来 到了数据层。 第三个, 数据 层 比服 务层 更需要 设计,这是一条非常重要的经验。对于服务层来说,可以拿PHP写,明天你可以拿JAVA来写,但是如果你的数据结构开始设计不合理,将来数据结构的改变会花费你数倍的代价,老的数据格式向新的数据格式迁移会让你痛不欲生,既有工作量上的,又有数据迁移跨越的时间周期,有一些甚至需要半年以上。 第四,物理结构与逻辑结构的映射,上一张图看到两个维度切成十二个区间,每个区间代表一个技术领域,这个可以看做我们的逻辑结构。另外,不论后台还是应用层的开发团队,一般都会分几个垂直的业务组加上一个基础技术架构组,这就是从物理组织架构到逻辑的技术架构的完美的映射,精细化团队分工,有利于提高沟通协作的效率 。 第五, www .sanhao.com 的访问过程,我们这个架构图里没有涉及到的,举个例子,比如当你在浏览器输入www.sanhao网址的时候,这个请求在接口层之前发生了什么?首先会查看你本机DNS以及DNS服务,查找域名对应的IP地址,然后发送HTTP请求过去。这个请求首先会到前端的VIP地址(公网服务IP地址),VIP之后还要经过负载均衡器(Nginx服务器),之后才到你的应用接口层。在接口层之前发生了这么多事,可能有用户报一个问题的时候,你通过在接口层查日志根本发现不了问题,原因就是问题可能发生在到达接口层之前了。 第六,我们说分布式系统,它最终的瓶颈会落在哪里呢?前端时间有一个网友跟我讨论的时候,说他们的系统遇到了一个瓶颈, 查遍了CPU,内存,网络,存储,都没有问题。我说你再查一遍,因为最终你不论用上千台服务器还是上万台服务器,最终系统出瓶颈的一定会落在某一台机(可能是叶子节点也可能是核心的节点),一定落在CPU、内存、存储和网络上,最后查出来问题出在一台服务器的网卡带宽上。微博多级双机房缓存架构 接下来我们看一下微博的Feed多级缓存。我们做业务的时候,经常很少做业务分析,技术大会上的分享又都偏向技术架构。其实大家更多的日常工作是需要花费更多时间在业务优化上。这张图是统计微博的信息流前几页的访问比例,像前三页占了97%,在做缓存设计的时候,我们最多只存最近的M条数据。 这里强调的就是做系统设计 要基于用 户 的 场 景 , 越细致越好 。举了一个例子,大家都会用电商,电商在双十一会做全国范围内的活动,他们做设计的时候也会考虑场景的,一个就是购物车,我曾经跟相关开发讨论过,购物车是在双十一之前用户的访问量非常大,就是不停地往里加商品。在真正到双十一那天他不会往购物车加东西了,但是他会频繁的浏览购物车。针对这个场景,活动之前重点设计优化购物车的写场景, 活动开始后优化购物车的读场景。 你看到的微博是由哪些部分聚合而成的呢?最右边的是Feed,就是微博所有关注的人,他们的微博所组成的。微博我们会按照时间顺序把所有关注人的顺序做一个排序。随着业务的发展,除了跟时间序相关的微博还有非时间序的微博,就是会有广告的要求,增加一些广告,还有粉丝头条,就是拿钱买的,热门微博,都会插在其中。分发控制,就是说和一些推荐相关的,我推荐一些相关的好友的微博,我推荐一些你可能没有读过的微博,我推荐一些其他类型的微博。 当然对非时序的微博和分发控制微博,实际会起多个并行的程序来读取,最后同步做统一的聚合。这里稍微分享一下, 从SNS社交领域来看,国内现在做的比较好的三个信息流: 微博 是 基于弱关系的媒体信息流 ; 朋友圈是基于 强 关系的信息流 ; 另外一个做的比 较 好的就是今日 头 条 , 它并不是基于关系来构建信息流 , 而是基于 兴趣和相关性的个性化推荐 信息流 。 信息流的聚合,体现在很多很多的产品之中,除了SNS,电商里也有信息流的聚合的影子。比如搜索一个商品后出来的列表页,它的信息流基本由几部分组成:第一,打广告的;第二个,做一些推荐,热门的商品,其次,才是关键字相关的搜索结果。 信息流 开始的时候 很 简单 , 但是到后期会 发现 , 你的 这 个流 如何做控制分发 , 非常复杂, 微博在最近一两年一直在做 这样 的工作。刚才我们是从业务上分析,那么技术上怎么解决高并发,高性能的问题?微博访问量很大的时候,底层存储是用MySQL数据库,当然也会有其他的。对于查询请求量大的时候,大家知道一定有缓存,可以复用可重用的计算结果。可以看到,发一条微博,我有很多粉丝,他们都会来看我发的内容,所以 微博是最适合使用 缓 存 的系统,微博的读写比例基本在几十比一。微博使用了 双 层缓 存,上面是L1,每个L1上都是一组(包含4-6台机器),左边的框相当于一个机房,右边又是一个机房。在这个系统中L1缓存所起的作用是什么? 首先,L1 缓 存增加整个系 统 的 QPS, 其次 以低成本灵活扩容的方式 增加 系统 的 带宽 。想象一个极端场景,只有一篇博文,但是它的访问量无限增长,其实我们不需要影响L2缓存,因为它的内容存储的量小,但它就是访问量大。这种场景下,你就需要使用L1来扩容提升QPS和带宽瓶颈。另外一个场景,就是L2级缓存发生作用,比如我有一千万个用户,去访问的是一百万个用户的微博 ,这个时候,他不只是说你的吞吐量和访问带宽,就是你要缓存的博文的内容也很多了,这个时候你要考虑缓存的容量, 第二 级缓 存更多的是从容量上来 规划,保证请求以较小的比例 穿透到 后端的 数据 库 中 ,根据你的用户模型你可以估出来,到底有百分之多少的请求不能穿透到DB, 评估这个容量之后,才能更好的评估DB需要多少库,需要承担多大的访问的压力。另外,我们看双机房的话,左边一个,右边一个。 两个机房是互 为 主 备 , 或者互 为热备 。如果两个用户在不同地域,他们访问两个不同机房的时候,假设用户从IDC1过来,因为就近原理,他会访问L1,没有的话才会跑到Master,当在IDC1没找到的时候才会跑到IDC2来找。同时有用户从IDC2访问,也会有请求从L1和Master返回或者到IDC1去查找。 IDC1 和 IDC2 ,两个机房都有全量的用户数据,同时在线提供服务,但是缓存查询又遵循最近访问原理。还有哪些多级缓存的例子呢?CDN是典型的多级缓存。CDN在国内各个地区做了很多节点,比如在杭州市部署一个节点时,在机房里肯定不止一台机器,那么对于一个地区来说,只有几台服务器到源站回源,其他节点都到这几台服务器回源即可,这么看CDN至少也有两级。Local Cache+ 分布式 缓 存,这也是常见的一种策略。有一种场景,分布式缓存并不适用, 比如 单 点 资 源 的爆发性峰值流量,这个时候使用Local Cache + 分布式缓存,Local Cache 在 应用 服 务 器 上用很小的 内存资源 挡住少量的 极端峰值流量,长尾的流量仍然访问分布式缓存,这样的Hybrid缓存架构通过复用众多的应用服务器节点,降低了系统的整体成本。 我们来看一下 Feed 的存 储 架构,微博的博文主要存在MySQL中。首先来看内容表,这个比较简单,每条内容一个索引,每天建一张表,其次看索引表,一共建了两级索引。首先想象一下用户场景,大部分用户刷微博的时候,看的是他关注所有人的微博,然后按时间来排序。仔细分析发现在这个场景下, 跟一个用户的自己的相关性很小了。所以在一级索引的时候会先根据关注的用户,取他们的前条微博ID,然后聚合排序。我们在做哈希(分库分表)的时候,同时考虑了按照UID哈希和按照时间维度。很业务和时间相关性很高的,今天的热点新闻,明天就没热度了,数据的冷热非常明显,这种场景就需要按照时间维度做分表,首先冷热数据做了分离(可以对冷热数据采用不同的存储方案来降低成本),其次, 很容止控制我数据库表的爆炸。像微博如果只按照用户维度区分,那么这个用户所有数据都在一张表里,这张表就是无限增长的,时间长了查询会越来越慢。二级索引,是我们里面一个比较特殊的场景,就是我要快速找到这个人所要发布的某一时段的微博时,通过二级索引快速定位。 分布式服务追踪系统 分布式追踪服务系统,当系统到千万级以后的时候,越来越庞杂,所解决的问题更偏向稳定性,性能和监控。刚才说用户只要有一个请求过来,你可以依赖你的服务RPC1、RPC2,你会发现RPC2又依赖RPC3、RPC4。分布式服务的时候一个痛点,就是说一个请求从用户过来之后,在后台不同的机器之间不停的调用并返回。 当你发现一个问题的时候,这些日志落在不同的机器上,你也不知道问题到底出在哪儿,各个服务之间互相隔离,互相之间没有建立关联。所以导致排查问题基本没有任何手段,就是出了问题没法儿解决。 我们要解决的问题,我们刚才说日志互相隔离,我们就要把它建立联系。建立联系我们就有一个请求ID,然后结合RPC框架, 服务治理功能。假设请求从客户端过来,其中包含一个ID 101,到服务A时仍然带有ID 101,然后调用RPC1的时候也会标识这是101 ,所以需要 一个唯一的 请求 ID 标识 递归迭代的传递到每一个 相关 节点。第二个,你做的时候,你不能说每个地方都加,对业务系统来说需要一个框架来完成这个工作, 这 个框架要 对业务 系 统 是最低侵入原 则 , 用 JAVA 的 话 就可以用 AOP,要做到零侵入的原则,就是对所有相关的中间件打点,从接口层组件(HTTP Client、HTTP Server)至到服务层组件(RPC Client、RPC Server),还有数据访问中间件的,这样业务系统只需要少量的配置信息就可以实现全链路监控 。为什么要用日志?服务化以后,每个服务可以用不同的开发语言, 考虑多种开发语言的兼容性 , 内部定 义标 准化的日志 是唯一且有效的办法。最后,如何构建基于GPS导航的路况监控?我们刚才讲分布式服务追踪。分布式服务追踪能解决的问题, 如果 单一用 户发现问题 后 , 可以通 过请 求 ID 快速找到 发 生 问题 的 节 点在什么,但是并没有解决如何发现问题。我们看现实中比较容易理解的道路监控,每辆车有GPS定位,我想看北京哪儿拥堵的时候,怎么做? 第一个 , 你肯定要知道每个 车 在什么位置,它走到哪儿了。其实可以说每个车上只要有一个标识,加上每一次流动的信息,就可以看到每个车流的位置和方向。 其次如何做 监 控和 报 警,我们怎么能了解道路的流量状况和负载,并及时报警。我们要定义这条街道多宽多高,单位时间可以通行多少辆车,这就是道路的容量。有了道路容量,再有道路的实时流量,我们就可以基于实习路况做预警? 对应于 分布式系 统 的话如何构建? 第一 , 你要 定义 每个服 务节 点它的 SLA A 是多少 ?SLA可以从系统的CPU占用率、内存占用率、磁盘占用率、QPS请求数等来定义,相当于定义系统的容量。 第二个 , 统计 线 上 动态 的流量,你要知道服务的平均QPS、最低QPS和最大QPS,有了流量和容量,就可以对系统做全面的监控和报警。 刚才讲的是理论,实际情况肯定比这个复杂。微博在春节的时候做许多活动,必须保障系统稳定,理论上你只要定义容量和流量就可以。但实际远远不行,为什么?有技术的因素,有人为的因素,因为不同的开发定义的流量和容量指标有主观性,很难全局量化标准,所以真正流量来了以后,你预先评估的系统瓶颈往往不正确。实际中我们在春节前主要采取了三个措施:第一,最简单的就是有降 级 的 预 案,流量超过系统容量后,先把哪些功能砍掉,需要有明确的优先级 。第二个, 线上全链路压测,就是把现在的流量放大到我们平常流量的五倍甚至十倍(比如下线一半的服务器,缩容而不是扩容),看看系统瓶颈最先发生在哪里。我们之前有一些例子,推测系统数据库会先出现瓶颈,但是实测发现是前端的程序先遇到瓶颈。第三,搭建在线 Docker 集群 , 所有业务共享备用的 Docker集群资源,这样可以极大的避免每个业务都预留资源,但是实际上流量没有增长造成的浪费。 总结 接下来说的是如何不停的学习和提升,这里以Java语言为例,首先, 一定要 理解 JAVA;第二步,JAVA完了以后,一定要 理 解 JVM;其次,还要 理解 操作系统;再次还是要了解一下 Design Pattern,这将告诉你怎么把过去的经验抽象沉淀供将来借鉴;还要学习 TCP/IP、 分布式系 统、数据结构和算法。
hiekay 2019-12-02 01:39:25 0 浏览量 回答数 0

回答

(微)电〗【186-6605-3854〗号【精品问答】Java技术1000问(1) 问问小秘 2019-11-15 11:24:15 9099 为了方便Java开发者快速找到相关技术问题和答案,开发者社区策划了Java技术1000问内容,包含最基础的如何学Java、实践中遇到的技术问题、RocketMQ面试、Java容器部署实践等维度内容。 我们会以每天至少50条的速度,增加优秀的Java问答内容。 为了方便开发者线上交流,社区组建了Java钉钉群,有数千人在里边讨论技术问题,点击这里加入群组织吧。https://developer.aliyun.com/article/713951 【精品问答】Java技术1000问(2) 友情提示:1000问的内容含量比较大,收藏该页面不迷失哦 如何学习java? 1、作为一个java学习者,重复写轮子是否必要 2、自学三个月java能到什么程度 3、自学java看什么书 4、怎么学好 java 5、怎么学java手机游戏开发软件 6、怎么学java 7、用什么方式学java? 8、学习java可以做什么 9、学完java怎么开发 10、学完java基础后然后学什么 11、学了java能干什么的 12、学好java需要看什么书 13、学java最重要的是什么 14、学java之前要学什么东西吗 15、学java怎么多练啊 16、学java有什么好书 17、学java需要下载什么软件 18、学java买什么电脑 19、学java框架看什么书 20、学java可以考什么证书吗 21、学java可以干什么的 22、学java干安卓怎么样 23、学java 用什么系统电脑 24、学java web看什么书 25、新手自学java看什么书 26、小白学java看什么书 27、为什么这么多人学java 28、为什么要学java web 29、为什么28岁不能学java 30、什么都不会怎么学java 31、女生学java有什么发展 32、你学习javaee的步骤是什么? 33、面试你为什么要学java 34、该怎么自学java 35、辞职去学java怎么样 36、初学java买什么书 37、java主要学什么 38、java之前学什么 39、java怎么自学 40、java怎么学比较快 41、java怎么输出姓名学号 42、java学徒出来做什么的 43、java学什么数据结构 44、java学了能干什么 45、java学会能做什么 46、java学会了能干什么 47、java学的是什么意思 48、java学出来可以做什么工作 49、java学出来可以做什么 50、java学出来后怎么样 51、java需要什么都学 52、java数学符号怎么表示 53、java是什么好学吗 54、java开发要先学什么软件 55、java开发要先学什么 56、java基础怎么学 57、java基础学完了学什么 58、java工程师学什么专业 59、java初学者用什么书好 60、java初学者应该怎么学 61、java初学者看什么书 62、java程序员应该学什么 63、javase学完后怎么加深 64、c 和java学什么 65、c 和 java 同时学会怎么样 Java专业术语五十问 1、StringBuffer和StringBuilder区别是什么? 2、什么是线程安全? 3、什么是死锁? 4、synchronized的实现原理是什么? 5、有了synchronized,还需要volatile做什么事? 6、synchronized的锁优化是怎么处理的? 7、JMM是什么? 8、Java并发包都有哪些,性能怎样? 9、什么是fail-fast? 10、什么是fail-safe? 11、什么是CopyOnWrite? 12、什么是AQS呢? 13、什么是CAS呢? 14、乐观锁是怎样的? 15、乐观锁悲观锁区别是什么? 16、数据库如何实现悲观锁和乐观锁? 17、数据库锁和隔离级别有什么关系? 18、数据库锁和索引有什么关系? 19、什么是聚簇索引? 20、什么是非聚簇索引? 21、索引最左前缀是什么? 22、什么是B+树索引? 23、什么是联合索引? 24、什么是回表? 25、分布式锁有了解吗? 26、Redis怎么实现分布式锁? 27、为什么要用Redis? 28、Redis和memcache区别是什么? 29、Zookeeper怎么实现分布式锁? 30、什么是Zookeeper? 31、什么是CAP? 32、什么是BASE?和CAP什么区别? 33、CAP怎么推导?如何取舍? 34、分布式系统怎么保证数据一致性? 35、什么是分布式事务?分布式事务方案? 36、线程安全的单例? 37、不用synchronized和lock能实现线程安全的单例吗? 38、什么是Paxos算法? 39、ArrayList和LinkedList和Vector的区别 40、SynchronizedList和Vector的区别 41、Arrays.asList获得的List使用时需要注意什么 42、List和原始类型List之间的区别? 43、List<?>和List之间的区别是什么? 44、synchronized是如何实现的? 45、BIO、NIO和AIO的区别、三种IO的用法与原理 46、ConcurrentSkipListMap 47、String.valueOf和Integer.toString的区别 48、Integer的缓存机制 49、Set如何保证元素不重复? 50、Java中如何保证线程安全? 以下为在实践中各位开发者遇到的问题: (希望您观看过后,可以避免踩坑哦) 1、volatile变量的读取每次都是从主内存中获取么? 2、java开发的网站和PHP相比是不是不利于搜索优化? 3、java 1.8 jstack不成功,什么办法解决? 4、jetcache是否支持redis原生方法 5、在spring boot2.0中,一个controller中同时调用多个接口,能异步实现吗? 6、mybatis insert 是异步吗? 7、什么的服务器可以抗10万并发? 8、如何统计系统qps? 9、用h5做小程序的时候,前后台不分离可以不? 10、spring boot开发的微服务,存在相互间的调用通信,用什么方式保证安全? 11、mysql java设计简易书店管理系统,希望能有源代码,参考一下 12、消息队列的使用场景有哪些? 13、spring data es 怎么连接阿里云提供的ES服务 14、Windows JDK的安装与配置 15、preparedStatement接口下,setNString,setString的区别 16、如何在业务中发现有技术价值的问题? 17、如何将现有的java工程迁移到k8s? 18、请问表格存储和日志服务包冲突要怎么处理,使用哪个版本的jar 19、在Java中使用equals方法查找相等对象 20、项目启动成功为何会报java.sql.SQLException: The url cannot be null 1、Spring由哪些模块组成? 2、Java输出:无法写入子目录 3、Java随机返回负数吗? 4、怎样可以在Java中手动重新映射地图? 5、mongodb + springboot。如何进行广泛过滤? 6、sql和Java代码混合开发的例子 7、java技术进阶?从哪方面入手? 8、Java有什么可以比较方便地提取表达式中的变量名吗? 9、使用Spring框架的好处是什么? 10、我在通过Hibernate Search从数据库获取确切值时遇到问题 11、Java中运算符 |是做什么的? 12、在tomcat中分别为多个war文件配置Java代理 13、Java:如何验证自然语言文本 14、使用Java开发oss存储项目相关问题 15、手把手教你配置阿里云服务器搭建网站 16、OceanBase 使用动画 17、在Java上使用gson将大量自定义对象写入json文件,会中断吗? 18、有没有里云OSS java的实例? 19、JVM参数配置,Maximum memory Pool无法超过1604M 20、镜像可以同时安装不同公司的吗 21、weblogic能部署到阿里云的java版服务器上么 22、Java中这个Python列表的等价性是什么样的? 23、java能不能直接远程操作flink sql 24、java值传递和址传递? 25、Java如何模拟道路驾驶情况? 26、JAVA开发OSS实例 27、想实现一个消息推送服务,该用什么技术? 28、Hibernate 和 mybatis 哪个好用? 29、hibernate 里面怎么用自定义的 sql 来查询? 30、服务端 api sdk只看到python2的,什么时候出python3的呢? 31、关系型数据库中插入数据时会影响查询吗? 32、是否可以将flink部署在运行在JDK1.7的YARN上? 33、APP地区性的闪退是什么原因? 34、Java对接api打成jar包 35、Web服务用啥语言? 36、什么是线程? 37、Java的项目,都使用哪些自动化方式部署到TOMCAT? 38、errorCode:error 12,真机调试小程序不能发送https请求 39、求助:有用过spring cloud config吗? 40、通过Hibernate Search从数据库获取确切值时遇到问题 41、Java:如何验证自然语言文本 42、什么是Java中的非法自引用? 43、Java-使用http协议通过网络发送数百万条记录的最佳方法 44、从Servlet发布到数据库会引发“列不存在错误”。我该如何解决并完成? Java开源构架RocketMQ 1、java rocketmq 生产者如何取得消费者的消费结果 2、rocketmq发送消息遇到system busy怎么处理? 3、RocketMQ 是什么 4、producer详情 5、Producer Group 6、Consumer 7、Consumer Group 8、Topic 9、Tag 10、Name Server 11、单 master 模式 12、多 master 模式 13、多 master 多 slave 异步复制模式 14、多 master 多 slave 同步双写模式 15、RocketMq各个角色间的关系 16、同步刷盘和异步刷盘 17、同步复制和异步复制 18、MQPullConsumer 19、Push(推模式) 20、Pull(拉模式) 21、长轮询 22、消息堆积 23、分布式事务 24、MQPushConsumer 25、Broker 26、Message 1571893902294_C90451EF-3332-450b-9CD0-0C85B1F1AC76.png 关于rocketMQ的面试合集,也为大家准备好啦! 1、采用MQ的有什么优点? 2、你对 Namesrv 的了解? 3、请说说你对 Broker 的了解? 4、topic是什么? 5、RocketMQ 由哪些角色组成? 6、RocketMQ执行流程 7、怎么理解 Producer 的? 8、怎么理解 Consumer 的? 9、消费者消费模式有几种? 10、消费者获取消息有几种模式? 11、定时消息是什么?怎样实现的? 12、mq消息的丢失和队列的使用策略是怎样的? 13、为什么使用MQ? 14、MQ如何保证高可用的? 15、如何保证消息不被重复消费?或者说,如何保证消息消费时的幂等性? 16、如何保证消息的可靠性传输啊?要是消息丢失了怎么办啊? 17、如何保证消息顺序性 18、如何解决消息队列的延时以及过期失效问题? 19、消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决? 20、怎样设计MQ会更好 21、消息队列如何选型? 22、如何解决高性能读写数据的问题? 23、如何解决数据重复发送的问题? 24、什么是解耦? 25、什么是异步? 26、什么是削峰? 基于Java容器的多应用部署技术实践 1、如果基于阿里对openJDK的改造,这个就已经限定这个多版本发布技术了,有么有更好的方法,不去改造openJDK而达到多版本的目的,或者变相的达到 2、版本的回滚,怎么避免用户在新版本中产生的数据丢失? 3、一个web项目做分布式部署,用jsp、controller、service、dao 这几个层次应该怎么分配才合理? 4、Java容器和Docker这种服务容器差别? 5、深拷贝优于序列化的原因是什么?有没有更快的解决方案 6、多线程思想去做发布? 7、平台化系统如何使用多应用部署的方式进行搭建?好处在哪里?谢谢 8、深拷贝会不会对内存有影响 9、相比单应用,多应用部署在tomcat上内存分配怎么设置 10、总体的解决思想是什么? 11、对于容器集群里面的会话粘性一般如何设计,对于不同时间的服务量,如何控制容器的关闭和启动? 12、http://yq.aliyun.com/ask/36484
游客5k2abgdj3m2ti 2019-12-01 22:09:00 1 浏览量 回答数 0

回答

回45楼拆桥在过河的帖子 重新下载一次,再解压试试,安装包好多人用过的,不会有问题。 如再出错,将报错信息发上来。 ------------------------- 回66楼奇真界的帖子 亲,看到您的站点已经建好了,有问题再留言,感谢使用阿里云的服务! ------------------------- 回67楼信天游科技的帖子 感动了,欢迎使用! ------------------------- 回71楼奇真界的帖子 nginx  和 apache 的配置文件不通用,需要单独修改,改的内容可以参考,差不多。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 前面有人问过,请看第“40楼”的回复。 ------------------------- 回77楼荷西的帖子 不同版本的linux,内置的命令可能有所不同,按此方法安装应该是可以的。 ------------------------- 回81楼小敏110的帖子 具体遇到了什么问题? 说详细点,大家可以帮助你。 ------------------------- 回 85楼snabna的帖子 IP能访问吗? 域名是什么? ------------------------- 回 94楼bakabaka的帖子 亲,是“cd /root”,中间有空格 ------------------------- 回 93楼jinyumi的帖子 亲,具体遇到了什么问题?贴出来,大家帮你解决 ------------------------- 回 101楼乐乐智慧的帖子 感觉像是有特别耗CPU的大SQL在执行,否则不会卡到必须重启ECS,建议从管理控制台检查一下各种报警信息,确保ECS是正常的,同时看看RDS里面的SQL审计,看看执行时间。 ------------------------- 回 108楼deerpdean的帖子 亲,请在线咨询一下镜像的供应商,是由合作伙伴提供的。 ------------------------- 回 112楼火星了的帖子 谢谢支持! ------------------------- 回 116楼shashouhang的帖子 好样的,看样子你已经自己安装上了unzip软件,有的镜像里没有自带这个命令,需要大家自己安装。 安装指令:“yum  install unzip” ,一定要注意三个单词中间有空格。 ------------------------- 回 118楼ienpai的帖子 谢谢支持,后续会根据大家关注度较高的需求陆续录制相关教程,有什么建议大家可以论坛里直接提出来。 ------------------------- 回 126楼victoire的帖子 亲,是完全免费的 ------------------------- 回 138楼过往云烟1的帖子 是文档里有乱码吗?请使用标准的 PDF reader试试,之前没有人反馈过。 ------------------------- 回 143楼原不周的帖子 亲,一般情况下不会出现这个问题,有几个方法: 1、重新执行一遍“一键WEB安装包”,支持反复安装的,同时装的时候注意一下有没有异常报错,注意一定要以管理员(root)身份执行。 2、如果还是不行,且ECS上没有重要数据,可以重置一次系统盘再试试。 如果还有问题,请将报错信息发上来,大家一起帮您诊断一下。 ------------------------- 回 150楼疯牛的帖子 首先祝贺这位同学! 回复你的问题: ECS上建立的站点不需要进行域名绑定,只需要做域名解析就可以了,在你的域名解析服务商的平台里加一条A记录,指向ECS的服务器。 ------------------------- 回 152楼原不周的帖子 按照A002教程进行完以后,就自带了phpwind论坛,这是一键WEB安装包自带的,请参考安装包的pdf说明。 ------------------------- 回 161楼fengyunk83的帖子 亲,退出VI编辑器时需要先按一下“ESC”键,然后再输入冒号和wq,教程里忘了写了,下一版更新时会加上。 这是VI的操作方法,详细步骤可以从网上搜一些相关文档学习。 ------------------------- 回 160楼小小传的帖子 如果是用真实的域名,就通过DNS解析来完成,这样所有人都可以通过域名来访问。 如果是用虚拟的域名(未正式注册的,只是测试用),可以通过修改本地PC的hosts文件来测试,其实也是一种解析的方法。 ------------------------- 回 154楼lilianzhang的帖子 暂时没有windows相关的教程,php语言在linux系统下运行得更好,推荐使用linux. ------------------------- 回 158楼fengyunk83的帖子 1、乱码没有关系,只是终端字符集问题,您可以将文档ftp下载到本地查看。 2、目录修改方法: 2.1 将WEB根目录修改为“/alidata/www/wordpress” 2.2 将phpmyadmin目录从“/alidata/www” move 到“/alidata/www/wordpress” 3、最终效果: 3.1 wordpress 可以直接通过 http://ip地址/ 来访问 3.2 phpmyadmin的访问地址变为 http://ip地址/phpmyadmin/ ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 感谢 fengyunk83整理,形成了一个整体的FAQ了! 回答你的问题: 其实离成功只差一步了哈,是我之前没有去实际测试,以为改一个目录就可以,没想到wordpress在数据库里记录了安装时的路径,也需要修改一下,具体如下图所示: wp_option 表里有两个字段(siteurl , home)记录了路径,需要去掉“/wordpress”部份,实测过去掉就完全OK了,如下图: ------------------------- 回 173楼lilianzhang的帖子 不适用,windows系统请直接用“远程桌面”管理,和本地电脑一样。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 云解析的入门帮助: https://help.aliyun.com/document_detail/dns/quick-start/hichina.html?spm=5176.product9002830_dns.4.18.KyzSsD 备案帮助入口: http://beian.aliyun.com/redian.html?spm=5176.200010.5.7.87ogNH @ fengyunk83 反馈的问题很典型,备案在中国是网站开通的必要条件,具体来说域名要指向阿里云的服务器就必须要先备案,如里之前在别的ISP备过案,需要来阿里云办理一次“备案接入”然后才可以访问。 备案的规则比较复杂,各个省的规定差异较大,请先从上面的链接去了解细节,也可以打客服电话去咨询,当然我也会和备案业务部门的同事联系,看看是否可以总结出通用的规则,录成小视频开放给大家。 关于解析的方法,请参上面的入门帮助,如有问题可以继续回复交流。 ------------------------- 回 191楼寂寞猫的帖子 亲,方便的话留个联系方式,或私信我,一定帮你解决好。 ------------------------- 回 203楼ryc0907的帖子 这个提示的意思是您的系统里没有unzip这个命令,这是一个外部命令,需要提前安装,请按照提示在命令行里输入“apt-get install unzip” 试试 ------------------------- 回 198楼伊奇的帖子 如果按照本教程一步一步操作完,最后的访问路径应该像这样: http://ip地址/wordpress/ ,如果试了还是不行,请将IP地址发上来,看看具体报错。 ------------------------- 回 195楼wqing17的帖子 应该是可以的,建议您试一下,有问题发上来,可以协助您解决。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 有个最简单的方法,下载如下文件,用xftp上传至/alidata/www目录下: http://ecsdownload.oss-cn-hangzhou.aliyuncs.com/index.html 该文件的功能是将对根目录的访问重定向到wordpress目录。 ------------------------- 回 232楼风愿的帖子 很可能是您选择的操作系统不是CentOS系列的,请从管理控制台查看一下ECS的OS版本,贴上来,或者如果ECS里没有重要数据就直接更换系统盘,换成CentOS 6.X 再重新安装。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 目录名拼写有误,是 "/alidata/www/" ------------------------- 回 260楼原不周的帖子 参考这篇文章:http://blog.unvs.cn/archives/phpmyadmin-login-error.html 一般是密码不对,或者权限不够。 你可以手工在SSH终端下试试,用命令行:“mysql -uroot -p密码”,看看能否登录。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 视频链接昨天就修好了,欢迎大家继续观看! ------------------------- 回 301楼权威地位的帖子 是不是设置了安全组? 或者SSH监听的端口不是22? ECS默认的设置一定是可以连接的。 具体问题可以加旺旺群(1253616026)沟通。 ------------------------- Re“零基础”系列课程如何在ECS上快递搭建一个WordPress站点 欢迎大家学习,我们新推出了在线的自助实验平台,3月底前可以免费做实验,体验云产品的强大功能,登录地址 www.aliyunedu.net ,可用阿里云帐号直接登录。 ------------------------- 回 309楼hlz8mm的帖子 祝贺! ------------------------- 回 314楼拆桥在过河的帖子 本教程选择的是nignx,如果您对linux操作不熟悉的话,建议跟着教程一步一步走 ------------------------- 回 315楼小家子的帖子 前两个问题,请您往前看,之前我回复过优化方法。 第3条,linux的使用和维护技能,本身是一个很大的课题,也是很基础的教程,您可以在网上搜一下,有很多现成的资料可以找到。 在ECS的版块里也有很多实有的内容,希望对您有帮助: https://bbs.aliyun.com/thread/207.html?spm=5176.7189909.3.4.B68UCz ------------------------- 回 325楼fcjfamily的帖子 如果通过IP地址能正常访问, 更换为域名后出现问题,请参考前面的回复,有一个完整的说明,需要改一下数据库里记录的首页URL,有硬链接. ------------------------- 回 380楼bangmind的帖子 提示无效的用户, 换成以下两个命令,分别试试: “chown www wordpress -Rf” “chgrp www wordpress -Rf” 如果还报同样的错,估计是上一步安装的过程中没有创建www用户。 ------------------------- 回 390楼purebob的帖子 出现这个信息应该是nginx没的启动,直接start一下试试。
training 2019-12-01 23:22:03 0 浏览量 回答数 0

回答

你好,这里有208份资料,详情请参考:https://github.com/ty4z2008/Qix/blob/master/ds.md 《Reconfigurable Distributed Storage for Dynamic Networks》介绍:这是一篇介绍在动态网络里面实现分布式系统重构的paper.论文的作者(导师)是MIT读博的时候是做分布式系统的研究的,现在在NUS带学生,不仅仅是分布式系统,还有无线网络.如果感兴趣可以去他的主页了解. 《Distributed porgramming liboratory》介绍:分布式编程实验室,他们发表的很多的paper,其中不仅仅是学术研究,还有一些工业界应用的论文. 《MIT Theory of Distributed Systems》介绍:麻省理工的分布式系统理论主页,作者南希·林奇在2002年证明了CAP理论,并且著《分布式算法》一书. 《Notes on Distributed Systems for Young Bloods》介绍:分布式系统搭建初期的一些建议 《Principles of Distributed Computing》介绍:分布式计算原理课程 《Google's Globally-Distributed Database》介绍:Google全球分布式数据介绍,中文版 《The Architecture Of Algolia’s Distributed Search Network》介绍:Algolia的分布式搜索网络的体系架构介绍 《Build up a High Availability Distributed Key-Value Store》介绍:构建高可用分布式Key-Value存储系统 《Distributed Search Engine with Nanomsg and Bond》介绍:Nanomsg和Bond的分布式搜索引擎 《Distributed Processing With MongoDB And Mongothon》介绍:使用MongoDB和Mongothon进行分布式处理 《Salt: Combining ACID and BASE in a Distributed Database》介绍:分布式数据库中把ACID与BASE结合使用. 《Makes it easy to understand Paxos for Distributed Systems》介绍:理解的Paxos的分布式系统,参考阅读:关于Paxos的历史 《There is No Now Problems with simultaneity in distributed systems》介绍:There is No Now Problems with simultaneity in distributed systems 《Distributed Systems》介绍:伦敦大学学院分布式系统课程课件. 《Distributed systems for fun and profit》介绍:分布式系统电子书籍. 《Distributed Systems Spring 2015》介绍:卡内基梅隆大学春季分布式课程主页 《Distributed Systems: Concepts and Design (5th Edition)》介绍: 电子书,分布式系统概念与设计(第五版) 《走向分布式》介绍:这是一位台湾网友 ccshih 的文字,短短的篇幅介绍了分布式系统的若干要点。pdf 《Introduction to Distributed Systems Spring 2013》介绍:清华大学分布式系统课程主页,里面的schedule栏目有很多宝贵的资源 《Distributed systems》介绍:免费的在线分布式系统书籍 《Some good resources for learning about distributed computing》介绍:Quora上面的一篇关于学习分布式计算的资源. 《Spanner: Google’s Globally-Distributed Database》介绍:这个是第一个全球意义上的分布式数据库,也是Google的作品。其中介绍了很多一致性方面的设计考虑,为了简单的逻辑设计,还采用了原子钟,同样在分布式系统方面具有很强的借鉴意义. 《The Chubby lock service for loosely-coupled distributed systems》介绍:Google的统面向松散耦合的分布式系统的锁服务,这篇论文详细介绍了Google的分布式锁实现机制Chubby。Chubby是一个基于文件实现的分布式锁,Google的Bigtable、Mapreduce和Spanner服务都是在这个基础上构建的,所以Chubby实际上是Google分布式事务的基础,具有非常高的参考价值。另外,著名的zookeeper就是基于Chubby的开源实现.推荐The google stack,Youtube:The Chubby lock service for loosely-coupled distributed systems 《Sinfonia: a new paradigm for building scalable distributed systems》介绍:这篇论文是SOSP2007的Best Paper,阐述了一种构建分布式文件系统的范式方法,个人感觉非常有用。淘宝在构建TFS、OceanBase和Tair这些系统时都充分参考了这篇论文. 《Data-Intensive Text Processing with MapReduce》介绍:Ebook:Data-Intensive Text Processing with MapReduce. 《Design and Implementation of a Query Processor for a Trusted Distributed Data Base Management System》介绍:Design and Implementation of a Query Processor for a Trusted Distributed Data Base Management System. 《Distributed Query Processing》介绍:分布式查询入门. 《Distributed Systems and the End of the API》介绍:分布式系统和api总结. 《Distributed Query Reading》介绍:分布式系统阅读论文,此外还推荐github上面的一个论文列表The Distributed Reader。 《Replication, atomicity and order in distributed systems》介绍:Replication, atomicity and order in distributed systems 《MIT course:Distributed Systems》介绍:2015年MIT分布式系统课程主页,这次用Golang作为授课语言。6.824 Distributed Systems课程主页 《Distributed systems for fun and profit》介绍:免费分布式系统电子书。 《Ori:A Secure Distributed File System》介绍:斯坦福开源的分布式文件系统。 《Availability in Globally Distributed Storage Systems》介绍:Google论文:设计一个高可用的全球分布式存储系统。 《Calvin: Fast Distributed Transactions For Partitioned Database Systems》介绍:对于分区数据库的分布式事务处理。 《Distributed Systems Building Block: Flake Ids》介绍:Distributed Systems Building Block: Flake Ids. 《Introduction to Distributed System Design》介绍:Google Code University课程,如何设计一个分布式系统。 《Sheepdog: Distributed Storage System for KVM》介绍:KVM的分布式存储系统. 《Readings in Distributed Systems Systems》介绍:分布式系统课程列表,包括数据库、算法等. 《Tera》介绍:来自百度的分布式表格系统. 《Distributed systems: for fun and profit》介绍:分布式系统的在线电子书. 《Distributed Systems Reading List》介绍:分布式系统资料,此外还推荐Various articles about distributed systems. 《Designs, Lessons and Advice from Building Large Distributed Systems》介绍:Designs, Lessons and Advice from Building Large Distributed Systems. 《Testing a Distributed System》介绍:Testing a distributed system can be trying even under the best of circumstances. 《The Google File System》介绍: 基于普通服务器构建超大规模文件系统的典型案例,主要面向大文件和批处理系统, 设计简单而实用。 GFS是google的重要基础设施, 大数据的基石, 也是Hadoop HDFS的参考对象。 主要技术特点包括: 假设硬件故障是常态(容错能力强), 64MB大块, 单Master设计,Lease/链式复制, 支持追加写不支持随机写. 《Bigtable: A Distributed Storage System for Structured Data》介绍:支持PB数据量级的多维非关系型大表, 在google内部应用广泛,大数据的奠基作品之一 , Hbase就是参考BigTable设计。 Bigtable的主要技术特点包括: 基于GFS实现数据高可靠, 使用非原地更新技术(LSM树)实现数据修改, 通过range分区并实现自动伸缩等.中文版 《PacificA: Replication in Log-Based Distributed Storage Systems》介绍:面向log-based存储的强一致的主从复制协议, 具有较强实用性。 这篇文章系统地讲述了主从复制系统应该考虑的问题, 能加深对主从强一致复制的理解程度。 技术特点: 支持强一致主从复制协议, 允许多种存储实现, 分布式的故障检测/Lease/集群成员管理方法. 《Object Storage on CRAQ, High-throughput chain replication for read-mostly workloads》介绍:分布式存储论文:支持强一直的链式复制方法, 支持从多个副本读取数据,实现code. 《Finding a needle in Haystack: Facebook’s photo storage》介绍:Facebook分布式Blob存储,主要用于存储图片. 主要技术特色:小文件合并成大文件,小文件元数据放在内存因此读写只需一次IO. 《Windows Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency》介绍: 微软的分布式存储平台, 除了支持类S3对象存储,还支持表格、队列等数据模型. 主要技术特点:采用Stream/Partition两层设计(类似BigTable);写错(写满)就封存Extent,使得副本字节一致, 简化了选主和恢复操作; 将S3对象存储、表格、队列、块设备等融入到统一的底层存储架构中. 《Paxos Made Live – An Engineering Perspective》介绍:从工程实现角度说明了Paxo在chubby系统的应用, 是理解Paxo协议及其应用场景的必备论文。 主要技术特点: paxo协议, replicated log, multi-paxo.参考阅读:关于Paxos的历史 《Dynamo: Amazon’s Highly Available Key-Value Store》介绍:Amazon设计的高可用的kv系统,主要技术特点:综和运用一致性哈希,vector clock,最终一致性构建一个高可用的kv系统, 可应用于amazon购物车场景.新内容来自分布式存储必读论文 《Efficient Replica Maintenance for Distributed Storage Systems》介绍:分布式存储系统中的副本存储问题. 《PADS: A Policy Architecture for Distributed Storage Systems》介绍:分布式存储系统架构. 《The Chirp Distributed Filesystem》介绍:开源分布式文件系统Chirp,对于想深入研究的开发者可以阅读文章的相关Papers. 《Time, Clocks, and the Ordering of Events in a Distributed System》介绍:经典论文分布式时钟顺序的实现原理. 《Making reliable distributed systems in the presence of sodware errors》介绍:面向软件错误构建可靠的分布式系统,中文笔记. 《MapReduce: Simplified Data Processing on Large Clusters》介绍:MapReduce:超大集群的简单数据处理. 《Distributed Computer Systems Engineering》介绍:麻省理工的分布式计算课程主页,里面的ppt和阅读列表很多干货. 《The Styx Architecture for Distributed Systems》介绍:分布式系统Styx的架构剖析. 《What are some good resources for learning about distributed computing? Why?》介绍:Quora上面的一个问答:有哪些关于分布式计算学习的好资源. 《RebornDB: The Next Generation Distributed Key-Value Store》介绍:下一代分布式k-v存储数据库. 《Operating System Concepts Ninth Edition》介绍:分布式系统归根结底还是需要操作系统的知识,这是耶鲁大学的操作系统概念书籍首页,里面有提供了第8版的在线电子版和最新的学习操作系统指南,学习分布式最好先学习操作系统. 《The Log: What every software engineer should know about real-time data's unifying abstraction》介绍:分布式系统Log剖析,非常的详细与精彩. 中文翻译 | 中文版笔记. 《Operating Systems Study Guide》介绍:分布式系统基础之操作系统学习指南. 《分布式系统领域经典论文翻译集》介绍:分布式系统领域经典论文翻译集. 《Maintaining performance in distributed systems》介绍:分布式系统性能维护. 《Computer Science from the Bottom Up》介绍:计算机科学,自底向上,小到机器码,大到操作系统内部体系架构,学习操作系统的另一个在线好材料. 《Operating Systems: Three Easy Pieces》介绍:<操作系统:三部曲>在线电子书,虚拟、并发、持续. 《Database Systems: reading list》介绍:数据库系统经典论文阅读列,此外推送github上面的db reading. 《Unix System Administration》介绍:Unix System Administration ebook. 《The Amoeba Distributed Operating System》介绍:分布式系统经典论文. 《Principles of Computer Systems》介绍:计算机系统概念,以分布式为主.此外推荐Introduction to Operating Systems笔记 《Person page of EMİN GÜN SİRER》介绍:推荐康奈尔大学的教授EMİN GÜN SİRER的主页,他的研究项目有分布式,数据存储。例如HyperDex数据库就是他的其中一个项目之一. 《Scalable, Secure, and Highly Available Distributed File Access》介绍:来自卡内基梅隆如何构建可扩展的、安全、高可用性的分布式文件系统,其他papers. 《Distributed (Deep) Machine Learning Common》介绍:分布式机器学习常用库. 《The Datacenter as a Computer》介绍:介绍了如何构建仓储式数据中心,尤其是对于现在的云计算,分布式学习来说很有帮助.本书是Synthesis Lectures on Computer Architecture系列的书籍之一,这套丛书还有 《The Memory System》,《Automatic Parallelization》,《Computer Architecture Techniques for Power Efficiency》,《Performance Analysis and Tuning for General Purpose Graphics Processing Units》,《Introduction to Reconfigurable Supercomputing》,Memory Systems Cache, DRAM, Disk 等 《helsinki:Distributed Systems Course slider》介绍:来自芬兰赫尔辛基的分布式系统课程课件:什么是分布式,复制,一致性,容错,同步,通信. 《TiDB is a distributed SQL database》介绍:分布式数据库TiDB,Golang开发. 《S897: Large-Scale Systems》介绍:课程资料:大规模系统. 《Large-scale L-BFGS using MapReduce》介绍:使用MapReduce进行大规模分布式集群环境下并行L-BFGS. 《Twitter是如何构建高性能分布式日志的》介绍:Twitter是如何构建高性能分布式日志的. 《Distributed Systems: When Limping Hardware Is Worse Than Dead Hardware》介绍:在分布式系统中某个组件彻底死了影响很小,但半死不活(网络/磁盘),对整个系统却是毁灭性的. 《Tera - 高性能、可伸缩的结构化数据库》介绍:来自百度的分布式数据库. 《SequoiaDB is a distributed document-oriented NoSQL Database》介绍:SequoiaDB分布式文档数据库开源. 《Readings in distributed systems》介绍:这个网址里收集了一堆各TOP大学分布式相关的课程. 《Paxos vs Raft》介绍:这个网站是Raft算法的作者为教授Paxos和Raft算法做的,其中有两个视频链接,分别讲上述两个算法.参考阅读:关于Paxos的历史 《A Scalable Content-Addressable Network》介绍:A Scalable Content-Addressable Network. 《500 Lines or Less》介绍:这个项目其实是一本书( The Architecture of Open Source Applications)的源代码附录,是一堆大牛合写的. 《MIT 6.824 Distributed System》介绍:这只是一个课程主页,没有上课的视频,但是并不影响你跟着它上课:每一周读两篇课程指定的论文,读完之后看lecture-notes里对该论文内容的讨论,回答里面的问题来加深理解,最后在课程lab里把所看的论文实现。当你把这门课的作业刷完后,你会发现自己实现了一个分布式数据库. 《HDFS-alike in Go》介绍:使用go开发的分布式文件系统. 《What are some good resources for learning about distributed computing? Why?》介绍:Quora上关于学习分布式的资源问答. 《SeaweedFS is a simple and highly scalable distributed file system》介绍:SeaweedFS是使用go开发的分布式文件系统项目,代码简单,逻辑清晰. 《Codis - yet another fast distributed solution for Redis》介绍:Codis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 《Paper: Coordination Avoidance In Distributed Databases By Peter Bailis》介绍:Coordination Avoidance In Distributed Databases. 《从零开始写分布式数据库》介绍:本文以TiDB 源码为例. 《what we talk about when we talk about distributed systems》介绍:分布式系统概念梳理,为分布式系统涉及的主要概念进行了梳理. 《Distributed locks with Redis》介绍:使用Redis实现分布式锁. 《CS244b: Distributed Systems》介绍: 斯坦福2014年秋季分布式课程. 《RAMP Made Easy》介绍: 分布式的“读原子性”. 《Strategies and Principles of Distributed Machine Learning on Big Data》介绍: 大数据分布式机器学习的策略与原理. 《Distributed Systems: What is the CAP theorem?》介绍: 分布式CAP法则. 《How should I start to learn distributed storage system as a beginner?》介绍: 新手如何步入分布式存储系统. 《Cassandra - A Decentralized Structured Storage System》介绍: 分布式存储系统Cassandra剖析,推荐白皮书Introduction to Apache Cassandra. 《What is the best resource to learn about distributed systems?》介绍: 分布式系统学习资源. 《What are some high performance TCP hacks?》介绍: 一些高性能TCP黑客技巧. 《Maintaining performance in distributed systems》介绍:分布式系统性能提升. 《A simple totally ordered broadcast protocol》介绍:Benjamin Reed 和 Flavio P.Junqueira 所著论文,对Zab算法进行了介绍,zab算法是Zookeeper保持数据一致性的核心,在国内有很多公司都使用zookeeper做为分布式的解决方案.推荐与此相关的一篇文章ZooKeeper’s atomic broadcast protocol: Theory and practice. 《zFS - A Scalable Distributed File System Using Object Disk》介绍:可扩展的分布式文件系统ZFS,The Zettabyte File System,End-to-end Data Integrity for File Systems: A ZFS Case Study. 《A Distributed Haskell for the Modern Web》介绍:分布式Haskell在当前web中的应用. 《Reasoning about Consistency Choices in Distributed Systems》介绍:POPL2016的论文,关于分布式系统一致性选择的论述,POPL所接受的论文,github上已经有人整理. 《Paxos Made Simple》介绍:Paxos让分布式更简单.译文.参考阅读:关于Paxos的历史,understanding Paxos part1,Understanding Paxos – Part 2.Quora: What is a simple explanation of the Paxos algorithm?,Tutorial Summary: Paxos Explained from Scratch,Paxos algorithm explained, part 1: The essentials,Paxos algorithm explained, part 2: Insights 《Consensus Protocols: Paxos》介绍:分布式系统一致性协议:Paxos.参考阅读:关于Paxos的历史 《Consensus on Transaction Commit》介绍:事务提交的一致性探讨. 《The Part-Time Parliaments》介绍:在《The Part-Time Parliament》中描述了基本协议的交互过程。在基本协议的基础上完善各种问题得到了最终的议会协议。 为了让人更容易理解《The Part-Time Parliament》中描述的Paxos算法,Lamport在2001发表了《Paxos Made Simple》,以更平直的口头语言描述了Paxos,而没有包含正式的证明和数学术语。《Paxos Made Simple》中,将算法的参与者更细致的划分成了几个角色:Proposer、Acceptor、Learner。另外还有Leader和Client.参考阅读:关于Paxos的历史 《Paxos Made Practical》介绍:看这篇论文时可以先看看理解Paxos Made Practical. 《PaxosLease: Diskless Paxos for Leases》介绍:PaxosLease:实现租约的无盘Paxos算法,译文. 《Paxos Made Moderately Complex》介绍:Paxos算法实现,译文,同时推荐42 Paxos Made Moderately Complex. 《Hadoop Reading List》介绍:Hadoop学习清单. 《Hadoop Reading List》介绍:Hadoop学习清单. 《2010 NoSQL Summer Reading List》介绍:NoSQL知识清单,里面不仅仅包含了数据库阅读清单还包含了分布式系统资料. 《Raft: Understandable Distributed Consensus》介绍:Raft可视化图帮助理解分布式一致性 《Etcd:Distributed reliable key-value store for the most critical data of a distributed system》介绍:Etcd分布式Key-Value存储引擎 《Understanding Availability》介绍:理解peer-to-peer系统中的可用性究竟是指什么.同时推荐基于 Peer-to-Peer 的分布式存储系统的设计 《Process structuring, synchronization, and recovery using atomic actions》介绍:经典论文 《Programming Languages for Parallel Processing》介绍:并行处理的编程语音 《Analysis of Six Distributed File Systems》介绍:此篇论文对HDFS,MooseFS,iRODS,Ceph,GlusterFS,Lustre六个存储系统做了详细分析.如果是自己研发对应的存储系统推荐先阅读此篇论文 《A Survey of Distributed File Systems》介绍:分布式文件系统综述 《Concepts of Concurrent Programming》介绍:并行编程的概念,同时推荐卡内基梅隆FTP 《Concurrency Control Performance Modeling:Alternatives and Implications》介绍:并发控制性能建模:选择与意义 《Distributed Systems - Concepts and Design 5th Edition》介绍:ebook分布式系统概念与设计 《分布式系统设计的形式方法》介绍:分布式系统设计的形式方法 《互斥和选举算法》介绍:互斥和选举算法 《Actors:A model Of Concurrent Cornputation In Distributed Systems》介绍:经典论文 《Security Engineering: A Guide to Building Dependable Distributed Systems》介绍:如何构建一个安全可靠的分布式系统,About the Author,Bibliography:文献资料,章节访问把链接最后的01换成01-27即可 《15-712 Advanced and Distributed Operating Systems》介绍:卡内基梅隆大学的分布式系统博士生课程主页,有很丰富的资料 《Dapper, Google's Large-Scale Distributed Systems Tracing Infrastructure》介绍:Dapper,大规模分布式系统的跟踪系统,译文,译文对照 《CS262a: Advanced Topics in Computer Systems》介绍:伯克利大学计算机系统进阶课程,内容有深度,涵盖分布式,数据库等内容 《Egnyte Architecture: Lessons Learned In Building And Scaling A Multi Petabyte Distributed System》介绍:PB级分布式系统构建/扩展经验 《CS162: Operating Systems and Systems Programming》介绍:伯克利大学计算机系统课程:操作系统与系统编程 《MDCC: Multi-Data Center Consistency》介绍:MDCC主要解决跨数据中心的一致性问题中间件,一种新的协议 《Research at Google:Distributed Systems and Parallel Computing》介绍:google公开对外发表的分布式系统与并行计算论文 《HDFS Architecture Guide》介绍:分布式文件系统HDFS架构 《ActorDB distributed SQL database》介绍:分布式 Key/Value数据库 《An efficient data location protocol for self-organizing storage clusters》介绍:是著名的Ceph的负载平衡策略,文中提出的几种策略都值得尝试,比较赞的一点是可以对照代码体会和实践,如果你还需要了解可以看看Ceph:一个 Linux PB 级分布式文件系统,除此以外,论文的引用部分也挺值得阅读的,同时推荐Ceph: A Scalable, High-Performance Distributed File System 《A Self-Organizing Storage Cluster for Parallel Data-Intensive Applications》介绍:Surrento的冷热平衡策略就采用了延迟写技术 《HBA: Distributed Metadata Management for Large Cluster-Based Storage Systems》介绍:对于分布式存储系统的元数据管理. 《Server-Side I/O Coordination for Parallel File Systems》介绍:服务器端的I/O协调并行文件系统处理,网络,文件存储等都会涉及到IO操作.不过里面涉及到很多技巧性的思路在实践时需要斟酌 《Distributed File Systems: Concepts and Examples》介绍:分布式文件系统概念与应用 《CSE 221: Graduate Operating Systems》介绍:加利福尼亚大学的研究生操作系统课程主页,论文很值得阅读 《S4: Distributed Stream Computing Platform》介绍:Yahoo出品的流式计算系统,目前最流行的两大流式计算系统之一(另一个是storm),Yahoo的主要广告计算平台 《Pregel: a system for large-scale graph processing》介绍:Google的大规模图计算系统,相当长一段时间是Google PageRank的主要计算系统,对开源的影响也很大(包括GraphLab和GraphChi) 《GraphLab: A New Framework for Parallel Machine Learning》介绍:CMU基于图计算的分布式机器学习框架,目前已经成立了专门的商业公司,在分布式机器学习上很有两把刷子,其单机版的GraphChi在百万维度的矩阵分解都只需要2~3分钟; 《F1: A Distributed SQL Database That Scales》介绍:这篇论文是Google 2013年发表的,介绍了F1的架构思路,13年时就开始支撑Google的AdWords业务,另外两篇介绍文章F1 - The Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business .Google NewSQL之F1 《Cockroach DB:A Scalable, Survivable, Strongly-Consistent SQL Database》介绍:CockroachDB :一个可伸缩的、跨地域复制的,且支持事务的数据存储,InfoQ介绍,Design and Architecture of CockroachDb 《Multi-Paxos: An Implementation and Evaluation》介绍:Multi-Paxos实现与总结,此外推荐Paxos/Multi-paxos Algorithm,Multi-Paxos Example,地址:ftp://ftp.cs.washington.edu/tr/2009/09/UW-CSE-09-09-02.PDF 《Zab: High-performance broadcast for primary-backup systems》介绍:一致性协议zab分析 《A Distributed Hash Table》介绍:分布式哈希算法论文,扩展阅读Introduction to Distributed Hash Tables,Distributed Hash Tables 《Comparing the performance of distributed hash tables under churn》介绍:分布式hash表性能的Churn问题 《Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web》介绍:分布式系统的CAP问题,推荐Perspectives on the CAP Theorem.对CAP理论的解析文章,PODC ppt,A plain english introduction to CAP Theorem,IEEE Computer issue on the CAP Theorem 《F2FS: A New File System for Flash Storage》介绍:闪存存储文件系统F2FS 《Better I/O Through Byte-Addressable, Persistent Memory》介绍:微软发表的关于i/o访问优化论文 《tmpfs: A Virtual Memory File System》介绍:虚拟内存文件系统tmpfs 《BTRFS: The Linux B-tree Filesystem》介绍:Linux B-tree文件系统. 《Akamai technical publication》介绍:Akamai是全球最大的云计算机平台之一,承载了全球15-30%网络流量,如果你是做CDN或者是云服务,这个里面的论文会给你很有帮助.例如这几天看facebook开源的osquery。找到通过db的方式运维,找到Keeping Track of 70,000+ Servers: The Akamai Query System这篇论文,先看论文领会思想,然后再使用工具osquery实践 《BASE: An Acid Alternative》介绍:来自eBay 的解决方案,译文Base: 一种Acid的替代方案,应用案例参考保证分布式系统数据一致性的6种方案 《A Note on Distributed Computing》介绍:Jim Waldo和Sam Kendall等人共同撰写了一篇非常有名的论文“分布式计算备忘录”,这篇论文在Reddit上被人推荐为“每个程序员都应当至少读上两篇”的论文。在这篇论文中,作者表示“忽略本地计算与分布式计算之间的区别是一种危险的思想”,特别指出了Emerald、Argus、DCOM以及CORBA的设计问题。作者将这些设计问题归纳为“三个错误的原则”: “对于某个应用来说,无论它的部署环境如何,总有一种单一的、自然的面向对象设计可以符合其需求。” “故障与性能问题与某个应用的组件实现直接相关,在最初的设计中无需考虑这些问题。” “对象的接口与使用对象的上下文无关”. 《Distributed Systems Papers》介绍:分布式系统领域经典论文列表. 《Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web》介绍:Consistent Hashing算法描述. 《SIGMOD 2016: Accepted Research Papers》介绍:SIGMOD是世界上最有名的数据库会议之一,最具有权威性,收录论文审核非常严格.2016年的SIGMOD 会议照常进行,上面收录了今年SIGMOD收录的论文,把题目输入google中加上pdf就能找到,很多论文值得阅读,SIGMOD 2015 《Notes on CPSC 465/565: Theory of Distributed Systems》介绍:耶鲁大学的分布式系统理论课程笔记 《Distributed Operating System Doc PDF》介绍:分布式系统文档资源(可下载) 《Anatomy of a database system》介绍:数据库系统剖析,这本书是由伯克利大学的Joseph M. Hellerstein和M. Stonebraker合著的一篇论文.对数据库剖析很有深度.除此以外还有一篇文章Architecture of a Database System。数据库系统架构,厦门大学的数据库实验室教授林子雨组织过翻译 《A Relational Model of Data for Large Shared Data Banks》介绍:数据库关系模型论文 《RUC Innovative data systems reaserch lab recommand papers》介绍:中国人民大学数据研究实验室推荐的数据库领域论文 《A Scalable Distributed Information Management System》介绍:构建可扩展的分布式信息管理系统 《Distributed Systems in Haskell》介绍:Haskell中的分布式系统开发 《Large-scale cluster management at Google with Borg》介绍:Google使用Borg进行大规模集群的管理,伯克利大学ppt介绍,中文版 《Lock Free Programming Practice》介绍:并发编程(Concurrency Programming)资料,主要涵盖lock free数据结构实现、内存回收方法、memory model等备份链接 密码: xc5j 《Distributed Algorithms Lecture Notes for 6.852》介绍:Nancy Lynch's的分布式算法研究生课程讲义 《Distributed Algorithms for Topic Models》介绍:分布式算法主题模型. 《RecSys - ACM Recommender Systems》介绍:世界上非常有名的推荐系统会议,我比较推荐接收的PAPER 《All Things Distributed》介绍:推荐一个博客,博主是Amazon CTO Werner Vogels,这是一个关注分布式领域的博客.大部分博文是关于在工业界应用. 《programming, database, distributed system resource list》介绍:这个Git是由阿里(alibaba)的技术专家何登成维护,主要是分布式数据库. 《Making reliable distributed systems in the presence of sodware errors》介绍:Erlang的作者Joe Armstrong撰写的论文,面对软件错误构建可靠的分布式系统.中文译版 《CS 525: Advanced Distributed Systems[Spring 2016]》介绍:伊利诺伊大学的Advanced Distributed Systems 里把各个方向重要papers(updated Spring 2015)列举出来,可以参考一下 《Distributed Algorithms》介绍:这是一本分布式算法电子书,作者是Jukka Suomela.讲述了多个计算模型,一致性,唯一标示,并发等. 《TinyLFU: A Highly Efficient Cache Admission Policy》介绍:当时是在阅读如何设计一个缓存系统时看到的,然后通过Google找到了这一篇关于缓存策略的论文,它是LFU的改良版,中文介绍.如果有兴趣可以看看Golang实现版。结合起来可能会帮助你理解 《6.S897: Large-Scale Systems》介绍:斯坦福大学给研究生开的分布式系统课程。教师是 spark 作者 matei. 能把这些内容真正理解透,分布式系统的功力就很强了。 《学习分布式系统需要怎样的知识?》介绍:[怎么学系列]学习分布式系统需要怎样的知识? 《Distributed systems theory for the distributed systems engineer》介绍:分布式系统工程师的分布式系统理论 《A Distributed Systems Reading List》介绍:分布式系统论文阅读列表 《Distributed Systems Reading Group》介绍:麻省理工大学分布式系统小组,他们会把平时阅读到的优秀论文分享出来。虽然有些论文本页已经收录,但是里面的安排表schedule还是挺赞的 《Scalable Software Architecture》介绍:分布式系统、可扩展性与系统设计相关报告、论文与网络资源汇总. 《MapReduce&Hadoop resource》介绍:MapReduce&Hadoop相关论文,涉及分布式系统设计,性能分析,实践,优化等多个方面 《Distributed Systems: Principles and Paradigms(second edtion)》介绍:分布式系统原理与范型第二版,课后解答 《Distributed Systems Seminar's reading list for Spring 2017》介绍:分布式系统研讨会论文阅读列表 《A Critique of the CAP Theorem》介绍:这是一篇评论CAP定理的论文,学习CAP很有帮助,推荐阅读评论文章"A Critique of the CAP Theorem" 《Evolving Distributed Systems》介绍:推荐文章不断进化的分布式系统.
suonayi 2019-12-02 03:17:27 0 浏览量 回答数 0

回答

为了方便Java开发者快速找到相关技术问题和答案,开发者社区策划了Java技术1000问内容,包含最基础的如何学Java、实践中遇到的技术问题、RocketMQ面试、Java容器部署实践等维度内容。 我们会以每天至少50条的速度,增加优秀的Java问答内容。 为了方便开发者线上交流,社区组建了Java钉钉群,有数千人在里边讨论技术问题,点击这里加入群组织吧。https://developer.aliyun.com/article/713951 【精品问答】Java技术1000问(2) 友情提示:1000问的内容含量比较大,收藏该页面不迷失哦 如何学习java? 1、作为一个java学习者,重复写轮子是否必要 2、自学三个月java能到什么程度 3、自学java看什么书 4、怎么学好 java 5、怎么学java手机游戏开发软件 6、怎么学java 7、用什么方式学java? 8、学习java可以做什么 9、学完java怎么开发 10、学完java基础后然后学什么 11、学了java能干什么的 12、学好java需要看什么书 13、学java最重要的是什么 14、学java之前要学什么东西吗 15、学java怎么多练啊 16、学java有什么好书 17、学java需要下载什么软件 18、学java买什么电脑 19、学java框架看什么书 20、学java可以考什么证书吗 21、学java可以干什么的 22、学java干安卓怎么样 23、学java 用什么系统电脑 24、学java web看什么书 25、新手自学java看什么书 26、小白学java看什么书 27、为什么这么多人学java 28、为什么要学java web 29、为什么28岁不能学java 30、什么都不会怎么学java 31、女生学java有什么发展 32、你学习javaee的步骤是什么? 33、面试你为什么要学java 34、该怎么自学java 35、辞职去学java怎么样 36、初学java买什么书 37、java主要学什么 38、java之前学什么 39、java怎么自学 40、java怎么学比较快 41、java怎么输出姓名学号 42、java学徒出来做什么的 43、java学什么数据结构 44、java学了能干什么 45、java学会能做什么 46、java学会了能干什么 47、java学的是什么意思 48、java学出来可以做什么工作 49、java学出来可以做什么 50、java学出来后怎么样 51、java需要什么都学 52、java数学符号怎么表示 53、java是什么好学吗 54、java开发要先学什么软件 55、java开发要先学什么 56、java基础怎么学 57、java基础学完了学什么 58、java工程师学什么专业 59、java初学者用什么书好 60、java初学者应该怎么学 61、java初学者看什么书 62、java程序员应该学什么 63、javase学完后怎么加深 64、c 和java学什么 65、c 和 java 同时学会怎么样 Java专业术语五十问 1、StringBuffer和StringBuilder区别是什么? 2、什么是线程安全? 3、什么是死锁? 4、synchronized的实现原理是什么? 5、有了synchronized,还需要volatile做什么事? 6、synchronized的锁优化是怎么处理的? 7、JMM是什么? 8、Java并发包都有哪些,性能怎样? 9、什么是fail-fast? 10、什么是fail-safe? 11、什么是CopyOnWrite? 12、什么是AQS呢? 13、什么是CAS呢? 14、乐观锁是怎样的? 15、乐观锁悲观锁区别是什么? 16、数据库如何实现悲观锁和乐观锁? 17、数据库锁和隔离级别有什么关系? 18、数据库锁和索引有什么关系? 19、什么是聚簇索引? 20、什么是非聚簇索引? 21、索引最左前缀是什么? 22、什么是B+树索引? 23、什么是联合索引? 24、什么是回表? 25、分布式锁有了解吗? 26、Redis怎么实现分布式锁? 27、为什么要用Redis? 28、Redis和memcache区别是什么? 29、Zookeeper怎么实现分布式锁? 30、什么是Zookeeper? 31、什么是CAP? 32、什么是BASE?和CAP什么区别? 33、CAP怎么推导?如何取舍? 34、分布式系统怎么保证数据一致性? 35、什么是分布式事务?分布式事务方案? 36、线程安全的单例? 37、不用synchronized和lock能实现线程安全的单例吗? 38、什么是Paxos算法? 39、ArrayList和LinkedList和Vector的区别 40、SynchronizedList和Vector的区别 41、Arrays.asList获得的List使用时需要注意什么 42、List和原始类型List之间的区别? 43、List<?>和List之间的区别是什么? 44、synchronized是如何实现的? 45、BIO、NIO和AIO的区别、三种IO的用法与原理 46、ConcurrentSkipListMap 47、String.valueOf和Integer.toString的区别 48、Integer的缓存机制 49、Set如何保证元素不重复? 50、Java中如何保证线程安全? 以下为在实践中各位开发者遇到的问题: (希望您观看过后,可以避免踩坑哦) 1、volatile变量的读取每次都是从主内存中获取么? 2、java开发的网站和PHP相比是不是不利于搜索优化? 3、java 1.8 jstack不成功,什么办法解决? 4、jetcache是否支持redis原生方法 5、在spring boot2.0中,一个controller中同时调用多个接口,能异步实现吗? 6、mybatis insert 是异步吗? 7、什么的服务器可以抗10万并发? 8、如何统计系统qps? 9、用h5做小程序的时候,前后台不分离可以不? 10、spring boot开发的微服务,存在相互间的调用通信,用什么方式保证安全? 11、mysql java设计简易书店管理系统,希望能有源代码,参考一下 12、消息队列的使用场景有哪些? 13、spring data es 怎么连接阿里云提供的ES服务 14、Windows JDK的安装与配置 15、preparedStatement接口下,setNString,setString的区别 16、如何在业务中发现有技术价值的问题? 17、如何将现有的java工程迁移到k8s? 18、请问表格存储和日志服务包冲突要怎么处理,使用哪个版本的jar 19、在Java中使用equals方法查找相等对象 20、项目启动成功为何会报java.sql.SQLException: The url cannot be null 1、Spring由哪些模块组成? 2、Java输出:无法写入子目录 3、Java随机返回负数吗? 4、怎样可以在Java中手动重新映射地图? 5、mongodb + springboot。如何进行广泛过滤? 6、sql和Java代码混合开发的例子 7、java技术进阶?从哪方面入手? 8、Java有什么可以比较方便地提取表达式中的变量名吗? 9、使用Spring框架的好处是什么? 10、我在通过Hibernate Search从数据库获取确切值时遇到问题 11、Java中运算符 |是做什么的? 12、在tomcat中分别为多个war文件配置Java代理 13、Java:如何验证自然语言文本 14、使用Java开发oss存储项目相关问题 15、手把手教你配置阿里云服务器搭建网站 16、OceanBase 使用动画 17、在Java上使用gson将大量自定义对象写入json文件,会中断吗? 18、有没有里云OSS java的实例? 19、JVM参数配置,Maximum memory Pool无法超过1604M 20、镜像可以同时安装不同公司的吗 21、weblogic能部署到阿里云的java版服务器上么 22、Java中这个Python列表的等价性是什么样的? 23、java能不能直接远程操作flink sql 24、java值传递和址传递? 25、Java如何模拟道路驾驶情况? 26、JAVA开发OSS实例 27、想实现一个消息推送服务,该用什么技术? 28、Hibernate 和 mybatis 哪个好用? 29、hibernate 里面怎么用自定义的 sql 来查询? 30、服务端 api sdk只看到python2的,什么时候出python3的呢? 31、关系型数据库中插入数据时会影响查询吗? 32、是否可以将flink部署在运行在JDK1.7的YARN上? 33、APP地区性的闪退是什么原因? 34、Java对接api打成jar包 35、Web服务用啥语言? 36、什么是线程? 37、Java的项目,都使用哪些自动化方式部署到TOMCAT? 38、errorCode:error 12,真机调试小程序不能发送https请求 39、求助:有用过spring cloud config吗? 40、通过Hibernate Search从数据库获取确切值时遇到问题 41、Java:如何验证自然语言文本 42、什么是Java中的非法自引用? 43、Java-使用http协议通过网络发送数百万条记录的最佳方法 44、从Servlet发布到数据库会引发“列不存在错误”。我该如何解决并完成? Java开源构架RocketMQ 1、java rocketmq 生产者如何取得消费者的消费结果 2、rocketmq发送消息遇到system busy怎么处理? 3、RocketMQ 是什么 4、producer详情 5、Producer Group 6、Consumer 7、Consumer Group 8、Topic 9、Tag 10、Name Server 11、单 master 模式 12、多 master 模式 13、多 master 多 slave 异步复制模式 14、多 master 多 slave 同步双写模式 15、RocketMq各个角色间的关系 16、同步刷盘和异步刷盘 17、同步复制和异步复制 18、MQPullConsumer 19、Push(推模式) 20、Pull(拉模式) 21、长轮询 22、消息堆积 23、分布式事务 24、MQPushConsumer 25、Broker 26、Message 关于rocketMQ的面试合集,也为大家准备好啦! 1、采用MQ的有什么优点? 2、你对 Namesrv 的了解? 3、请说说你对 Broker 的了解? 4、topic是什么? 5、RocketMQ 由哪些角色组成? 6、RocketMQ执行流程 7、怎么理解 Producer 的? 8、怎么理解 Consumer 的? 9、消费者消费模式有几种? 10、消费者获取消息有几种模式? 11、定时消息是什么?怎样实现的? 12、mq消息的丢失和队列的使用策略是怎样的? 13、为什么使用MQ? 14、MQ如何保证高可用的? 15、如何保证消息不被重复消费?或者说,如何保证消息消费时的幂等性? 16、如何保证消息的可靠性传输啊?要是消息丢失了怎么办啊? 17、如何保证消息顺序性 18、如何解决消息队列的延时以及过期失效问题? 19、消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决? 20、怎样设计MQ会更好 21、消息队列如何选型? 22、如何解决高性能读写数据的问题? 23、如何解决数据重复发送的问题? 24、什么是解耦? 25、什么是异步? 26、什么是削峰? 基于Java容器的多应用部署技术实践 1、如果基于阿里对openJDK的改造,这个就已经限定这个多版本发布技术了,有么有更好的方法,不去改造openJDK而达到多版本的目的,或者变相的达到 2、版本的回滚,怎么避免用户在新版本中产生的数据丢失? 3、一个web项目做分布式部署,用jsp、controller、service、dao 这几个层次应该怎么分配才合理? 4、Java容器和Docker这种服务容器差别? 5、深拷贝优于序列化的原因是什么?有没有更快的解决方案 6、多线程思想去做发布? 7、平台化系统如何使用多应用部署的方式进行搭建?好处在哪里?谢谢 8、深拷贝会不会对内存有影响 9、相比单应用,多应用部署在tomcat上内存分配怎么设置 10、总体的解决思想是什么? 11、对于容器集群里面的会话粘性一般如何设计,对于不同时间的服务量,如何控制容器的关闭和启动? 12、http://yq.aliyun.com/ask/36484 微服务架构spring核心知识50问 1、什么是spring 2、spring的特点 3、Spring包括哪些内容 4、使用Spring有什么好处 5、spring中的核心类有那些,各有什么作用 6、spring常用的类和接口有哪些 7、spring事务的原理 8、什么是IOC,什么又是DI,他们有什么区别 9、Bean注入属性的几种方式 10、什么是aop,aop的作用是什么 11、AOP里面重要的几个名词概念解释 12、Spring框架中Bean的生命周期和作用域 13、Bean的初始化方式有哪些 14、Bean的调用方式有哪些 15、Bean的销毁方式有哪些 16、Spring的事务管理 17、Spring里面如何配置数据库驱动 18、Spring里面applicationContext.xml文件能不能改成其他文件名 19、如何在web应用里面配置spring 20、Spring里面如何定义hibernate mapping 21、spring中的BeanFactory与ApplicationContext的作用有哪些 22、BeanFactory 接口 和 ApplicationContext 接口区别 23、如何在web环境中配置applicationContext.xml文件 24、如何在spring中实现国际化 25、Spring如何处理线程并发问题 26、Spring 中BeanFactory与ApplicationContext的差别 27、服务挂了,如何解决 28、常见的设计模式和应用 29、聚合器微服务设计模式 30、代理微服务设计模式 31、链式微服务设计模式 32、分支微服务设计模式 33、数据共享微服务设计模式 34、异步消息传递微服务设计模式 35、微服务架构对于部署的要求 36、微服务部署的粒度 37、MS部署的解决方案 38、微服务的划分 39、微服务分布式一致性 40、微服务数据隔离问题 41、COMB支持哪些常见的协议 42、如何集成Spring Boot和ActiveMQ? 43、springboot常用的starter有哪些 44、springboot读取配置文件的方式 45、springboot集成mybatis的过程 46、如何重新加载Spring Boot上的更改,而无需重新启动服务器? 47、如何在Spring Boot中禁用Actuator端点安全性? 48、如何在 Spring Boot 启动的时候运行一些特定的代码? 49、Spring Boot 如何定义多套不同环境配置? 50、保护 Spring Boot 应用有哪些方法? Docker与JVM常见bug解决方案50问 1、Docker概念之镜像 2、Docker概念之容器 3、Docker概念之仓库 4、Docker中镜像的基本操作 5、利用镜像启动一个容器后进行修改 6、利用Dockerfile创建镜像 7、docker run的参数命令 8、Docker中仓库的基本操作 9、配置docker仓库 10、利用Docker创建一个用于Flask开发的Python环境 11、容器备份之导出镜像到文件 12、容器备份之从文件导入成镜像 13、容器备份之可以通过docker --help 查看 14、容器备份之启动成容器测试 15、搭建私服仓库 16、查看仓库 17、提交镜像到仓库 18、从仓库拉取镜像 19、外部挂载 20、JVM分区有哪些 21、GC 的两种判定方法 22、SafePoint 是什么 23、GC 的三种收集方法及用途 24、 GC 收集器有哪些?CMS 收集器与 G1 收集器的特点 25、Minor GC 与 Full GC 分别在什么时候发生? 26、几种常用的内存调试工具:jmap、jstack、jconsole、jhat 27、类加载的几个过程 28、 GC 对象的判定方法 29、java 垃圾回收机制? 30、java 中垃圾收集的方法有哪些? 31、java 类加载过程? 32、 java 类加载机制? 33、类加载器双亲委派模型机制? 34、什么是类加载器,类加载器有哪些? 35、java 内存分配与回收策率以及 Minor GC 和Major GC 36、JVM内存模型,GC机制和原理 37、JVM里的有几种classloader,为什么会有多种? 38、什么情况下我们需要破坏双亲委派模型? 39、服务启动或执行过程中出现ClassNotFoundException,NoClassDefFoundError 40、java.lang.OutOfMemoryError:Java heap space 41、java.lang.OutOfMemoryError:GC overhead limit exceeded 42、java.lang.OutOfMemoryError:Permgen space 43、java.lang.OutOfMemoryError:Unable to create new native thread 44、java.lang.OutOfMemoryError:Out of swap space 45、java.lang.StackOverflowError 46、Fatal: Stack size too small 47、碰到网络问题,无法 pull 镜像,命令行指定 http_proxy 无效? 48、容器退出后,通过 docker container ls 命令查看不到,数据会丢失么? 49、如何停止所有正在运行的容器? 50、如何给容器指定一个固定 IP 地址,而不是每次重启容器 IP 地址都会变? 微服务常见面试五十问 1、什么是微服务中的反应性扩展? 2、可以用微服务创建状态机吗? 3、架构师在微服务架构中的角色是什么? 4、什么是持续监测? 5、什么是持续集成(CI)? 6、什么是Canary Releasing? 7、使用Docker的目的是什么? 8、对Mike Cohn的测试金字塔了解多少? 9、Mock或Stub有什么区别? 10、如何在测试中消除非决定论? 11、如何进行跨功能测试? 12、对微服务架构中的语义监控有何了解? 13、Web,RESTful API在微服务中的作用是什么? 14、什么是消费者驱动的合同(CDC)? 15、什么是微服务架构中的DRY? 16、Container在微服务中的用途是什么? 17、什么是端到端微服务测试? 18、合同测试主要做什么? 19、什么是康威定律? 20、什么是OAuth? 21、PACT在微服务架构中的用途? 22、什么是客户证书? 23、双因素身份验证的凭据类型有哪些? 24、什么是双因素身份验证? 25、什么是有界上下文? 26、什么是Idempotence以及它在哪里使用? 27、怎么理解Distributed Transaction? 28、什么是不同类型的微服务测试? 29、休息和微服务的要点有哪些? 30、在Spring MVC应用程序中使用WebMvcTest注释有什么用处? 31、Spring Cloud解决了哪些问题? 32、什么是Spring Cloud? 33、什么是Spring引导的执行器? 34、什么是Spring Boot? 35、什么是REST / RESTful以及它的用途是什么? 36、什么是耦合? 37、什么是凝聚力? 38、什么是无所不在的语言? 39、为什么需要域驱动设计(DDD)? 40、什么是领域驱动设计? 41、微服务有什么特点? 42、SOA和微服务架构之间的主要区别是什么? 43、在使用微服务架构时,哪些觉得比较困难? 44、单片,SOA和微服务架构有什么区别? 45、微服务架构的优缺点是什么? 46、微服务架构如何运作? 47、微服务之间是如何独立通讯的? 48、哪个公司或产品使用微服务架构? 49、为什么现在每个人都在谈论微服务? 50、微服务适合哪种情况? Java发展趋势 1、Java 13 处于创新者阶段,Java 11 处于早期采用者阶段,Java 8 处于晚期大众阶段 2、OpenJDK 处于创新者阶段 3、 非 Hotspot JDK 生产实践——Graal VM、IBM OpenJ9 处于早期采用者阶段 4、Lambda /Stream 处于晚期大众阶段、Vector API 处于创新者阶段 5、 Kotlin 处于早期大众阶段,Scala 和 Groovy 处于晚期大众阶段 6、微服务框架:Spring Boot 和 Spring Cloud 进入晚期大众阶段;ServiceComb 处于早期采用者阶段;Apache Dubbo 处于晚期大众阶段;Tars 处于早期大众阶段 7、Java/JVM 8、70% 的开发者选择使用 Oracle JDK,21% 的开发者选择使用 OpenJDK。 9、非 Hotspot JDK 生产实践——Graal VM、IBM OpenJ9 10、Lambda /Stream、Vector API 等语法与特性 11、Kotlin 是 Android 应用程序开发人员的首选语言。这是否意味着 Java 占据 Android 开发绝对统治的时代一去不复返了? 12、Spring Boot/Cloud、Apache Dubbo、TARS、ServiceComb 等微服务框架 13、您的企业使用的 JDK 版本情况,是否采用了某个 OpenJDK 发行版?您如何看待 OpenJDK 在国内的发展?(如果没有采用,原因以及后续计划?) 14、您的企业目前在支持 Java 技术栈方面的策略是什么?计划和目标是什么?相关的核心痛点或者业务需求是什么? 15、请介绍您的企业是否进行了微服务实践?如果是,在整体系统架构中的比例是多少?如果不是,是否有相关计划? 16、您所采用的主要微服务框架是什么?如何判断国内该领域的技术发展情况?您认为微服务主流框架的争夺是否尘埃落定? 17、您如何看待 Service Mesh 在国内的发展现状和发展前景? 18、对于当前 Java 的整体发展情况,您有什么感想? springcloud如何实现服务的注册和发现 dubbo常见技术问题 1、什么情况会造成dubbo链接中断? 2、 调用dubbo调用其他工程的服务接口 , 打上@Autowired注解启动时报下面的错 ,求大神们帮忙? 3、关于dubbo跟zk中a服务访问b集群的问题 4、swagger怎么生成dubbo接口的文档,求指教 5、 dubbo发布服务失败的问题 6、 dubbo-admin启动时连接zookeeper失败 7、关于在tomcat中启动dubbo 8、spring发布dubbo时报错For input string 9、dubbo + zookeeper ? 10、dubbo包动态部署服务平台如何搭建 11、dubbo服务已启动,作为消费者的我调用服务端的接口,一直报错 12、dubbo 消费方,如何将接口dubbo,注入到service或者dao层 13、 dubbo启动服务端报这个错? 14、Dubbo 消费者如果数据校验了,那么服务提供者还需要数据校验吗? 15、 配置dubbo,启动消费端服务器出现这个问题 16、dubbo调用提供者接口报错 17、 zookeeper,dubbo服务注册,消费者调用为null 18、maven项目配置dubbo报错,能找到相应的jar 19、 dubbo和spring mvc 和spring的区别是什么 各自的作用是什么 20、dubbo框架是什么和spring啊spring mvc什么的 有什么区别和共同点 21、 dubbo 如何获取一个服务的所有节点 22、DUBBO demo 启动一直会自动 shutdown 23、关于Dubbo配置的问题~ spring整合Dubbo出现问题。 24、dubbo无法序列化HttpServletRequest问题 25、dubbo服务端有返回,客户端接收到null的问题 26、bubbo消费端在工具中启动报错打包后tomcat下正常 27、dubbo分布式事务怎么处理 28、dubbo分布式调用传参数 29、Dubbo启动的时候支持几种配置方式? 30、启动tomcat 报dubbo端口号冲突 31、出现RpcException: No provider available for remote service异常怎么办? 32、出现"消息发送失败"异常怎么办? 33、为什么消费者比提供者个数多? 34、为什么采用单一长连接 35、测试和生产公用一套zookeeper,怎么保证消费不冲突 36、如果注册中心集群都挂掉,发布者和订阅者之间还能通信么? 37、dubbo在安全机制方面如何解决的? 38、hession序列化失败hessionruntimeexception 39、rejectedExecutionexception异常 40、RpcLocalExceptionIoTargetIsNotConnected错误? 41、服务注册不上 42、为了方便开发测试,线下有一个所有服务可用的注册中心,这时,如果有一个正在开发中的服务提供者注册,可能会影响消费者不能正常运行 43、dubbo缺省会在启动时检查依赖是否可用 44、spring 2.x初始化死锁问题。在spring解析到dubbo:service时,就已经向外暴露了服务,而spring还在接着初始化其他bean,如果这时有请求进来,并且服务的实现类里有调用applicationContext.getBean()的用法。getBean线程和spring初始化线程的锁的顺序不一样,导致了线程死锁,不能提供服务,启动不了? 45、dubbo中什么是本地暴露和远程暴露? 46、Dubbo是什么? 47、为什么要用Dubbo? 48、Dubbo 和 Spring Cloud 有什么区别? 49、dubbo都支持什么协议,推荐用哪种? 50、Dubbo默认使用什么注册中心,还有别的选择吗? 欢迎加入开发者技术社群 群福利:群内每周进行群直播技术分享及问答
问问小秘 2019-12-01 21:57:43 46087 浏览量 回答数 16

回答

服务器搭建后经常在打开页面的时候,等待很长时间,有时候,都超过一分钟了,然后才能打开,但是打开后,速度又很快,休息一会再点击,又会很慢了,遇到了这种问题很头疼,由于不是专业做服务器配置的,所以刚开始没有找到好的解决办法,只能一点点去测试了 首先尝试了,给Apache开启Gzip功能,减少数据的传输,优化网络,但是效果不明显,还是一样的慢,如何开启GZIP,请查看上一篇日志,Apache开启GZIP。 然后尝试,加入缓存功能,也基本上没有效果,在页面中加入缓存,不在这里进行介绍了,可以查看相关资料。 经过仔细观察,发现是打开网页的时候,一直在等待xxx.xxx.com响应,证明不是GZIP或者是缓存的问题,应该是服务器响应的问题,在这个想到的,第一个是服务器能同时承受的连接数设置的过少,第二个是服务器已有资源已用完,只能等待释放新的资源。 在网上查找资料,开始修改上对于服务器的一些设置,先设置Apache的MPM模块(多路处理模块),设置模块中的相关选项,因为是使用的Windows操作系统,所以设置的模块为: ,此模块是在Windows服务器下使用的,该多路处理模块(MPM)是Windows NT上的默认值。它使用一个单独的父进程产生一个单独的子进程,在这个子进程中轮流产生多个线程来处理请求。 在此设置为: ThreadStackSize 8388608 #用来控制堆栈大小 默认:NetWare上为65536,其他平台上等于操作系统默认值 这个指令用来设置处理客户端连接(包括调用模块以协助处理)的线程允许使用的最大栈尺寸(字节)。 大多数情况下,操作系统默认的栈尺寸很合理。但是在某些情况下,需要调整这个值: 在默认栈尺寸较小的平台上(比如HP-UX),Apache可能会在使用一些需要较大栈尺寸的第三方模块时崩溃。这样的问题可以通过将ThreadStackSize设置为一个较大的值来解决。这种调整应当仅仅在第三方模块提供者明确要求的情况下才需要,或者是您通过诊断确定是由于栈空间太小而导致崩溃。 在某些平台上,如果默认的栈空间大于服务器运行所需空间,那么将ThreadStackSize值降低到小于操作系统默认值可以让每个进程中允许生成的最大线程数量增加。这种类型的调整应该仅在测试环境中使用,并且对所有服务器进程进行充分的测试,因为处理某些罕见的请求需要较大的栈空间。一个很小的服务器配置变化就有可能使得当前的ThreadStackSize设置变得不合适。 ThreadsPerChild 350 每个子进程的服务线程数目 每个子进程的服务线程数目 MaxConnectionsPerChild 10000 最大连接数的一个服务器进程服务 最大连接数的一个服务器进程服务 一些其它的参数 StartServers:  初始数量的服务器进程开始 MinSpareThreads:  最小数量的工作线程,保存备用 MaxSpareThreads:  最大数量的工作线程,保存备用 ThreadsPerChild:  固定数量的工作线程在每个服务器进程 MaxRequestWorkers:  最大数量的工作线程 MaxConnectionsPerChild:  最大连接数的一个服务器进程服务 由于是在进行测试,所以所设置数量,并不提供准确的值,仅为解决问题页来,具体数值大小,请参考自身设计 以后设置完成后,问题依然没有解决, 然后设置服务的连接超超等,在extra/httpd-default.conf 文件,需要在httpd.conf中打开此注释 修改KeepAlive KeepAlive指的是保持连接活跃 类似于Mysql的永久连接。如果将KeepAlive设置为On,那么来自同一客户端的请求就不需要再一次连接,避免每次请求都要新建一个连接而加重服务器的负担。 表示单个进程的最大请求数 MaxKeepAliveRequests 指令限制了当启用KeepAlive时,每个连接允许的请求数量。如果将此值设为”0″,将不限制请求的数目。我们建议最好将此值设为一个比较大的值,以确保最优的服务器性能。 KeepAliveTimeout的设置说明: Apache在关闭持久连接前等待下一个请求的秒数。一旦收到一个请求,超时值将会被设置为Timeout指令指定的秒数。 对于高负荷服务器来说,KeepAliveTimeout值较大会导致一些性能方面的问题:超时值越大,与空闲客户端保持连接的进程就越多。 MaxRequestsPerChild 表示单个进程的最大请求数 以上设置完成后,重启服务器,测试后情况有所改观,但是还是经常出现等待响应。 再查找资料,见到有说人到,需要根据协议类型对监听Socket进行优化。 Accept Filter 接收之后对信息进行一个过滤,有介绍说是反向一个代理,具体也不清楚,看到了,果断试一下。 AcceptFilter http none AcceptFilter https none
游客2q7uranxketok 2021-02-07 23:48:49 0 浏览量 回答数 0

回答

摘要: 峰值期间,汇合营销每天需要收集、分析和存储20多亿条的访客浏览轨迹;同时,还需要根据用户需求在亿级日志表中做秒级查询。 自开始大数据创新案例探索之后,汇合营销(杭州汇江容海网络有限公司)是笔者走进的第二家公司,在拜访过程中, 通过CEO周鹏与CTO欧阳明对笔者了解到,在这个技术普惠的时代,汇合营销的发展之路铺设与架构。 汇合营销大数据规模与挑战 对于任何一家创业公司来说,成本与-效率都是一个不得不考虑的问题——周鹏。 汇合营销主要提供汇合DSP和汇合DMP两个平台,为电商为主的广告主提供推广服务。此外,在接受商家的精准化需求之后,根据具体的业务场景,为电商广告主提供精准化的营销广告。在整个过程中,周鹏表示,构建一个完善且能够持续服务的大数据平台成为关键,这需要大量的人力与物力;此外,这个平台还需要有足够的“弹性”来满足业务:既要撑得住双11期间的流量峰值,又要能够在平时做好运维成本控制。 峰值期间,汇合营销每天需要收集、分析和存储20多亿条的访客浏览轨迹;同时,还需要根据用户需求在亿级日志表中做秒级查询——欧阳明。 纵览汇合营销整个大数据系统,在技术挑战上,欧阳明主要归结于以下三条: 大量的数据统计。汇合营销每天收集到的数据,多的时候一天有20多亿访客浏览轨迹,在DMP业务系统中,需要对每个访客的浏览内容进行分析,打上相应标签并进行统计;同时,数据分析师每天也需要产生各种报表,帮助客户进行广告优化。大量的数据存储、统计和大量的业务需求,这使得开发过程中,既要保证高效率,同时也要降低成本。实时大数据查询。广告商在后台的推广组选择标签时,系统需要在毫秒级的时间内显示标签的用户量并预估展现量信息,由于用户选择的标签一般都会比较多、条件比较复杂,并且每个标签的用户也可能重复,从而无法在用户选择标签前做预计算,必须每次在亿级日志表中查询,而且要保证平均延迟不超过1秒。CTR预估。CTR预估能够决定广告的精准程度和带来的收益,是广告竞价系统中一个比较核心的部分。在汇合营销,我们使用业内优秀的大数据框架和机器学习算法,例如场感知分解机模型(FFM)、逻辑回归算法等,来训练收集到的TB级数据,将训练好的模型应用于CTR预估,提升了广告投放的精准度,从而有效提升广告效果。 因此在考量了技术与资源之后,汇合营销选择了阿里云数加,通过云服务来取得技术与-效率优势,周鹏总结道。 汇合营销大数据系统架构 开发效率与使用门槛促促成了这个基于云的架构,最大程度减少了运维,即开即用,避免资源浪费——欧阳明。 欧阳明表示,数加有完善的大数据解决方案,能够与阿里云其他产品无缝对接。汇合营销使用了数加的大数据套件、ODPS、DataV和分析型数据库,也尝试了机器学习平台。具体参照下方架构图,通过阿里云数加产品确定的边界,整个系统架构非常清晰: 现在汇合营销大部分离线统计需求都在大数据套件中开发,将数据使用做到非常简单,只要能够写SQL,就可以导出自己需要的报表,满足了大部分的业务需求。此外,分析型数据库能够满足在亿级数据中做毫秒级查询,在数据分析方面,是一个非常不错的工具。在使用数加之前,汇合营销曾搭建了Spark和Hadoop,但每次数据报表都需要开发人员来导出,而且在维护、资源使用上都需要很好地平衡,使用和维护成本相对比较高。 而数加大大降低了数据使用门槛、提高开发效率,现在汇合营销的数据分析团队(非开发人员)都能够独立完成大部分的数据报表需求。此外,数加的按需计费避免了资源空闲,从年初的对比来看,数加在满足同等业务需求基础上能够减少一半的支出,有效地节约了成本开支,帮助创业型企业快速成长。
福利达人 2019-12-01 21:17:03 2307 浏览量 回答数 0

回答

Maven本地仓库配置报错:配置报错  GO语言配置什么的都没问题,但就是LiteIDE配置不好。。。:配置报错  Maven 配置nexus仓库 POM文件报错:配置报错  10个你可能从未用过的PHP函数:配置报错  QTableWidget修改表头颜色的代码为什么只在QMainWindow中有效?:配置报错  你好,我想问一下,asterisk sip我想用mysql读数据库配置,:配置报错  RedisScheduler中层级关系setPriority无效?:配置报错  关于ie8下 getElementById为空的问题..:配置报错  一个命令可以攻击所有的Linux系统:配置报错  resin转Tomcat,一个tomcat部署多个web application的配置?:配置报错  MyBatis 如何实现可配置模式名:配置报错  osc的git版本控制能解决这个问题吗?:配置报错  Apache Click框架入门问题click.xml配置与页面显示问题:配置报错  Android隐藏顶部状态栏无效:配置报错  spring maven pom配置 artifactId 能否支持通配符?:配置报错  求教sock5客户端---linux安装与配置:配置报错  生成树idKey pId指定无效:配置报错  用hibernate就非要用关联配置么?:配置报错  MongoDB入门安装配置视频教程:配置报错  还是openemm的问题:配置报错  druid getConnection慢的问题:配置报错  Spring使用XML配置好还是注解的方式好?哪种优点更多,整体更好?:配置报错  Struts2 的配置:配置报错  Apache+Tomcat集群:配置报错  MyEclipse 10咋配置的Android。?:配置报错  QQ互联PHP_SDK 在SAE上 session_start() 的问题:配置报错  tool.xml文件的配置:配置报错  各项配置已经配置好了还是有 :配置报错  GridView 设置项监听事件 怎么无效?:配置报错  还有必要配置HotModuleReplacementPlugin 插件吗?:配置报错  struts2的注解模式配置action:配置报错  varnish-dashboard 如何实现监控多台varnish服务器:配置报错  netty怎么判断客户端是纯socket还是websocket:配置报错  ie11 浏览器用@font-face 无效:配置报错  返回的ActiveDataProvider分页无效的问题:配置报错  shiro配置问题,我配置了缓存然后自己重写了一个Realm,冲突:配置报错  Eclipse LUNA 4.40如何配置GWT web开发环境:配置报错  android 三个配置放在一起代表什么意思:配置报错  jquery 如何操作隐藏的DOM元素:配置报错  nginx 配置增加一个固定的重写规则:配置报错  android FTP客户端开发:配置报错  下载无效是一个空的war包:配置报错  jfinal_weixin获取accesstoken的问题.会是一个框架源码本身的bug?:配置报错 tomcat 配置memcached 配置报错  jboot内置的undertow参数怎么配置 配置报错  一个关于笔记本使用无线键盘的问题 配置报错  ignite的h2控制台如何配置实用 配置报错  详解 Spring 3.0 基于 Annotation 的依赖注入实现 配置报错  nginx配置问题 配置报错  Tp3.0Rc2 存在 {NO_TOKEN} 标识无效的问题 配置报错  SpringFramework hibernate constraint无效 配置报错  比较两个List把不同的值取出来,contains无效 配置报错  android隐藏listview中的某一项,总是有问题。 配置报错  为何PublicCMS后台管理的页面片段插入无效? 配置报错  Nginx跳转路径配置问题:配置报错 java 服务器:配置报错  spring事务配置的一个问题 配置报错  mybatisplus 在同一个事务中,查询有缓存,如何不要缓存 配置报错  windows系统nginx限制链接数配置:配置报错  Mybatis配置问题:配置报错  mysql的服务器内存64G,请教优化配置 配置报错  MYCP开发指南系列之:开发第一个C++ APP 1    开发第一个 C++ APP 配置报错  spring boot lo4j2多环境配置不起作用 配置报错  bootstrap4中给ul添加类list-inline无效,li不能水平排列:配置报错  Android中shape中的属性大全:配置报错  谁在用cakephp啊 为么我的显示不了正确页面呢:配置报错  solr5.3 配置IK分词器报错 配置报错  Hanlp分词器的停用词无效:配置报错  pom.xml如何配置自定义的测试代码目录? 配置报错  微信后台配置的URL可以使用二级域名吗?:配置报错  mybatis配置问题(已经解决) 配置报错  db.tx的事务回滚问题:配置报错  Ubuntu系统VPS下Nginx配置多域名失败,是否是配置的原因? 配置报错  ADO MFC编程连接数据库出现无效指针 配置报错  nginx重定向配置问题 配置报错 ajax提交数据, 返回类型为json, redirect无效 配置报错  echarts折线图/柱状图横屏显示时,label数值怎么打横显示?:配置报错  php关于ob_start()问题 配置报错  java算法研究,在线等:配置报错  logback配置问题 配置报错  Vmware15 安装后没有出现虚拟网卡,已重装过好几次,还原默认设置也设置过,无效:配置报错  外卖功能中15分钟未支付则自动取消订单 热 配置报错  shiro 注解没起作用 配置报错  请高手指点,spring 配置类中相同类型的template配置问题 配置报错  过年找工作,迷茫了。难道我真的落伍了吗? 配置报错  maven jetty run 多profile配置问题 配置报错  spring3.1,cache的配置问题 配置报错  关于oracle 中delete之后释放空间的问题。:配置报错  请问在windows下,如何实现多主一从,相关配置是怎么配置的:配置报错  Sonar安装配置异常:配置报错  velocity模版文件修改后怎样不用重启tomcat? 配置报错  springboot2.1.0 activemq.pool配置 配置报错  SpringMVC配置jackson后,启动tomcat就报错!在线等!急!! 配置报错 telnet配置中inet.conf下面这行是什么意思? 配置报错  SpringMVC+Hibernate双向一对一关系转换json出现无线递归 配置报错  java 进程 cpu一直占用50%:配置报错  centos6.3 nginx wordpress 安装问题:配置报错  多数据源配置后衍生问题 配置报错 python的easy_install如何使用http proxy方式安装包?:配置报错  这个程序有什么问题?新手一个 配置报错  linux 最大打开文件数配置值 有没有限制:配置报错  Linux下服务器的配置及项目部署 配置报错  Sublime Text2 常用快捷键 配置报错  IKAnalyzer配置了扩展词典不管用呢:配置报错  jquery选择器无效 配置报错  jfinal 加入sqllite如何配置? 配置报错  Ingress traefik配置问题 配置报错  Spring Security框架怎么设置响应为json格式 配置报错  hibernate 查询 多对一的对象 配置报错  grails 怎么配置和调用dubbo服务 配置报错  pyinstaller打包后os.system无效 配置报错  百度离线地图2.0应用中,下载了你给的测试代码,但是基本的地图类型和缩放功能都无效了 配置报错  mybatis配置报错 配置报错  struts配置冲突问题 配置报错  ion-slide-box 两项数据时BUG 配置报错  dwz点击横向菜单的问题 配置报错  Nginx没有办法配置前缀过滤吗? 配置报错  tengine+tomcat 做反向代理,不能保持会话 配置报错  java+flex 交互以及在svn上的配置 配置报错  react-route动态路由,它的子路由路径配置在什么地方? 配置报错  数据库里的数据导不出来了,是不是数据损坏了?:配置报错  nginx 在windows 环境worker_connections 1024的问题咋办配置报错  ECharts 3 图(graph)连线(links)支持特效吗?:配置报错  linux dhcp 冗余这么配置 配置报错  vmware重启后之前的配置都无效了:配置报错  Hudson下面配置任务时git方式的源代码配置怎么配置呢?:配置报错  hibernate4关于getCurrentSession()的事务配置问题:配置报错  SQLServerException 配置报错  请教 IPHONE开发硬件配置要求以及推荐些相关书籍? 配置报错  OSChina 周末服务器故障原因和疑问 配置报错  设置了setTempFolder("c:/temp") 无效 配置报错  Linux环境下怎样去配置安装PHP的环境 配置报错  mysql主从同步配置问题:配置报错  Eclipse 配置Tomcat 的问题 配置报错  hibernate三表配置:配置报错  谁说nginx不支持.htaccess文件?:配置报错  如何用redis存储mysql数据和关联关系? 配置报错  分页接口传入的分页参数页码、页大小小于等于零 配置报错  奇怪的问题,列名无效:配置报错  Spring+hibernate+druid配置报错403.10 禁止访问:配置无效  elasticsearch安装配置:配置报错 jetty嵌入式开发配置问题:配置报错  采用配置的形式,spring mvc 该该怎么实现rest风格的URL?:配置报错  CentOS grub 误修改,如何修复?:配置报错  改了 #postfix# 的 message_size_limit 配置后无法收到邮件:配置报错  getAuthentication() 为何有时为空 有时不为空?空指针异常 配置报错  shiro 动态更新权限配置 配置报错  请问,图中所示的配置界面怎样用Qt实现? 配置报错  关于nginx安装的问题 配置报错  Nginx 配置中 worker_connections 65535 是怎么来的? 配置报错 注意,JFinal使用tomcat时,如果不设置DevMode=true的话会有缓存问题配置报错  更新ORACLE数据库DATE类型的字段时报错 配置报错  tomcat jvm 按照什么比例配置 好 配置报错  关于springboot热部署启动的问题 配置报错  spring 的配置信息 配置报错  bootstrap-treeview 2.1.0 的 uncheckNode 无效! 配置报错  请问一个可配置的web表格 要如何设计 配置报错  SpringCloud配置中心如何支持多个配置文件? 配置报错  Oracle 执行语句问题 配置报错  Apache + JK 如何配置?:配置报错  关于eclipse配置GTK:配置报错  spring-mybatis的多数据源配置 配置报错  uwsgi 配置不成功啊 求救求救:配置报错  Mysql 字符集utf8mb4设置无效 配置报错  Nginx无法轮询 是配置出错了吗:配置报错  hibernate的二级缓存配置报错,代码 配置报错  springboot配置utf8mb4不起作用 配置报错  spirngMVC的配置中view能不能同时配置jsp和html两种 配置报错  setOption对option.dataZoom的start和end好像无效 配置报错  ubuntu作为服务器为何在客户端浏览器不能正常显示视频(HTML5编写)? 配置报错  Dubbox Rest 接口Get请求时参数为对象的时候该如何配置 配置报错  centos 6.2 64位的lamp环境配置 配置报错  关于linux下php权限问题 配置报错  tomcat 7 在项目的/META-INF/context.xml配置数据源不起作用 配置报错  为什么appcan的文件夹下面只有jre,,而没有jdk??? 配置报错  MySQL Cluster的配置优化问题 配置报错  dwz的checkbox全选功能有时有效,有时无效,请问我应该怎么解决? 配置报错  shiro过滤配置 问题在哪 配置报错  spring4.2中如何配置html解析器 403.10 禁止访问:配置报错  eclipse cdt 编译中的一个问题 配置报错  正式环境上面tomcat配置参数修改 配置报错  Struts2整合Spring,Action配置报错,请问什么情况?403.10 禁止访问:配置无效 @OneToMany(mappedBy)的配置问题? 配置报错  关于javascript中callback函数的疑问 配置报错  jfinal关闭控制台输出信息配置该怎么配置? 配置报错  Spring Cache 在同一个类中调用缓存无效? 配置报错  jersey怎么配置log4j.properties 配置报错  Maven3的类冲突问题以及打包删除配置问题 配置报错  请教红薯,为什么onkeypress事件输入中文时不触发事件 配置报错  100元现金奖赏征求算法 热 配置报错  SpringMVC 4 + Hibernate4的Entity自动扫描配置问题? 配置报错  sql 的jdbc怎么配置 配置报错  tomcat配置虚拟目录后启动报错? 配置报错  intellij IDEA软件配置Tomcat的问题 配置报错  如何设置php全局代理? 配置报错  LNMPA,单独配置的问题 热 配置报错  Oracle数据库走索引问题 配置报错  Nexus 搭建私服 配置代理仓库不起效 配置报错  nginx配置网站子域名,该怎么配置??? 配置报错  apache配置多域名后,所有的网站无法打开.. 配置报错  求一个完美的跨域解决方案! 配置报错  AOP在spring的controller里无效的问题 配置报错 koala的防止重复提交要怎么配置:配置报错  配置完数据库后,直接跳转到首页,无法设定管理员:配置报错 Erlang的在Eclipse中的开发环境配置问题求解:配置报错  如何更好的管理系统配置信息 配置报错  关于jqGrid数据排序的问题:配置报错  phonegap push-消息推送实现 配置报错  nginx反向代理丢失端口怎么解决:配置报错  CKfinder上传图片问题:配置报错  SpringCache配置多个cacheManager的问题 配置报错  《Spring4+Hibernate4+proxool配置多数据源实现读写分离》:配置报错  jfinal使用druid怎么配置druid登录权限:配置报错  Resin4.0.24|配置多个应用各自启动独立 配置报错  Flume配置avro sink出现问题 配置报错  php,微信网页授权,配置多个授权文件到指定目录。:配置报错  springcloud获取不到consul刷新后个配置:配置报错  单个cookie的value能存多大的值呢?:配置报错  php打开word文档提示"因为没有打开的文档,所以这一命令无效" 配置报错 chrome有个奇怪的问题 配置报错  java SWT多线程问题 配置报错  logback中设置maxHistory属性无效? 配置报错  个推推送Android问题检测 :配置报错  JFinal关于静态资源的拦截:配置报错 Ehcache使用配置+硬编码实现缓存遇到的问题 配置报错  中文匹配汉字多次失败:配置报错  echache的一个配置的问题 配置报错  各种默认回车提交表单 配置报错  一级以下的节点的target无效。:配置报错  treenode.open无效 配置报错  Ehcache以JGroups方式配置集群的问题:配置报错  mysql分区问题后的效率问题:配置报错 adapter 使用 overridePendingTransition 无效:配置报错  新手配置Maven环境时 :配置报错  Jetty8怎么配置DataSource?在jetty-maven-plugin中:配置报错  win7下IIS配置PHP:配置报错  gcc安装后如何配置,才能使用:配置报错  Duplicate config file paths found:配置报错  Nutz的Ioc配置问题?:配置报错  重装了eclipse,maven出错了,求助:配置报错  如何将一个 mysql 风格的 sql 脚本转换为 oracle 导入的 sql 脚本:配置报错  eclipse报错:android sdk content loader:配置报错  怎么配置数据分析,机器学习的环境,有没有大佬给指点一下:配置报错  请问如何在Interceptor中获取配置(loadPropertyFile)呢?:配置报错  springMVC3.2+velocity1.7一般是怎么配置的呢:配置报错  nginx跳转配置问题:配置报错  请教关于建表的问题,希望大家多少能给个提示,谢谢~:配置报错  关于Druid配置问题:配置报错  JFinal.start()如何用非当前项目的工作目录作为部署目录?:配置报错  勿在 LogBack 的配置中使用相对路径:配置报错  路由配置configRoute出问题了 - 配置报错 thinker-md不支持表格么? -配置报错 RedisScheduler中层级关系setPriority无效? - 配置报错 jradius配置 - 配置报错 rhel 6 ldap server 的配置-配置报错 DWZ表单提交验证无效 - 配置报错 IBatis sqlMap resource配置路径问题-配置报错 网页视频播放使用流媒体应该怎么配置? - 配置报错 如何在AIX 6.1系统上安装 net-snmp 5.7.2,并配置使用 - 配置报错 配置工程的环境--error C2039: 'Packet' - 配置报错 微信公众账号服务器配置-配置报错 微信关注页菜单配置问题 - 配置报错 折线图data级itemStyle设置无效的问题。-配置报错 配置问题,登录不进去 - 配置报错 配置虚拟目录(Apache) - 配置报错 coreseek的同义词配置怎么无效啊?急急急!-配置报错 Ceph可以配置单副本吗 - 配置报错 javaweb和php环境配置问题 - 配置报错 使用eclipse Luna配置PHP servers,配置不正确显示“此程序无法显示网页-配置报错 playFrameWork的数据库在applicaiton.conf中配置 - 配置报错 Struts2整合Spring,Action配置报错,请问什么情况? - java报错 Symfony2 Demo配置失败 - 配置报错 Spring+hibernate+druid配置报错 - java报错
问问小秘 2020-06-11 13:18:25 6 浏览量 回答数 1

回答

iOS与安卓的主要区别在于1、两者运行机制不同:iOS采用的是沙盒运行机制,安卓采用的是虚拟机运行机制。2、两者后台制度不同:iOS中任何第三方程序都不能在后台运行;安卓中任何程序都能在后台运行,直到没有内存才会关闭。因此在进行应用开发的时候,开发者经常会遇到因为系统不同而产生问题。本文就为大家整理了云栖问答中有关安卓与iOS的问题,希望能帮助大家答疑解惑。 安卓技术解惑 oss 浏览器上传在android上报错https://yq.aliyun.com/ask/39428 移动推送,书写api接口,提示Your account is not enabled or in debt.这个是什么原因https://yq.aliyun.com/ask/39627 阿里云直播播放Android 上用 sdk 播放视频为黑白画质https://yq.aliyun.com/ask/39367 android中像IOS的NSDate timeIntervalSinceNow]效果一样的?https://yq.aliyun.com/ask/19053 Android 真的是 Gnu/Linux 發揚光大?是好是壞?https://yq.aliyun.com/ask/32668 netty服务端如何对苹果手机推送信息https://yq.aliyun.com/ask/32115 android保存淘宝触屏版页面到home时识别为web app?https://yq.aliyun.com/ask/29091 Android App在公司WiFi下访问部署在ECS的http、https API,经常连接超时https://yq.aliyun.com/ask/1603 Android 布局疑惑!!!https://yq.aliyun.com/ask/18362 关于android 请求服务器间断性的连接超时,会是什么原因?https://yq.aliyun.com/ask/15963 有多语言开发能力的适合找什么样的工作?https://yq.aliyun.com/ask/24499 在Android瀏覽器上,有什麼方法能讓background支持@2x顯示?https://yq.aliyun.com/ask/17837 android scrollView 如果有两层,里面那个就不能滚动了,ios好的https://yq.aliyun.com/ask/49168 Android 不支持DELETE,PUT请求https://yq.aliyun.com/ask/52716 为什么iOS可以展示Base64图片,而Android不行https://yq.aliyun.com/ask/49106 Modal.toast 部分安卓手机不行https://yq.aliyun.com/ask/52672 客户端日期插件显示异常,安卓手机无法正常显示https://yq.aliyun.com/ask/52507 有什么安卓软件能连接 Cent os 系统https://yq.aliyun.com/ask/51094 安卓机各种按钮点击没反应,要点很多下,不够灵敏https://yq.aliyun.com/ask/50762 HttpDns 如何接入安卓中https://yq.aliyun.com/ask/49737 安卓如何接入阿里云的httpdnshttps://yq.aliyun.com/ask/49712 安卓设备使用阿里云移动推送SDK的流程和原理是什么https://yq.aliyun.com/ask/49862 Android端不能播放上传的视频https://yq.aliyun.com/ask/51427 Android上调用taobao.trades.sold.get接口,传入use_has_next:true后报错https://yq.aliyun.com/ask/50054 安卓APP需要连接数据库适合购买阿里云的什么产品?https://yq.aliyun.com/ask/49748 安卓iconfont图标显示截断https://yq.aliyun.com/ask/49385 在云服务器里怎么使用安卓软件https://yq.aliyun.com/ask/49395 开发环境下安卓内建版最新千牛扫码错误https://yq.aliyun.com/ask/49191 怎么在搭建安卓移动端https://yq.aliyun.com/ask/52583 ECS上能不能装安卓模拟器https://yq.aliyun.com/ask/47642 安卓手机,qap debug的时候越用越卡,除非重新登陆千牛https://yq.aliyun.com/ask/51059 请问一下 这个云主机能运行安卓模拟器吗https://yq.aliyun.com/ask/44256 IOS答疑 iOS系统为什么比Android安全?https://yq.aliyun.com/ask/31538 iOS开发, 如何通过HTTP Post发送这个符号"&"到服务器?https://yq.aliyun.com/ask/36803 ios 怎么隐藏控件呢,就好比在android里的 visibilityhttps://yq.aliyun.com/ask/32518 如何在iOS上实现Android风格的Toasthttps://yq.aliyun.com/ask/30989 QAP页面在IOS上打开,完全不可用https://yq.aliyun.com/ask/52657 ios voip sip,使用第三方库sip库开发的应用,怎么保持在后台运行时,也能接听到来电https://yq.aliyun.com/ask/51937 ios千牛升级到5.9.3之后代码出现报错https://yq.aliyun.com/ask/51034 qap ios版本发布问题https://yq.aliyun.com/ask/49760 ios 消息跳转详情https://yq.aliyun.com/ask/49519 ios如何模拟post发送json数据.https://yq.aliyun.com/ask/32485 java转ios开发https://yq.aliyun.com/ask/32474 关于ios中ui的问题https://yq.aliyun.com/ask/31140 java程序猿转ios开发https://yq.aliyun.com/ask/32328 ios网络编程的学习步骤 学习方法 学习经验https://yq.aliyun.com/ask/32659 多人协作ios开发,使用什么代码托管服务?https://yq.aliyun.com/ask/32545 iOS在未来会消亡吗?苹果是否会重蹈覆辙?https://yq.aliyun.com/ask/32032 IOS语音问题https://yq.aliyun.com/ask/32147 IOS如何将复杂的json数据存储在沙盒中https://yq.aliyun.com/ask/32803 cordova ios下 链接跳出https://yq.aliyun.com/ask/30998 ios中怎么打开一个新的界面https://yq.aliyun.com/ask/32652 有谁可以分享一下IOS安全机制的内容,比如权限控制,应用的安全控制等https://yq.aliyun.com/ask/32621 javaer做ios看什么书比较好。https://yq.aliyun.com/ask/31082 在ios的Master-Details视图中删除Edit和+按钮https://yq.aliyun.com/ask/19013 在ios中如何获取view的对象实例https://yq.aliyun.com/ask/17134 移动端Web开发,怎么把ios下 input[type="text"]的圆角变成直角?https://yq.aliyun.com/ask/22180 jQuery触摸事件在ios中无效https://yq.aliyun.com/ask/17144 关于IOS swift 字符串解析成NSArry类型https://yq.aliyun.com/ask/13042 请问IOS怎么将复杂的json数据存储在沙盒中https://yq.aliyun.com/ask/14206 关于iPhone-带选项的警报视图https://yq.aliyun.com/ask/15273 消息服务mns为什么没提供ios sdk?https://yq.aliyun.com/ask/44386 安卓与IOS那些事 视频直播推流使用手机SDK如何只推音频https://yq.aliyun.com/ask/49973 为什么一个URL用Android可以打开,用iOS打不开https://yq.aliyun.com/ask/49110 移动端HTTPS(含SNI)业务场景“IP直连”方案https://yq.aliyun.com/ask/46387 手机直播平台服务器,数据库,带宽配置https://yq.aliyun.com/ask/45775 ui被销毁时访问网络的线程需要取消么?https://yq.aliyun.com/ask/12826 请问iOS和Android系统中的微信分身版软件是怎么实现的?https://yq.aliyun.com/ask/9908 移动客户端本地加密方案https://yq.aliyun.com/ask/28189 移动端WebApp开发,如何实现状态栏沉浸式效果?https://yq.aliyun.com/ask/30008 请问IOS&Android开发:怎么从大量未加载的数据中加载一定量的数据到列表中https://yq.aliyun.com/ask/14218 不同设备间 font-size 自适应?https://yq.aliyun.com/ask/24283 mongodb 如何进行模糊分组查询?https://yq.aliyun.com/ask/8415 关于 APP用token实现保持登陆状态!https://yq.aliyun.com/ask/9669 如何在电商项目系统中使用缓存?https://yq.aliyun.com/ask/11878 vuejs angular reactjs 选哪个https://yq.aliyun.com/ask/12519 关于公司让写客户端首页接口,不明白什么意思?https://yq.aliyun.com/ask/15688 阿里云直播https://yq.aliyun.com/ask/10520 input标签在手机上各种奇怪事情https://yq.aliyun.com/ask/18578 一个web app为了适应不同设备的屏幕是不是需要不同的css文件https://yq.aliyun.com/ask/17976 angularjs 双向数据绑定问题https://yq.aliyun.com/ask/11981 移动推送与消息队列有什么区别?https://yq.aliyun.com/ask/1339 关于移动客户端本地加密方案https://yq.aliyun.com/ask/13084 手机前端开发https://yq.aliyun.com/ask/27965 在width值与浏览器宽度是固定比例的情况下,css怎么设置div的高恒等于宽?https://yq.aliyun.com/ask/26551 请问手机端的输入法是怎么把输入的文本传入网页输入框的?https://yq.aliyun.com/ask/9992 求分析项目需求(Android)https://yq.aliyun.com/ask/23703 微信内置浏览器问题https://yq.aliyun.com/ask/28229 APP用token实现保持登陆状态https://yq.aliyun.com/ask/25675 游戏跨三大移动平台运行的实现机制是怎样的https://yq.aliyun.com/ask/28191 给ios推送通知,Android会收到https://yq.aliyun.com/ask/2480 APP中实现IM功能,有哪些现成的方案可以直接集成使用?https://yq.aliyun.com/ask/32180 移动开发疑问,有经验的大神帮看一下https://yq.aliyun.com/ask/32607 多移动平台开发如何做技术选型https://yq.aliyun.com/ask/32666 怎样优化hybrid apphttps://yq.aliyun.com/ask/32146 MQ,可以用在移动端吗https://yq.aliyun.com/ask/3026 在线生成app的原理是什么?[https://yq.aliyun.com/ask/32158] APNs 推送原理及问题https://yq.aliyun.com/ask/32143 app端和java后台检证问题https://yq.aliyun.com/ask/31196 AFNetWorking提交中文问题https://yq.aliyun.com/ask/32126 移动端 、 web端, 大家对这两个未来的畅想是怎么样的?https://yq.aliyun.com/ask/31909 native与html交互有哪些办法?https://yq.aliyun.com/ask/31999 移动客户端微博应用的下拉更新和载入更多的业务逻辑是什么?https://yq.aliyun.com/ask/32314 ThinkPhp+MySQL 表情问题,iOS、Android表情https://yq.aliyun.com/ask/3930 给cocos2dx引擎做个界面工具,请体验https://yq.aliyun.com/ask/31085 街旁,玩转四方这样的LBS手机应用主要用到哪些技术?https://yq.aliyun.com/ask/32664 libgdx做非游戏应用https://yq.aliyun.com/ask/31573 困惑:手机客户端,到底是开发原生程序还是用浏览器加载网页https://yq.aliyun.com/ask/32179 能不能推荐一些用户体验做的比较好的iOS/Android应用?https://yq.aliyun.com/ask/28174 手机在功能方面需要做那些测试(互联网行业)https://yq.aliyun.com/ask/32424 移动app开发 和 网页适配移动端 有多大区别?https://yq.aliyun.com/ask/31505 移动开发皮肤如何动态下载切换https://yq.aliyun.com/ask/31804 大家有做跨平台的移动应用的没?https://yq.aliyun.com/ask/32145 有关于ios 和android的录音格式的问题https://yq.aliyun.com/ask/14171 Android和ios方法如何被js主动访问,并返回数据 ?https://yq.aliyun.com/ask/8771 请问js怎么主动访问Android和ios方法,并返回数据?https://yq.aliyun.com/ask/9890 声波通信(声波传输)在iOS、Android中的应用场景深入分析(含部分声波通信源代码)https://yq.aliyun.com/ask/31415 推荐一个数据文件同步框架(客户端有win/mac/ios/android)https://yq.aliyun.com/ask/32300 支付宝是否支持手机客户端(ios,android)的第三方登陆https://yq.aliyun.com/ask/31622 请问Win10支持android和ios的原理是什么?https://yq.aliyun.com/ask/13154 js如何主动访问Android和ios方法,并返回数据https://yq.aliyun.com/ask/21783 做一个有会员管理后台,带权限分配,app(包括android,ios)可以登陆,然后根据权限拍照、上传图片、根据条件查看图片的项目大概多少钱?https://yq.aliyun.com/ask/31084 类似搜狐快站原理 在线生成ios android什么原理跪求指点https://yq.aliyun.com/ask/32173 直接生成Android和IOS客户端https://yq.aliyun.com/ask/32364 mqtt可以介入Android或iOS端的移动设备吗?https://yq.aliyun.com/ask/41792 使用Adobe Air开发Android ios应用靠谱吗?为什么?https://yq.aliyun.com/ask/32487 js怎么跟Android和ios进行交互呢?https://yq.aliyun.com/ask/37106 js怎么跟Android和ios进行交互呢?https://yq.aliyun.com/ask/37106 .net可以开发Android和iOS了吗?https://yq.aliyun.com/ask/32242 Android / iOS 需要 NoSQL 吗?https://yq.aliyun.com/ask/32313 Android & IOS 开发语言 代码编辑器 框架 跨平台工具 软件环境https://yq.aliyun.com/ask/31112 java 怎么识别app客户端的系统是android还是IOShttps://yq.aliyun.com/ask/31627 新手求教:求一个android,ios,java服务器都可以解析的jsonhttps://yq.aliyun.com/ask/33768 请问下,有没有一个适合android,ios使用的开源搜索引擎能够替代sqlite的https://yq.aliyun.com/ask/32423 android 和 ios 使用webservice接口和普通的post,get接口有什么优略势https://yq.aliyun.com/ask/31903 android与ios不同平台下的des、base64加密解密问题https://yq.aliyun.com/ask/32265 Win10支持android和ios的原理是什么?https://yq.aliyun.com/ask/29751 可以用css或者sass判断设备是android还是ios么?https://yq.aliyun.com/ask/29131 为手机应用程序(android、iOS、windowsPhone)添加超声波通信技术https://yq.aliyun.com/ask/31411 Android 和 iOS 实体机和模拟器的差异https://yq.aliyun.com/ask/31256 如何让一个APP下载链接的二维码同时支持iOS和Android市场?https://yq.aliyun.com/ask/36332 Android开发和IOS开发,哪个更有前途?https://yq.aliyun.com/ask/32259 请问android和ios开发app直接使用网页吗?https://yq.aliyun.com/ask/32222 怎么通过web端动态打包生成android、ios端软件https://yq.aliyun.com/ask/32160 加入Android还是IOS的开发行列,那个更好?https://yq.aliyun.com/ask/31081 Android app和IOS app 更新机制的区别https://yq.aliyun.com/ask/31606 学Android和iOS推荐看什么书?https://yq.aliyun.com/ask/19120 求图像识别外包(iOS、Android)https://yq.aliyun.com/ask/31581
yq传送门 2019-12-01 20:14:48 27317 浏览量 回答数 26

回答

2014年12月第2周 1)SLB植入cookie和SLB重写cookie有什么区别? cookie植入,表示直接由SLB系统来分配和管理对客户端进行的cookie植入操作,用户在进行配置时 需要指定会话保持的超时时间; cookie重写,表示SLB系统会根据用户自定义cookie名称来分配和管理对客户端进行的cookie植入操 作,便于用户识别和区分自定义的cookie名称 http://help.aliyun.com/doc/view/13510025.html?spm=0.0.0.0.vwbsGF 2)SLB有没有对外提供API接口,因为我想做到用程序自动去控制SLB的操作? SLB api您可以参考http://help.aliyun.com/view/13621674.html? spm=5176.7114037.1996646101.1.9RoTFM&pos=1 3)使用slb怎么实现数据的单向同步和双向同步? 单向同步可以使用rsync,双向同步的话rsync需要借用别的服务来实现,如unison+inotify。 4)slb的vip是否可以实现远程登录? slb 的vip无法实现远程登录。 5)slb的带宽是所有后端ECS服务器的带宽总和吗? 不是,使您购买的slb实例带宽。 6)slb健康检查机制是什么? 用户开启健康检查功能后,当后端某个ECS健康检查出现问题时会将请求转发到其他健康检查正常的 ECS上,而当该ECS恢复正常运行时,SLB会将其自动恢复到对外或对内的服务中。 针对7层(HTTP协议)服务,SLB系统的健康检查机制为:默认通过SLB的后端系统来向该ECS应用服务 器配置的缺省首页发起http head请求(缺省通过在服务监听配置中指定的后端ECS端口进行访问), 返回200 OK后将视为后端ECS运行正常,否则视为后端ECS运行异常。如果用户用来进行健康检查的页 面并不是应用服务器的缺省首页,那么需要用户指定相应的URI。如果用户对http head请求限定了 host字段的参数,那么需要用户指定相应的URL。用户也可以通过设定健康检查的频率、健康阈值和 不健康阈值来更好的控制健康检查功能。 针对4层(TCP协议)服务,SLB系统的健康检查机制为:默认通过在服务监听配置中指定的后端ECS端 口发起访问请求,如果端口访问正常则视为后端ECS运行正常,否则视为后端ECS运行异常。 当用户后端ECS健康检查异常后,SLB系统会将该ECS的转发权重设置为0,从而确保新的连接不会再被 转发到该ECS上,而已经建立的连接的请求却不会被直接断掉。 针对可能引起健康检查异常的排查思路点击这里查看。 关于健康检查的参数配置,提供如下参考建议: 响应超时时间:5秒 健康检查间隔:2秒 不健康阈值:3 健康阈值:3 7)权重设置为0怎么办? 权重为0的服务器将无法提供服务。 8)健康检查异常的排查思路? 参考http://help.aliyun.com/doc/view/13510029.html?spm=0.0.0.0.Oa9Ezv ------------------------- 12月份第3周1)轮询与最小连接数方式的区别是什么?当前SLB支持轮询和最小连接数2种模式的转发规则。“轮询模式”会将外部和内部的访问请求依序分发给后端ECS进行处理,而“最小连接数模式”会将外部和内部的访问请求分发给当前连接数最小的一台后端ECS进行处理。2)SLB支持redis的主备?目前我们的SLB不支持主备模式(冷备),只支持"轮询"和"最小连接数"两种负载模式。关于SLB的原理您可以参阅如下博文:http://blog.aliyun.com/149 基于ECS的redis搭建,您可以参阅论坛中其它用户的分享案例:http://bbs.aliyun.com/read/161389.html3)负载均衡的多台服务器之间文件会不会自动同步?slb是不会自动同步的,需要您自行配置。4)四层和七层检查的区别是什么?如果是4层(TCP)配置,健康检查只是简单的TCP握手,不会真正去访问您的业务。但对于7层(HTTP)配置,会发HTTP请求(类似于正常访问),并根据返回状态码判断服务状态(2XX表示服务正常)。5)我有多个slb,之前一个slb由于被攻击被黑洞给屏蔽了外部请求,是否可以在slb 并屏蔽后 能够自动将请求分发到另外的slb?由于攻击导致屏蔽外部请求的话,slb没有自动切换的方法的。6)目前slb是否可以设置黑名单?暂不支持。7)我的slb实例控制台显示是停止,为什么?需要给监听的端口设置带宽才能正常。  8)我使用了 SLB那么ESC 需要购买带宽吗?不需要的。但如需要管理ECS,则可购买少些的带宽如1M来管理。9)slb变更计费方式需要多久才能生效?变更和计费将在第二日零点后生效。10)私网SLB的使用,是如何收费的呢?私网slb是不收取费用的。 ------------------------- 12月第4周1)最近用slb后打开网页老出现503 和504错误?一般都是从ECS获取站点信息等异常导致的。您首先先确保源站都可以正常的访问。2)slb检查时突然发现SLB监听错误,怎么回事?配置的健康检查的域名为空,检查的路径是/index.html,目前查看服务器中只有站点c绑定了空主机头,且站点目录下有index.html,而此站点是停止状态,现已帮您启用,查看服务器的健康检查状态已经正常。3)我想使用slb搭建一个负载均衡,后端使用windows服务器,想咨询一下后端服务器是否需要进行什么特别配置呢?另外使用了slb后,后端还能否得到用户的真实IP地址呢,要不要进行什么特殊配置才可以得到后端用户的真实IP。后端服务器的操作系统和web环境最好保持一致,硬件配置上没有什么特别的,4层tcp是可以直接获得前端用户访问的真实地址的,7层http需要在后端web服务端设置一下,参考http://help.aliyun.com/view/13502961.html?spm=5176.7114037.1996646101.1.oRpnOM&pos=14)slb支持https吗?slb您可以通过TCP协议配置443端口的方式来实现,但是安全证书需要保存在您的后端ECS上。5)健康检查后续是否提供多个域名?健康检查只支持一个域名。6)我想关闭负载均衡的健康检查,请问如何配置?4层tcp是无法关闭健康检查的,7层http可以在控制台关闭。健康检查是不会消耗您服务器的资源的,因为slb都是通过内网ip来进行健康检查。7)如何在BLS上 限制单个IP 禁止访问 我的网站呢?SLB暂时不支持设置屏蔽用户端IP。 ------------------------- Re:Re负载均衡SLB常见咨询问题(持续连载) 引用第2楼517449116于2014-12-17 15:54发表的 Re负载均衡SLB常见咨询问题(持续连载) : 如果开启健康检查,健康检查异常的话,是不是就不会给这个异常的ECS分发? [url=http://bbs.aliyun.com/job.php?action=topost&tid=188736&pid=596806][/url] 异常的话不会在分发。 ------------------------- 2015年1月第1周1)有2台ECS起名叫A和B做SLB,A权重设的100 B权重设的0.请问.当A死机时,SLB是否会转到权重是0的B上?如果有一台设置为0,永远都不会有请求转发到此服务器上,即使权重100的宕机也不会转发到0权重的。2)会话保持的选择?开启会话保持功能后,SLB会把来自同一客户端的访问请求分发到同一台后端ECS上进行处理。针对7层(HTTP协议)服务,SLB系统是基于cookie的会话保持。针对4层(TCP协议)服务,SLB系统是基于IP地址的会话保持。3)用nagios或zabbix监控网络带宽,是否可以监控 slb的流量?nagios或zabbix,cacti是要要被监控端安装snmp或者相关agent ,slb不支持安装这些,所以无法通过这条监控软件进行监控。您可以在slb的控制台里面进行查看流量等相关信息。4)用了负载均衡后升级带宽,是不是只用在负载上面升级就可以了,ECS是不是不用在升级了?SLB与后端服务器是经过内网通信,所以如果业务量增加,您对SLB的带宽调整就行,不需要对服务器ECS进行带宽的升级。 ------------------------- 2015年1月第2周 1)SLB到期之后,会对SLB有关联的云主机怎么处理?云主机还没到期的前提下  我想把网站域名解析到SLB上 如果SLB到期了 会影响到我的网站服务么? 云服务器是不会有什么影响的,会自动又变成单独的云服务器可以供您使用的。但是如果您的域名是解析到SLB上,那么会影响到您的站点访问的。服务器上不会有其他的问题感谢您的支持。 2)当SLB 状态为停止的时候 还计算费用吗?停止后公网slb会收取实例费用。SLB价格总览参考:http://help.aliyun.com/view/11108234_13502923.html?spm=0.0.0.0.kBLsVA 3)做了SLB负载均衡,四层和7层负载均衡是否都走slb带宽? 都走slb带宽。 4)我想 移除 slb下的ecs(用作其他用途),请问在移除的时候是否会影响被负载到这台 ecs上的服务的使用 ,也是说slb这是是怎么处理的? 您可以将要移除的主机的权重更改为0 ,这样默认就不会在分发到权重为0的主机上,这个时候您可以移除该主机。但要确保您的另外一台服务器可以承受所有的访问。 5)SLB实例如何释放? 您需要登录管理控制台点击负载均衡。查询您之前创建的实例在哪个节点下,然后释放您的实例。 6)SLB按照小时的带宽计费, 是否需要每小时调整?比如我可否按照一个比较高的上限, 比如3G,然后每个小时按照该小时的峰值进行独立计费呢?   在一个自然日内,限制用户变更计费方式的次数为1次,变更计费方式将在第二日零点后生效;比如用户在今天5月5日的10:00提交了变更计费方式,那么该变配申请将在明天5月6日00:00后生效。http://help.aliyun.com/view/13502923.html?spm=5176.7114037.1996646101.3.67L5dm&pos=2;SLB目前最大带宽是1000Mbps 7)SLB可以限制每个ip的访问频率吗?(工单1F684MN)slb不支持这样配置的。 8)为什么我设置SLB健康检查间隔为5S,但却每秒都有很多请求?因为用于健康检查的服务ip不止一个,每秒中都会有不同的内网ip进行健康检查,健康检查是通过内网方式,不会消耗您后端服务器的资源,您可以将健康检查间隔阈值跳大些,这样监测频率会降低很多。 ------------------------- Re:负载均衡SLB常见咨询问题(持续连载至2015年1月第3周) 2015年1月第3周 1.发现很多100.97.0.0/16 的ip段扫描,给我服务器带来很大压力,怎么办? 100.97.0.0/16 是我们slb的健康检查服务ip段,如果给服务器带来较大压力,请调整健康检查的设置;健康检查的话 1)调低检查频率 2)设置检查静态文件,而不是默认首页或者动态文件 3)设置一个不记录日志的virtualhost,专门用于健康检查。 2)SLB里的带宽 和后面对应服务器的带宽有什么关联关系?比如SLB我设置了带宽为10M, 但是我后 面2台服务器购买的带宽都只有2M, 这种情况带宽以哪个为准? 如果您设置的是常规7层slb负载均衡,那么网站访问所使用的带宽,都将通过slb而不需要消耗云服 务器的带宽,但是云服务器本身的系统更新,以及您更新网站等等也是需要带宽的,因此您保留2M 即可。 3)采用流量计费方式的话带宽是否没有限制? SLB按流量计费最大的带宽是1G。 4)请问我如何获得一个外网SLB期所对应的内网IP呢?比如现在我有一个外网SLB下挂了一个ECS, 而ECS的iptables里我想做一些配置,针对来自于这个SLB的请求做一个判断,我需要知道这个外网 SLB的内网IP。 目前SLB与后端通过如下地址段进行交互: 10.158.0.0/16 10.159.0.0/16 100.97.0.0/16 您可以针对上述地址段做相关配置。 5)如何确保SLB后端的多台ECS之间的数据同步呢? 目前,有很多类似的工具可以实现服务器之间的数据同步,比如:rsync。具体使用及选择,还请通 过其他途径获得更多的介绍资料及指导信息。您也可以将您的ECS配置成无状态的应用服务器,而数 据和文件统一存放在RDS和OSS服务上。 ------------------------- 2015年1月第4周1.为什么我的SLB实例突然消失了?请检查您的SLB服务是否设置了自动释放时间导致。2.我想关掉负载均衡,怎么操作?您直接登录到阿里云管理控制台——slb负载均衡——实例中查询创建的slb服务,后方有“释放”的按钮,您直接释放即可。3. 我现在有两个阿里账号里面都有ECS,我能不能在一个slb里面配置不同阿里云账户下的ECS?目前只能将同一账户下的服务器添加到SLB中,无法跨账户添加。4.ECS做负载均衡需要用户做额外的配置吗?可以参考http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5973987。5. 云服务器上做数据库负载均衡如何实现,需要购买什么产品 ?文件服务器能否做负载均衡,比如10台文件服务器,包括读写这种的  ?1)数据库集群,用slb理论上是可以做的,但是如果您需要集群级别的数据库,建议使用我们的RDS。2)文件服务器也可以负载均衡,使用slb在均衡,保持会话,但是有一个问题是后端文件同步的,需要您自行同步,如 rsync。6.看SLB的说明是支持ddos的防护的,请问下,SLB的防护的峰值是多少,超过峰值黑洞时间是多少?这个与slb所在地区有关,和ecs的防御阀值是一样的,黑洞时间也是2.5小时。7. slb第七层是基于haproxy还是nginx还是tengine实现的?使用tengine实现的。8.7层和4层 SLB的超时时间是多少?7层超时时间是60s,4层超时时间是900s。9.负载均衡健康检查请求数量太多,怎么回事?因为slb前端机器是一组机器,所以健康检查请求较多,请您不要担心,集群内的每台服务都会对您的健康按照您设定的频率去做健康检查:您可以按照上述方法去优化您的健康检查项,看似请求量很大,但是对您资源消耗很少的,有2个建议给您:1)扩大健康检查的频率2)将检查页面配置为静态页面。这样请求消耗的资源会节省。10. SLB配置中的最小连接数是基于什么样判断?SLB会自动判断 当前ECS 的established 来判断是否转发。 ------------------------- 2015年2月第1周1)我想了解下SLB按流量计费是不是每小时需要扣0.02元?按量付费,国内节点配置费用是按照0.02/小时。流量单独计费。按带宽计费:采取按小时计费,以日结算(运行未满一日,按照当日实际使用小时数*当日开通的最高带宽的天价格/24)。如果您使用SLB实例的时间不足一小时,按一小时收费。2)请问健康检查发的什么请求? head 还是 get?head请求。3)SLB最大连接数如何来设置?目前暂不支持设置最大连接数限制。4)SLB 后端有两个服务器HA1和HA2,为什么我将HA1的权重设置成0,SLB的健康检查就有告警呢?slb四层的话,只要权重设置为0,那么健康检查就是显示异常。 ------------------------- 2015年2月第3周1)负载均衡SLB的实例防攻击防御是多少?我们有云盾的防御黑洞策略,比如以杭州节点的slb,其最高防御的流量阈值为5G,当最大流量超过5G,您的slb vip则会被加入到黑洞中,触发黑洞会使ecs或者slb正常使用中断2.5小时,这个您可以通过云盾管理控制台查看到这个说明。2) 我其他机房的服务器能添加到你们的负载均衡SLB中吗?不可以的,slb使用的是内网和后端的ECS互联,无法直接添加非阿里云主机的服务器,且slb后端的ecs需要使用同一节点的主机。3)负载均衡服务支持的最大负载均衡实例数目多少?总体峰值可支持每秒新建链接数大约多少?SLB对于后端服务器的数目是没有限制的。对于总体峰值每秒新建连接数是没有限制的。但是因为SLB前端是云盾服务,所以最大值取决于云盾中您配置的请求数。您可以查看云盾看到具体的值。4)SLB按量计费为什么需要设置带宽峰值?如果不设置带宽峰值,遇到攻击等情况,可能流量打的非常高的,带宽流量峰值您可以在slb控制台设置。5)在SLB控制面板看到的流入流量,要比后端服务器的eth0的income流量小很多, 请问slb的流入流量是否应该等于后端服务器的内网网卡入流量吗?不等于的,后端的eth0包括了slb的流量,还有其他的流量,包括ecs直接的内网通信等。slb只做转发,不处理请求的,slb通过内网转发到ecs。6)SLB中的月账单 是指我们拥有所有的 SLB 实例的计费呢,还是单独的某个 SLB 的计费?月账单是指您不同类型产品,截止当前日期内月内消费计费额度的,是所有SLB产品的。您也可以通过账单明细进行查询具体信息的。 ------------------------- 2014年2月第4周1)10.159.63.55,这个内网ip,总是恶意访问我们网站?SLB系统除了会通过系统服务器的内网IP将来自外部的访问请求转到后端ECS上之外,还会对ECS进行健康检查(前提是您已经开启了这一功能)和对您的SLB服务进行可用性监控,这些访问的来源都是由SLB系统发起的,具体包含的IP地址段是:杭州、青岛、北京、深圳节点SLB系统IP地址段:10.159.0.0/16,10.158.0.0/16和100.97.0.0/16,为了确保您对外服务的可用性,请确保对上述地址的访问配置放行规则。2)slb计费方式变更需要多久,业务会受到影响么?变更计费方式与变更配置说明1、支持用户在按使用流量和按公网带宽2种计费方式间切换;2、支持按固定带宽方式计费的用户灵活变更带宽配置;3、在一个自然日内,限制用户变更计费方式的次数为1次,变更计费方式将在第二日零点后生效;比如:用户在今天5月5日的10:00提交了变更计费方式,那么该变配申请将在明天5月6日00:00后生效。4、按固定带宽方式计费变更带宽配置即时生效,带宽计费取自然日内用户开通的最高带宽。5、对客户业务不会造成影响;3)负载均衡能将我的外部非阿里云服务器和ECS服务器放到一块?目前负载均衡SLB仅支持阿里云ECS,无法支持外部非阿里云服务器。4)slb是否有连接数限制,需要大量终端一直与平台保持长连接,阿里云能提多少长连接?SLB没有并发连接数限制的,slb是转发请求不做处理,实际连接数还要跟您后端的处理能力有关。 ------------------------- 2015年3月第1周1)调整权重会对SLB已经有的正常连接有影响吗?目前调整权重会对调整权重的这台主机已有的连接产生影响,会有连接卡主,卡住时间由健康检查配置的时间决定。2)slb是否支持UDP协议?目前SLB暂不支持UDP协议。3)现在TCP四层负载均衡的出口带宽受ECS机器的出口带宽限制吗?slb和ECS之间走的是内网流量,带宽是不受限制的。4)如果没有外网ip, 是否可以用slb的4层转发 ?没有带宽4层SLB也是可以使用的。 ------------------------- Re:负载均衡SLB常见咨询问题(持续连载至2015年3月第1周) 2015年3月第2周 1)SLB变更计费方式并支付成功后无法添加配置? SLB在一个自然日内,限制用户变更计费方式的次数为1次,变更计费方式将在第二日零点后生效查看您今天变更过一 次计费方式,开始时间:2015-03-09 00:00:00。原按使用流量计费,在2015-03-09 00:00:00后变更为按固定带宽计 费,带宽峰值: 2Mbps。同时在您新的计费方式生效之前,您是无法对该SLB进行修改配置的。 2)我的账户怎么欠费¥7.88,这是怎么回事? 查看您有使用负载均衡slb业务,在slb产品的账单欠费,请您登陆用户中心-消费记录-账单明细中查看 记录。 3)如何屏蔽健康检查探测的日志记录? 关闭或者屏蔽对test.php访问日志的方式: 在站点配置文件中添加内容: location ~ /test.php { access_log off; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } 注: 1、对test.php的location必须要放置在对php|php5处理前,否则会因为先被进行全局匹配导致无法生效。 2、还可以用另一种方案实现: a、在后端服务器中单独为用于健康检查的页面建立一个站点; b、关闭这个站点的日志记录: location ~ .*\.(php|php5)?$ { access_log off; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi.conf; } 3、如果检查页面是其他格式,比如test.html,可以采用如下方式进行屏蔽: location ~ /test.html { access_log off; } 4.我想问下SLB的固定带宽,10M是不是上行和下行最大都能达到10M? 固定带宽指的是下行带宽最大达到10M,上行带宽没有限制。上行带宽指的是SLB的入流量(上行),就是进入SLB的 流量。带宽指的是SLB的出流量(下行),就是SLB对外发生给客户端的流量。 5.一般配置SLB的时候有个权重0到100,是如何选择数值的? 权重需要您根据后端机器的配置进行选择比如AB两台机器性能一致就分别设置50,这样请求就会在这两台机器上轮询 ,不同权重决定请求分发的分配。 ------------------------- 2015年3月第3周1)公网的SLB和ECS之间的流量是否收费?不收费。2) 想做SLB+两台ECS,附件OSS,程序Discuz。但是不知道如何实现?slb要求后端的两台ecs数据是一致的,为了保持数据的一致性,建议共享存数和数据,静态文件放置到oss里,数据库文件走自己搭建的主从或者,连接同一台rds。3)按流量计算是否需要设置峰值?按流量计费不需要设置峰值的。4)如何建一个子帐号来管理负载均衡SLB?子账户无法管理负载均衡服务。
qilu 2019-12-02 01:15:34 0 浏览量 回答数 0

回答

1.什么是struts2?struts的工作原理? struts2:1)经典的  mvc (Model  View  Controller) 框架                              Controller : 核心控制器+Action  *Struts2的核心控制器是StrutsPrepareAndExecuteFilter  View:struts2标签库 + ognl  *ognl:对象图形导航语言。 2)strut2一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。3)核心控制器StrutsPrepareAndExecuteFilter、业务控制器Action和用户实现的企业业务逻辑组件。a.核心控制器StrutsPrepareAndExecuteFilter是Struts 2框架的基础,包含了框架内部的控制流程和处理机制。(2.1前 FilterDispatcher   2.1后  StrutsPrepareAndExecuteFilter)b.业务控制器Action和业务逻辑组件是需要用户来自己实现的。c.用户在开发Action和业务逻辑组件的同时,还需要编写相关的配置文件,供核心控制器StrutsPrepareAndExecuteFilter来使用。工作原理:   1)浏览器发送请求;   2)核心控制器StrutsPrepareAndExecuteFilter根据请求决定调用合适的Action;   3)WebWork的拦截器链自动对请求进行处理;   4)回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种数据库操作。   5)Action的execute方法处理结果信息将被输出到浏览器中。工作流程:  1、客户端浏览器发出HTTP请求。2、根据web.xml配置,该请求被StrutsPrepareAndExecuteFilter接收。3、根据struts.xml配置,找到需要调用的Action类和方法, 并通过IoC方式,将值注入给Aciton。4、Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证。5、Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面。6、返回HTTP响应到客户端浏览器。简述 Struts2 的工作流程?1)请求发送给 StrutsPrepareAndExecuteFilter;2)StrutsPrepareAndExecuteFilter 判定该请求是否是一个 Struts2 请求;3)若该请求是一个 Struts2 请求,则 StrutsPrepareAndExecuteFilter把请求的处理交给 ActionProxy;4)ActionProxy 创建一个 ActionInvocation 的实例,并进行初始化;5)ActionInvocation 实例在调用 Action 的过程前后,涉及到相关拦截器(Intercepter)的调用;6) Action 执行完毕,ActionInvocation 负责根据 struts.xml 中的配置;找到对应的返回结果。调用结果的 execute 方法,渲染结果;7)执行各个拦截器 invocation.invoke() 之后的代码;8)把结果发送到客户端。2.struts2的作用?1)struts2包含一个controller servlet,能将用户的请求发送到相应的Action对象;2)struts2有JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用;3)struts2提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息 。3.struts2的优缺点?优点:1) 实现MVC模式,结构清晰;2) 有丰富的tag可以用 ,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率;3) 使用 OGNL: OGNL 可以快捷的访问值栈中的数据、调用值栈中对象的方法;4) 拦截器: Struts2 的拦截器是一个 Action 级别的 AOP, Struts2 中的许多特性都是通过拦截器来实现的, 例如异常处理,文件上传,验证等;  缺点:1)转到展示层时,需要配置forward,当转到展示层比较多时,就需要配置多个struts文件,比较麻烦。2)Struts 的Action必需是线程安全同步方式,它仅仅允许一个实例去处理所有的请求。3)测试不方便.4)对Servlet的依赖性过强.5)对Action执行的控制困难.6)大量标签书写起来比较复杂。4.struts2获取表单数据的方法有哪些?1)通过(字段驱动)属性驱动方式:直接在Action里定义各种Java基本类型的字段(属性),使这些字段与表单数据相对应,并利用这些字段进行数据传递。   Action直接通过get、set获取;2)通过模型驱动方式:使用单独的JavaBean(对象)模型进行数据传递。   必须实现ModelDriven接口,Action必须实现getModel()方法;5. Struts2提供了几个标签库?都是什么标签库?  1)html、bean、logic、template和nested2)html标签: 用来创建能够和Struts 框架和其他相应的HTML 标签交互的HTML; Bean标签:在访问JavaBeans 及其属性,以及定义一个新的bean; Logic标签:管理条件产生的输出和对象集产生的循环; Template标签 Nested标签:增强对其他的Struts 标签的嵌套使用的能力。6. strust的Action是不是线程安全的?如果不是有什么方式可以保证Action的线程安全?答:不是线程安全的,只要不申明类变量就可以保证线程安全。因为只存在一个Action类实例,所有线程会共享类变量。7. update()和saveOrUpdate()的区别?1)update()和saveOrUpdate()是用来对跨Session的PO进行状态管理的。2)update()方法操作的对象必须是持久化了的对象。saveOrUpdate()方法操作的对象既可以是持久化了的,也可以是没有持久化的对象。如果是持久化了的对象调用saveOrUpdate()则会更新数据库中的对象;如果是未持久化的对象使用此方法,则save到数据库中。8.拦截器的默认引用规则?1)首先自动引用本包默认的拦截器(栈);2)本包未定义默认的拦截器(栈),将引用父包的默认拦截器(栈);3)如果父包也未定义默认拦截器(栈),则不引用任何拦截器(栈)9.struts2的默认结果类型?  1)dispatcher:默认结果类型,用来呈现JSP页面;2)chain:将action和另外一个action链接起来;3)freemarker:呈现Freemarker模板;4)httpheader:返回一个已配置好的HTTP头信息响应;5)redirect:将用户重定向到一个已配置好的URL;6)redirectAction:将用户重定向到一个已定义好的action;7)stream:将原始数据作为流传递回浏览器端;8)velocity:呈现Velocity模板;9)xslt:呈现XML到浏览器;10)plaintext:返回普通文本内容。10.struts2的拦截器?  a.exception  b.fileUpload  c.il8n  d.modelDriven  e.params  f.prepare  g.token  h.tokenSession  i.validation11.struts2产生表单重复提交的原因?struts2如何防止表单重复提交?  原因:  1)服务器处理时间久.  2)forward跳转引起的重复提交.  措施:  1)使用struts2中的token拦截器或者tokenSession拦截器;  2) 服务器内部使用重定向,配置文件中result标签的type值设为redirectAction。 12. Struts2 拦截器 和 过滤器 的区别?  1)过滤器依赖于Servlet 容器;拦截器不依赖于Servlet 容器。  2)Struts2 拦截器只能对 Action 请求起作用;过滤器则可以对几乎所有请求起作用。  3)拦截器可以访问 Action 上下文(ActionContext)、值栈里的对象(ValueStack),而过滤器不能.  4)在 Action 的生命周期中,拦截器可以多次调用;过滤器只能在容器初始化时被调用一次.13. Struts2 中的默认包 struts-default 有什么作用?  1)struts-default 包是 struts2 内置的,它定义了 struts2 内部的众多拦截器和 Result 类型,而 Struts2 很多核心的功能都是通过这些内置的拦截器实现. 如:从请求中把请求参数封装到action、文件上传和数据验证等等都是通过拦截器实现的。当包继承了struts-default 包才能使struts2 为我们提供的这些功能。2).struts-default 包是在 struts-default.xml 中定义,struts-default.xml 也是 Struts2 默认配置文件。 Struts2 每次都会自动加载 struts-default.xml 文件。3)通常每个自定义拦截器包都应该继承 struts-default 包。14. 如何在 Struts2 中使用 Ajax 功能?  1)json plugin2)dojo plugin3)dwr plugin4)使用 Stream 结果类型.15. 拦截器的生命周期与工作过程?  每个拦截器都是需要实现 Interceptor 接口  1) init():在拦截器被创建后立即被调用一次;2)intercept(ActionInvocation invocation):每拦截一个动作请求,该方法就会被调用一次;3)destroy:该方法将在拦截器被销毁之前被调用一次。16. Action接口定义的5个标准字符串常量?a.successb.nonec.errord.inpute.loginf.1个execute()方法。这5个常量就是在日常开发中字符串,可以简化和标准化execute方法的返回值。17.struts2中,Action继承ActionSupport类的好处?1)ActionSupport类所实现的接口主要有: Action, LocaleProvider, TextProvider, Validateable, ValidationAware ,这些接口中提供了一些方法可以实现数据校验功能、国际化等功能。2)a.读取国际化信息b.处理验证错误c.处理类型转换错误18. Struts2 如何访问 HttpServletRequest、HttpSession、ServletContext三个域对象 ?1)与 Servlet API 解耦的访问方式a. 通过 ActionContext 访问域对象对应的 Map 对象;b.通过实现 Aware 接口使 Struts2 注入对应的 Map 对象;2)与 Servlet API 耦合的访问方式a.通过 ServletActionContext 直接获取 Servlet API 对象;b.通过实现 ServletXxxAware 接口的方式使 Struts2 注入对应的对象. Hibernate面试题1.什么是Hibernate?1) Hibernate是一个面向Java环境的对象/关系数据库映射工具;2) Hibernate不仅仅管理Java类到数据库表的映射,还提供数据查询和获取数据的方法;3) Hibernate的目标是对于开发者通常的数据持久化相关的编程任务.Hibernate是采用ORM模式实现数据持久层的一个优秀的JAVA组件,它提供了强大,高效的对JAVA对象进行持久化操作的服务。2.Hibernate工作原理及为什么要用?工作原理:a.读取并解析配置文件 b.读取并解析映射信息,创建SessionFactoryc.打开Session d.创建事务Transation e.持久化操作f.提交事务 g.关闭Session h.关闭SesstionFactory工作原理:  1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件;2.由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>读取并解析映射信息;3.通过config.buildSessionFactory();//创建SessionFactory 4.sessionFactory.openSession();//打开Sesssion 5.session.beginTransaction();//创建事务Transation 6.persistent operate //持久化操作7.session.getTransaction().commit();//提交事务8.关闭Session  9.关闭SesstionFactory 工作流程: 1.导包2.配置SessionFactory  hibernate.cfg.xml3.编写对应的javabean 以及映射文件 Xxx.hbm.xml4.编写dao层5.测试  a.获取sessionFactory  b.获取session  c.开始事务  d.执行业务操作(增删该查)  e.提交事务  f.回滚事务  g.关闭session  h.关闭sessionFactory为什么要用: 1). Hibernate对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2). Hibernate是一个基于JDBC的主流数据持久化框架,是一个优秀的ORM实现,简化DAO层的编码工作 。3). hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。 4). hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。5)缓存机制,提供了一级缓存和二级缓存。3.hibernate的优缺点? 优点:1)对 JDBC 访问数据库的代码做了封装,简化了数据访问层繁琐的重复性代码;2)映射的灵活性, 它支持各种关系数据库;3)非侵入性、移植性会好;4)缓存机制: 提供一级缓存和二级缓存;5)简洁的HQL编程。缺点:1)无法对 SQL 进行优化;2)框架中使用 ORM 原则, 导致配置过于复杂。3)Hibernate在批量数据处理时有弱势;4)针对单一对象简单的增删查改,适合于Hibernate,而对于批量的修改,删除,不适合用Hibernate。3.Hibernate是如何延迟加载? 1) Hibernate延迟加载实现:a.实体对象 b.集合(Collection) 2) Hibernate 提供了属性的延迟加载功能。当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,它节省了服务器的内存开销,从而提高了服务器的性能。  4.hibernate的关系映射包括哪些?Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系)  1)a.一对一:单向一对一关联中的外键字段具有唯一性约束b.一对多     c.多对一     d.多对多2)类与类之间的关系主要体现在表与表之间的关系进行操作,它们都是对对象进行操作。在程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many 进行实现。5.什么是ORM?1)ORM(Object/Relational Mapping):对象关系数据映射. 2)O: Object(对象)在业务逻辑层和表示层将各参与实体进行面向对象封装;   R: Rational(关系型数据)   M:mapping(映射)6. mybatis和hibernate优化哪个比较好?mybatis优缺点?优点:1)mybatis更容易进行SQL的优化。2) mybatis可以进行细粒度的优化。在一个表中,如果需要更新一条记录时,hibernate需要现把对象select 出来,然后再做 update;mybatis只需要一条 update 的SQL就可以进行多数据的更新。3)mybatis可维护性比较好。mybatis 中SQL都保存到单独的xml文件中;hibernate在 java 代码中保存sql/hql。4)在不考虑 cache 的情况下,mybatis会比Hibernate快。5)hibernate是全自动,而mybatis是半自动;缺点:  1)不同数据库类型的支持不好。  2)缺省的 cache 支持不好。7.Hibernate与mybatis的区别?1)hibernate是全自动,而mybatis是半自动。hibernate完全可以通过对象关系模型实现对数据库的操作,拥有完整的JavaBean对象与数据库的映射结构来自动生成sql。而mybatis仅有基本的字段映射,对象数据以及对象实际关系仍然需要通过手写sql来实现和管理.2)hibernate数据库移植性远大于mybatis。hibernate通过它强大的映射结构和hql语言,大大降低了对象与数据库(oracle、mysql等)的耦合性,而mybatis由于需要手写sql,因此与数据库的耦合性直接取决于程序员写sql的方法.3)hibernate拥有完整的日志系统,mybatis则欠缺一些。hibernate日志系统非常健全,涉及广泛,包括:sql记录、关系异常、优化警告、缓存提示、脏数据警告等;而mybatis则除了基本记录功能外,功能薄弱很多。4)mybatis相比hibernate需要关心很多细节。hibernate配置要比mybatis复杂的多,学习成本也比mybatis高。5)sql直接优化上,mybatis要比hibernate方便很多。mybatis的sql都是写在xml里,因此优化sql比hibernate方便很多。而hibernate的sql很多都是自动生成的,在java程序中,无法直接维护sql;7.1.Hibernate与MyBatis区别?1)Hibernate与MyBatis都可以是通过SessionFactoryBuider由XML配置文件生成SessionFactory,然后由SessionFactory 生成Session,最后由Session来开启执行事务和SQL语句。其中SessionFactoryBuider,SessionFactory,Session的生命周期都是差不多的。2)Hibernate和MyBatis都支持JDBC和JTA事务处理。Mybatis优势:1)MyBatis可以进行更为细致的SQL优化,可以减少查询字段。2)MyBatis容易掌握,而Hibernate门槛较高。Hibernate优势:1)Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。2)Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。3)Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。4)Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳。8.sessionFactory是用来干什么的?创建session9. mybates常用的paramerType都有啥?  string、int、byte10.hibernate中get和load的区别?  1)get: 采用即刻加载, get查询不到的时候得到null;     load: 默认采用延迟加载,查询不到的时候抛出异常;2)get()方法:get 先查询一级缓存,再查询二级缓存最后查询数据库,如果没有数据则出现null。load()方法:查询数据时会先找Hibernate的一级缓存,如果没有就生成一个代理对象,在后面用它的非主属性的时候再查询二级缓存,还没有找到数据就查询数据库,若还没有找到就抛出异常。11.Hibernate的缓存范围?1)事务范围: 一级缓存属于事务范围  a.Session级别的缓存;  b. 轻量级的,和实际的业务相关联;  c. 这一级别的缓存由hibernate管理的,一般情况下无需进行干预。2)应用范围: 二级缓存属于应用范围  a. SessionFactory级别的缓存;  b. 重量级组件,管理session;  c. 这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。3)集群范围12.什么是pojo? Hibernate实体对象生命周期的三种状态以及它们之间的相互转换?  Pojo(plain oid java object):hibernate操作的java对象。  1) 瞬时态 (临时态transient):不在session的管理之中,数据库中也没有oid;  2) 持久态(persistent): 在session的管理之中;  3) 脱管态(游离态detached):不在session的管理之中,数据库中有oid。转换:a.瞬时态-->持久态:save()     在Session里存了一份,也就是它的缓存里放了一份,然后,又到数据库里存了一份。 b.持久态--> 游离态:Close()     它的缓存也都关闭了,整个Session也就失效了,这个时候,这个对象变成了游离状态(Detached),但数据库中还是存在的。c.游离态-->持久态:update()d.持久态-->瞬时态:delete()  数据库中没有与之对应的记录。13. Hibernate有哪几种查询数据的方式?   1)HQL查询2)QBC查询3)SQL查询14. Hibernate的核心接口?1)Configuration: Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。2)SessionFactory: SessionFactroy接口负责初始化Hibernate。3)Session: Session接口负责执行被持久化对象的CRUD操作。4)Transaction: Transaction接口负责事务相关的操作。5)Query: Query接口负责执行各种数据库查询。15.mybates管理数据操作的方式及特点?  1)SqlSessionTemplate:这个需要写配置文件,在实现类中注入sqlSession,再使用sqlSession,是细颗粒控制。  2)SqlSessionDaoSupport:这个只需要在实现类中继承特殊类就可以使用sqlSession。  3) MapperFactoryBean:这个要写配置文件,把对应的所有接口在配置文件中引用即可,无需写实现类。  4)MapperScannerConfigurer: 这个要写配置文件,只要给出接口所在包即可,会自动把包口中的接口引入,无需写实现类。16.hibernate生成主键的方式?  1)Assigned:由程序生成主键值,并且要在save()之前指定否则会抛出异常;特点:主键的生成值完全由用户决定,与底层数据库无关。  2)Hilo: 使用高低位算法生成主键。   特点:需要额外的数据库表的支持,能保证同一个数据库中主键的唯一性,但不能保证多个数据库之间主键的唯一性。  3)Increment:采取自动增长的方式生成新的主键值,但要求底层数据库的支持Sequence。     特点:由Hibernate本身维护,适用于所有的数据库,不适合多进程并发更新数据库,适合单一进程访问数据库。   4)Identity:用于MySql数据库。      特点:递增.  5)Sequence:用于Oracle数据库;      特点:需要底层数据库的支持序列。  6)Native:主键生成方式会根据不同的底层数据库自动选择Identity、Sequence、Hilo主键生成方式。      特点:根据不同的底层数据库采用不同的主键生成方式。 7)uuid:使用128位UUID算法生成主键。      特点:能够保证数据库中的主键唯一性。  8)Foreign guid:用于一对一关系共享主健时,两id值一样。   17.hibernate中获取session时,opensession()和getCurrentSession()的区别?1)getCurrentSession() 它会先查看当前线程中是否绑定了 Session,如果有则直接返回, 如果没有再创建;openSession() 则是直接 new 一个新的 Session 并返回。2)使用 ThreadLocal 来实现线程 Session 的隔离。3)getCurrentSession() 在事务提交的时候会自动关闭 Session;openSession() 需要手动关闭.18. Hibernate的检索方式?   1)导航对象图检索   2)Oid检索   3)Hql检索   4)Qbc检索   5)本地Sql检索19.Hql和sql的区别?1)hql 面向对象查询;sql 面向数据库表查询。2)hql:from 后面跟的 类名+类对象 where 后用对象的属性做条件查询;Sql:from 后面跟的是表名 where 后 用表中字段做条件查询。20.hibernate的事务通知有哪些?   1)前置通知:指在连接点之前,先执行通知中的代码。   2)后置通知:指在连接点之后,再执行通知中的代码。   3)最终通知:指在最终执行通知中的代码。   4)异常通知:指在出现异常的时候执行通知中的代码。   5)环绕通知:指在程序运行期间随时可以执行通知中的代码。spring面试题1.什么是spring?Spring是一个开源的,轻量级的Ioc和AOP容器框架。Spring框架的核心是IOC容器(DI,控制反转容器)和Aop,目的是提供一个高扩展性、组件化以及无侵入代码的应用开发框架。2.spring的工作原理?  3. 说说AOP和IOC的概念、作用?1)Ioc(反向控制): 由对象自身创建自己的关联或者依赖对象,改变为由外部容器将关联或依赖对象注入。实现bean的装配(以前是由对象自己new自己,现在改变为由web容器注入)a.IoC就是通过依赖注入实现的。b.DI的注入方式有两种:setter注入和构造器注入。Spring的IOC容器通过配置文件、Java反射机制等手段管理维护Bean的创建以及Bean之间的依赖关系。作用:Spring通过使用反向控制(Ioc)来实现组件之间的解耦合。2)Aop(面向切面): 横切一个关注点,将一个关注点模块化成一个切面。实现声明式事务管理(关注事物的相同点,把相同点集合在一起统一进行管理,让程序员只进行关注自己的业务处理)作用:Spring通过面向切面编程轻松实现系统级的横跨多个组件的功能模块化、独立化;目的:解耦合4.项目中如何体现AOP面向切面编程?  1)面向切面编程:主要是横切一个关注点,将一个关注点模块化成一个切面。在切面上声明一个通知和切入点。  2) 项目中用到的Spring中的切面编程最多的地方:声明式事务管理。在applicationContext.xml中进行如下配置:a、定义一个事务管理器b、配置事务特性(相当于声明通知。一般在业务层的类的一些方法上定义事务)c、配置哪些类的哪些方法需要配置事务切入点(相当于切入点。一般是业务类的方法上)功能:日志记录,性能统计,安全控制,事务处理,异常处理。 a. 将日志记录,性能统计,安全控制,事务处理,异常处理等代码从业务逻辑代码进行隔离出来,让程序员只关注业务逻辑的处理。b.动态植入5.项目中如何体现ioc控制反转?  1) 创建一个beans.properties文件,用于存放bean的具体实现;2) 创建一个制造bean的工厂,通过反射来创造写在配置文件里面的那些bean;3) 创建一个InitBeanFactoryServlet,该servlet在web.xml里面不需要配置对应的map,因为只有在初始化的时候会用到,但是需要设置启动项为0,让他最先初始化;4) 创建一个BaseServelt,所有别的servlet都继承自他,他的子类会先调用他的service方法,通过反射查看子类里面有没有bean的set方法,如果有就在ServletContext里面获取对应的bean。以前是由对象自己new自己,现在改变为由web容器注入,不需要new对象。6. IOC 容器对 Bean 的生命周期?  Bean的定义、Bean的初始化、Bean的使用、Bean的销毁1)通过构造器或工厂方法创建 Bean 实例2)为 Bean 的属性设置值和对其他 Bean 的引用(set、get、无参构造函数)3)将 Bean 实例传递给 Bean 后置处理器的postProcessBeforeInitialization 方法4)调用 Bean 的初始化方法(init-method)5)将 Bean 实例传递给 Bean 后置处理器的postProcessAfterInitialization 方法6)Bean 可以使用了7)当容器关闭时, 调用 Bean 的销毁方法(destroy-method)7.spring的优点?  1)使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性;2)可以提供众多服务,事务管理,WS等;3)AOP面向切面编程;4) 对主流的框架提供了很好的集成支持;5) Spring DI机制降低了业务对象替换的复杂性;6) Spring属于低侵入性,代码污染极低;7)Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或全部。8.Spring的两种容器?  Spring容器是一个Java对象,它封装了配置文件的信息,容纳JavaBean的实例对象,它使用IoC管理所有组成应用系统的组件。1)Bean工厂(BeanFactory父类):是最简单的容器,提供了基础的依赖注入支持。2)应用上下文(ApplicationContext子类): Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息,扩展了Bean工厂,提供了系统构架服务,功能更强大。9. Spring实现了那几种模式?  答: 工厂模式 和 单例模式10.spring中对象的创建模式? 1)单例模式scope="singleton" 2)原型模式scope="prototype" 11.什么是事务传播机制?spring事务传播机制分为哪几种? 事务传播机制:同一个对象在不同业务下的一个状态。 1)required,这个是默认的属性:如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。 2) mandatory:支持当前事务,如果当前没有事务,就抛出异常。 3)never:以非事务方式执行,如果当前存在事务,则抛出异常。 4)not_supported:以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。? 5)requires_new:新建事务,如果当前存在事务,把当前事务挂起。 6)supports:支持当前事务,如果当前没有事务,就以非事务方式执行。 7)nested:支持当前事务,新增Savepoint点,与当前事务同步提交或回滚。12.事务隔离级别都有哪些? 1)default: 默认的隔离级别,使用数据库默认的事务隔离级别。 2)read_committed:保证一个事务修改的数据提交后才能被另外一个事务读取。 3) read_uncommitted:事务最低的隔离级别,它充许别外一个事务可以看到这个事务未提交的数据。 4) repeatable:这种事务隔离级别可以防止脏读,不可重复读。 5) repeatable_read:最可靠的事务隔离级别。13. 事务并发引起哪三种情况? 1)脏读2)不可重复读3)幻像读14. Spring两种事务管理方式?  1)声明式: 使用TransactionTemplate和直接使用PlatformTransactionManager直接管理事务。        TransactionTemplate:它使用回调方法,把应用程序从处理取得和释放资源中解脱出来TransactionTemplate是线程安全的 ;        PlatformTransactionManager  : 通过一个bean引用给你的bean传递一个你使用的 PlatformTransaction对象。然后,使用TransactionDefinition和TransactionStatus对象就可以发起、回滚、提交事务。  2)编程式:通过AOP实现的。15. spring配置文件中的ref元素的作用是什么?它的两个基本属性是什么? 1)用于指定属性值为spring容器中的其它bean.2)两个基本属性是bean和local16.clear和evcit的区别?  1)clear:完整的清除session。  2)evcit(obj):把某个持久化对象从session的缓存中清空。17.session的清理和清空的区别?  1)a.清理缓存:调用session.flush()方法     b.清空缓存:调用session.clear()方法  2)a.清理缓存:指按照缓存中对象的状态的变化来同步更新数据库,但不清空缓存。     b.清空缓存:把session的缓存清空,但不同步更新数据库。18.简单介绍一下spring?Spring是一个开源框架,是一个轻量级的Ioc和AOP容器框架。1) 核心容器(beanFactory): 核心容器定义了创建、配置和管理 bean 的方式, 主要是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。2)Spring 上下文(applicationContext):Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。3)Spring AOP:通过面向切面编程轻松实现系统级的横跨多个组件的功能模块化、独立化;只关注业务逻辑的处理。  4)Spring Dao: JDBC DAO 抽象层提供了有意义的异常层次结构,通过该结构可以管理异常处理和不同数据库供应商抛出的错误消息。  5)Spring ORM:提供ORM 的对象关系映射工具,可以对数据的基本操作。6)Spring Web :Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文,Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。7)Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现.Ioc控制反转:由对象创建自己的关联或依赖注入,改变为由外部容器将关联或依赖注入。Aop 面向切面:横切一个关注点,将一个关注点模块化成一个切面。(关注事物的相同点,把相同点集合在一起统一进行管理,让程序员只进行关注自己的业务处理。)19. 开发中主要使用 Spring 的什么技术 ?1)IOC 容器管理各层的组件2)使用 AOP 配置声明式事务3)整合其他框架.20. 在 Spring 中如何配置 Bean ? 1)通过全类名(反射)2)通过工厂方法(静态工厂方法 & 实例工厂方法)3)FactoryBean21. Spring 如何整合 Struts2 ?  整合 Struts2, 即由 IOC 容器管理 Struts2 的 Action。  1)安装 Spring 插件: 把 struts2-spring-plugin-2.2.1.jar 复制到当前 WEB 应用的 WEB-INF/lib 目录下;  2)在 Spring 的配置文件中配置 Struts2 的 Action 实例;  3)在 Struts 配置文件中配置 action, 但其 class 属性不再指向该Action 的实现类, 而是指向 Spring 容器中 Action 实例的 ID。22. spring如何整合hibernate?   整合 Hibernate, 即由 IOC 容器生成 SessionFactory 对象, 并使用Spring 的声明式事务管理。   1)利用 LocalSessionFactoryBean 工厂 Bean, 声明一个使用 XML 映射文件的 SessionFactory 实例;   2)利用 HibernateTransactionManager 配置 Hibernate 的事务管理器。23. 开发中主要使用 Spring 的什么技术 ?1)IOC 容器管理各层的组件2)使用 AOP 配置声明式事务3)整合其他框架.24.springMVC和struts2的区别?  1)Spring MVC 的入口是 Servlet;Struts2 是 Filter。  2)Spring MVC 会稍微比 Struts2 快些. Spring MVC 是基于方法设;Sturts2 是基于类, 每次发一次请求都会实例一个 Action.  3)Spring MVC 使用更加简洁, 开发效率Spring MVC 确实比struts2 高:支持JSR303, 处理 ajax 的请求更方便.  4)Struts2 的 OGNL 表达式使页面的开发效率相比 Spring MVC 更高些.25.springMVC的工作原理? 工作原理: 1) spring把所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责对请求进行真正的处理工作;2) DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller; 3) DispatcherServlet把请求提交到目标Controller; 4) Controller进行业务逻辑处理后,会返回一个ModelAndView; 5) Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象;6) 视图对象负责渲染返回给客户端。26. 如何使用 SpringMVC 完成 JSON 操作?1)配置MappingJacksonHttpMessageConverter2)使用 @RequestBody 注解或 ResponseEntity 作为返回值27. 说出 Spring MVC 常用的 5 个注解?@RequestMapping 、@PathVariable 、@RequestParam .@RequestBoy 、@ResponseBody28.springMVC的优点?Ssh面试题1. 项目中如何使用ssh框架技术? 1)struts2:a. struts只是专注于实现Web应用程序开发的MVC前端部分,很好的将应用程序进行了分层,使开发者更关注于业务逻辑的实现;b. struts有着丰富的taglib库,能大大提高开发效率。 2)hibernate:hibernate为Java应用提供了一个易用的、高效率的对象关系映射框架。hibernate是个轻量级的持久性框架,只是专注于数据持久层的部分。 3)spring:spring基于IoC(反向控制)和AOP构架多层j2ee系统的框架,整合struts2和hibernate以及管理对象的配置和生命周期.IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现事务管理。2.搭建ssh框架时应注意什么?  1)用MyEclipse搭建SSH环境时,注意jar包的选取3.ssh框架工作流程?1)创建web工程;2)导jar包;3)在web.xml中配置struts2核心控制器和spring上下文jianting器;4) 建立struts2配置文件(struts.xml)和建立spring配置文件(applicationContext.xml);5)在spring配置文件中配置SessionFactory、事务管理器、事务通知、事务切面;6)建立bean层、dao层、service层、action层;7)配置struts2-xx.xml ,hibernate.hbm.xml文件;8)在applicationContext.xml中写dao、bean、service;9)然后在struts.xml中配置struts由spring管理的<constant name=”struts.objectFactory” value=”spring”>,前台发起请求。10)Hibernate中的配置的id(sessionFactory)在baseDao中作为它的一个属性出现;11)spring来集成struts和hibernate,然后struts每个业务的class以前是完全限定的类名,现在变成单个的spring中集成好的bean的id的名字。12)Spring管理一个hibernate连接数据库,把对应的属性、连接驱动全部引入进去,把struts的bean的属性的库全部管理起来,而hibernate和struts功能不变。4.Sql大数据如何进行优化? 1)对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引; 2)应尽量避免在 where 子句中对字段进行 null 值判断;3)应尽量避免在 where子句中使用!=或<>操作符;4) .应尽量避免在 where 子句中使用 or 来连接条件;5)in 和 not in 也要慎用;6)下面的查询也将导致全表扫描:select id from t where name like '%abc%';7)尽量别在 where 子句中使用参数;8)应尽量避免在 where 子句中对字段进行表达式操作。9)应尽量避免在where子句中对字段进行函数操作.10)不要在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算。11)不要写一些没有意义的查询;12)用 exists 代替 in;13)尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。14)尽可能的使用 varchar/nvarchar 代替 char/nchar;15)尽量使用表变量来代替临时表;16)避免频繁创建和删除临时表,以减少系统表资源的消耗;17)尽量避免使用游标;18)尽量避免大事务操作,提高系统并发能力;19)尽量避免向客户端返回大数据量.                                                                                                                                                                                                                            
琴瑟 2019-12-01 21:46:22 3489 浏览量 回答数 0

回答

       一、性能测试支付宝场景介绍   2013年双11过程当中,促销开启的第一分钟内支付宝的交易总额就突破了一亿元,短时间内大量用户涌入的情况下,如何保证用户的支付顺畅,是对支付宝应用系统的一个极大的挑战。   支付宝的性能测试场景分为性能基线测试,项目性能测试。   任意一笔交易过来,我们都需要对交易进行风险扫描,对于有可能是账户盗用的交易,我们会把这笔支付直接拒绝掉,或者通过手机校验码等方式进行风险释放。   我们有一个老的扫描平台A,现在需要构建一个新的扫描平台B,对A中关键技术进行升级,并增加额外的功能。扫描的策略是存储在DB中的,需要通过发布来更新到应用服务器的内存中。   二、性能测试需求分析和方案制定   a. 需求挖掘   1)查看业务方的显性需求。业务方给到的需求为平台B的分析性能要优于平台A的性能。除此之外无其它的需求。   2)挖掘隐性需求.了解业务架构,了解业务流程。为了保证扫描的性能,大量的存储类的需求被设计为异步处理,但是结果类的扫描需要使用到前面落地的数据,那么在系统正常运行时是否会存 在落地数据读取不到的问题,在存储抖动时是否会导致后续的分析扫描全部失效?   首先我们通过运维监控平台拿到平台A的分析性能,RT<130ms, TPS>35.   基于以上的需求挖掘,我们确认的性能测试场景为   扫描性能场景。(单场景)   发布性能场景。(单场景)   扫描过程中发布性能场景。(混合场景)   b. 技术方案   1)评估我们的系统架构,系统调到链路,定位可能存在问题的瓶颈点。   2)掌握详细技术实现方案,了解具体技术方案可能存在的性能问题。   比如我们是否使用到了脚本动态编译,是Java脚本还是groovy脚本。是否使用到了线程池等异步处理,系统幂等性是如何控制的,数据结构是如何存储与读取的,是决策树还是图型结构。   3)了解系统环境的差异,比如服务器位数、CPU、内存的差异,JDK版本及位数的差异。   基于以上的技术方案,我们确认了上述3个性能测试场景可能存在的性能问题   1. 扫描性能场景   技术方案为扫描引擎drools2升级到了drools5.   性能关注点为请求扫描RT,TPS是否满足我们的需求;JVM Old区内存溢出,Old区内存泄露;GC 频率过高。CPU使用率,load.       2. 发布性能场景   技术方案为规则DB捞取->规则加载->规则引擎切换->规则脚本编译。   性能关注点为CPU使用率,load。JVM Perm区内存溢出,Perm区内存泄露,GC 频率过高。GC 暂停应用时间。   3. 扫描过程中发布性能场景   性能关注点为请求扫描RT,TPS。规则发布耗时,CPU使用率,load, JVM GC频率。   c. 性能测试方案制订   分布式压测,参数自动化,使用单元测试脚本,接口测试脚本,jmeter脚本等进行压测。   性能结果收集及统计。   性能测试通过标准。   基于以上的分析   1. 扫描性能场景   性能测试方案:   使用jmeter 脚本进行分布式压测,一台master, 三台slaver. 参数自动构建,使用高斯定时器模拟真实场景。        使用jmeter 收集分析性能数据,使用nmon收集服务器性能数据,使用jconsole收集JVM数据。   通过标准:   RT<130ms, TPS>35.   JVM old 区内无内存泄露,无内存溢出。GC时间间隔>30min,暂停应用时间<150ms.   CPU<70%, load < core*1.5。   2. 发布性能场景   性能测试方案:   发布时间间隔时间限制从1min调整为3s, 更快的暴露问题。   使用单元测试类推送发布消息。   服务器shell 脚本收集发布模块性能数据。   使用nmon收集服务器性能数据。   使用jconsole收集JVM数据。   通过标准:        JVM Perm 区内无内存泄露,无内存溢出。GC时间间隔>10min,暂停应用时间<200ms.   发布时间<30S   CPU<70%, load < core*1.5。   3.扫描过程中发布性能场景   性能测试方案:   使用jmeter脚本进行分布式压测,同时提交发布请求进行发布。   同时使用扫描性能场景和发布性能场景收集数据功能。   通过标准:   RT < 扫描性能场景结果RT * 110%.   TPS > 扫描性能场景结果TPS * 90%.   发布时间 < 40s。   d. 发现的问题   1. 扫描性能场景   AVG RT = 473ms, CMS GC = 90ms, 应用暂停时间 = 1s, 因此测试未通过。   问题定位:   dump内存,使用ibm memory analyzer 分析。   确认cms gc的原因为drools引擎的finalize方法。Finzlize方法不能正确的释放对象的引用关系,导致引用关系一直存在,无法释放。   调优方案:   根据drools的升级文档,升级drools引擎后解决此问题   2. 发布性能场景   CMS GC 回收失败,内存无法被释放,应用宕机。   问题定位:   GC回收比例为默认值68%,OLD区内存1024M,那么回收的临界值为1024*0.68=696.32M。系统的JVM内存占用为500M,扫描策略相关的内存为120M,在切换的过程中,依赖额外的120M,因此只有在可 用内存大于740M时才能正常回收。   解决方案:   调整JVM参数,扩大GC回收比例。   后续技术方案改造,使用增量发布解决此问题。   3. 扫描过程中发布性能场景   问题定位:   扫描平台发布流程,当首次请求进来时执行脚本动态编译过程,由于脚本较多,因此所有脚本的动态编译时间较长,在此过程中,进来的所有请求都会被hand住,造成大量超时   解决方案:   把脚本的动态编译提前到首次请求调用进来之前,编译通过后再切换扫描引擎,保证首次请求进来前一切准备就绪。   三:性能测试的执行和结果收集   3.1性能测试的执行   性能测试的执行需要具备以下几个条件:施压工具,测试环境以及对测试结果的收集工具。   3.1.1 施压工具   我们先来说说施压工具,支付宝使用的主流施压工具是开源工具Apache JMeter,支持很多类型的性能测试:   Web - HTTP, HTTPS   SOAP   Database via JDBC   LDAP   JMS   任何用java语言编写的接口,都可二次开发并调用。   支付宝大部分接口是webservice接口,基于soap协议,且都是java开发,所以使用jmeter非常方便,即使jemter工具本身没有自带支持的协议,也可以通过开发插件的方式支持。   3.1.2测试环境   测试环境包括被压机和施压机环境,需要进行硬件配置和软件版本确认,保证系统干净,无其他进程干扰,最好能提前监控半小时到1小时,确认系统各项指标都无异常。   另外除了被压机和施压机,有可能应用系统还依赖其他的系统,所以我们需要明确服务器的数量和架构,1是方便我们分析压力的流程,帮助后面定位和分析瓶颈,2是由于我们线下搭建的环境越 接近线上,测试结果越准确。但是通常由于测试资源紧张或者需要依赖外围,例如银行的环境,就会比较麻烦,通常我们会选择适当的进行环境mock。当然,Mock的时候尽量和真实环境保持一致,举 个简单的例子,如果支付宝端系统和银行进行通信,线上银行的平均处理时间为100ms,那么如果我们在线下性能测试时需要mock银行的返回,需要加入100ms延迟,这样才能比较接近真实的环境。   另外除了测试环境,还有依赖的测试数据也需要重点关注,数据需要关注总量和类型,例如支付宝做交易时,db中流水万级和亿级的性能肯定是不一样的;还有db是否分库分表,需要保证数据分布 的均衡性。一般考虑到线下准备数据的时长,一般性能测试要求和线上的数据保持一个数量级。   3.1.3 测试结果收集工具   测试结果收集主要包括以下几个指标:   响应时间、tps、错误率、cpu、load、IO、系统内存、jvm(java虚拟内存)。   其中响应时间、tps和业务错误率通过jemter可以收集。   Cpu、load、io和系统内存可以通过nmon或linux自带命令的方式来监控。       Jvm可以通过jdk自带的jconsole或者jvisualvm来监控。   总体来说,监控了这些指标,对系统的性能就有了掌握,同样这样指标也可以反馈系统的瓶颈所在。   四.性能测试瓶颈挖掘与分析   我们在上面一章中拿到性能测试结果,这么多数据,怎么去分析系统的瓶颈在哪里呢,一般是按照这样的思路,先看业务指标:响应时间、业务错误率、和tps是否满足目标。   如果其中有一个有异常,可以先排除施压机和外围依赖系统是否有瓶颈,如果没有,关注网络、db的性能和连接数,最后关注系统本身的指标:   硬件:磁盘是否写满、内存是否够用、cpu的利用率、平均load值   软件:操作系统版本、jdk版本、j boss容器以及应用依赖的其他软件版本   Jvm内存管理和回收是否合理   应用程序本身代码   先看下图:是一般性能测试环境部署图 我们在定位的时候,可按照标注中的1、2、3数字依次进行排查,先排查施压机是否有瓶颈、接着看后端依赖系统、db、网络等,最后看被压机本身,例如响应时间逐渐变慢,一般来说是外围依赖的系 统出现的瓶颈导致整体响应变慢。下面针对应用系统本身做下详细的分析,针对常见问题举1~2个例子:   4.1 应用系统本身的瓶颈   1. 应用系统负载分析:   服务器负载瓶颈经常表现为,服务器受到的并发压力比较低的情况下,服务器的资源使用率比预期要高,甚至高很多。导致服务器处理能力严重下降,最终有可能导致服务器宕机。实际性能测试 工作中,经常会用以下三类资源指标判定是否存在服务器负载瓶颈:   1.CPU使用率   2,内存使用率   3.Load   一般cup的使用率应低于50%,如果过高有可能程序的算法耗费太多cpu,或者某些代码块进行不合理的占用。Load值尽量保持在cpuS+2 或者cpuS*2,其中cpu和load一般与并发数成正比(如下图)   内存可以通过2种方式来查看:   1) 当vmstat命令输出的si和so值显示为非0值,则表示剩余可支配的物理内存已经严重不足,需要通过与磁盘交换内容来保持系统的稳定;由于磁盘处理的速度远远小于内存,此时就会出现严重的 性能下降;si和so的值越大,表示性能瓶颈越严重。   2) 用工具监控内存的使用情况,如果出现下图的增长趋势(used曲线呈线性增长),有可能系统内存占满的情况:   如果出现内存占用一直上升的趋势,有可能系统一直在创建新的线程,旧的线程没有销毁;或者应用申请了堆外内存,一直没有回收导致内存一直增长。   4.2 Jvm瓶颈分析   4.2.1Gc频率分析   对于java应用来说,过高的GC频率也会在很大程度上降低应用的性能。即使采用了并发收集的策略,GC产生的停顿时间积累起来也是不可忽略的,特别是出现cmsgc失败,导致fullgc时的场景。下 面举几个例子进行说明:   1. Cmsgc频率过高,当在一段较短的时间区间内,cmsGC值超出预料的大,那么说明该JAVA应用在处理对象的策略上存在着一些问题,即过多过快地创建了长寿命周期的对象,是需要改进的。或者 old区大小分配或者回收比例设置得不合理,导致cms频繁触发,下面看一张gc监控图(蓝色线代表cmsgc)   由图看出:cmsGC非常频繁,后经分析是因为jvm参数-XX:CMSInitiatingOccupancyFraction设置为15,比例太小导致cms比较频繁,这样可以扩大cmsgc占old区的比例,降低cms频率注。   调优后的图如下:   2. fullgc频繁触发   当采用cms并发回收算法,当cmsgc回收失败时会导致fullgc:  由上图可以看出fullgc的耗时非常长,在6~7s左右,这样会严重影响应用的响应时间。经分析是因为cms比例过大,回收频率较慢导致,调优方式:调小cms的回比例,尽早触发cmsgc,避免触发 fullgc。调优后回收情况如下   可以看出cmsgc时间缩短了很多,优化后可以大大提高。从上面2个例子看出cms比例不是绝对的,需要根据应用的具体情况来看,比如应用创建的对象存活周期长,且对象较大,可以适当提高cms的 回收比例。   3. 疑似内存泄露,先看下图   分析:每次cmsgc没有回收干净,old区呈上升趋势,疑似内存泄露   最终有可能导致OOM,这种情况就需要dump内存进行分析:   找到oom内存dump文件,具体的文件配置在jvm参数里:   -XX:HeapDumpPath=/home/admin/logs   -XX:ErrorFile=/home/admin/logs/hs_err_pid%p.log   借助工具:MAT,分析内存最大的对象。具体工具的使用这里就不再介绍。 云效平台 官网地址:http://yunxiao.aliyun.com/html/index.html (本文来源:领测软件测试网)
云效平台 2019-12-01 21:47:13 5472 浏览量 回答数 1

回答

发现OSS上线一个新功能,可以方便的实现OSS到CDN到域名解析的一键加速配置,简直是网站或者移动应用做动静分离设置的利器啊。 立即体验 传统动静不分离的产品架构(随着访问量在增长,性能会成为瓶颈) 实现动分离的产品架构(灵活的架构支持海量的用户访问) 适用场景- 静态文件访问量大,服务器负载高,I/O问题导致用户访问卡顿- 静态文件数量大,服务器存储空间不够- 静态文件用户访问量大,且分布在各地- 移动更新包在某个时间段需要高速下载,且并发下载量高架构描述OSS作为海量文件存储源,静态图片、视频文件、下载包、app更新包等均放在OSS上。OSS作为CDN的源站,通过CDN加速分发,用户通过CDN节点就近获得文件架构优势 - 降低Web服务器负载,静态文件访问负载全部通过CDN- 存储费用最低。OSS的存储费用仅为ECS磁盘费用的50%- 海量存储空间,无需考虑存储架构升级- 流量费用低,相比直接通过OSS访问,除极少额外增加的回源流量外,主要流量使用CDN流量,单价最低只需0.26GB,远远低于OSS直接访问的外网流量单价实战案例 以一个常见的Web站点为例。www.acar.com是一个刚建立汽车资讯车友交流网站。主站用Php搭建,有10GB的图片素材,部分JS文件。目前购买一台ESC放置所有程序代码,并在ESC上安装MySQL数据库。随着用户访问量的不断增长,不少用户反映,访问网站的速度越来越慢,图片加载慢,网站响应慢。网站技术人员也发现用户上传的图片越来越多,快超过1TB了。 如何利用OSS和CDN对网站进行架构优化,实现上图提到的动静分离的产品架构实现,提升用户访问体验,成本也在可控的范围内? let'go第一步 对ECS上的网站程序进行整理,把动态程序部分和静态部分分不同的目录管理起来 建立Images目录,放置所有网站高清素材图片 建立Javascript目录,放置所有的JS脚本 建立Attachment目录,放置所有用户上传的图片和附件 第二步 进入到OSS控制台,点击“CDN加速OSS”。 选择新建Bucket。根据你ESC所在的区域选择Bucket所在区域,权限选择“公共读”,Bucket名称与ESC上新建的目录的名称对应,比如”acar-image-bucket“,选择下一步- 输入“image.acar.com”作为您网站高清素材图片的加速域名后,点击下一步选择默认的自动添加阿里云解析,点击完成第三步 点击“立即上传文件,体验加速效果”。 把您在第一步中建立在ESC上的Images目录下的所有图片文件上传到这里(acar-image-bucket下)。您可以使用OSS客户端工具更加方便灵活的完成图片的上传。点击列表中已经上传文件的“获取地址”,您就能获取到该文件的CDN加速的访问地址,通常为“您输入的加速域名+'/'+'文件名'”的格式逐一完成图片文件的上传第四步 按照前三步的示意,把其他两个文件也通过“CDN加速OSS”的方式上传,分别建立“acar-js-bucket”和"acar-csimages-bucket"两个使用CDN加速的OSSbucket第五步 在原本ESC系统中,找到原本访问静态文件的代码,把访问URL修改为加速访问的地址。大功告成,以后用户访问您的网站的静态文件就全部通过OSS+CDN的方式访问,不再占用您ESC的资源 需要注意的是:如果您想把用户上传的文件自动同步到“acar-csimages-bucket”中,您可以参考OSS相关SDK和API的PutObjcet部分,实现代码级别自动上传用户第一次访问静态资源,会先回源OSS获取资源再推送到CDN,需要大概5分钟左右的生效时间。您可以在更新资源后,通过刷新的方式,让CDN主动回源,让用户访问时不再等待
jack.cai 2019-12-01 20:59:14 14829 浏览量 回答数 4

回答

微服务 (MicroServices) 架构是当前互联网业界的一个技术热点,圈里有不少同行朋友当前有计划在各自公司开展微服务化体系建设,他们都有相同的疑问:一个微服务架构有哪些技术关注点 (technical concerns)?需要哪些基础框架或组件来支持微服务架构?这些框架或组件该如何选型?笔者之前在两家大型互联网公司参与和主导过大型服务化体系和框架建设,同时在这块也投入了很多时间去学习和研究,有一些经验和学习心得,可以和大家一起分享。 服务注册、发现、负载均衡和健康检查和单块 (Monolithic) 架构不同,微服务架构是由一系列职责单一的细粒度服务构成的分布式网状结构,服务之间通过轻量机制进行通信,这时候必然引入一个服务注册发现问题,也就是说服务提供方要注册通告服务地址,服务的调用方要能发现目标服务,同时服务提供方一般以集群方式提供服务,也就引入了负载均衡和健康检查问题。根据负载均衡 LB 所在位置的不同,目前主要的服务注册、发现和负载均衡方案有三种: 第一种是集中式 LB 方案,如下图 Fig 1,在服务消费者和服务提供者之间有一个独立的 LB,LB 通常是专门的硬件设备如 F5,或者基于软件如 LVS,HAproxy 等实现。LB 上有所有服务的地址映射表,通常由运维配置注册,当服务消费方调用某个目标服务时,它向 LB 发起请求,由 LB 以某种策略(比如 Round-Robin)做负载均衡后将请求转发到目标服务。LB 一般具备健康检查能力,能自动摘除不健康的服务实例。服务消费方如何发现 LB 呢?通常的做法是通过 DNS,运维人员为服务配置一个 DNS 域名,这个域名指向 LB。 Fig 1, 集中式 LB 方案 集中式 LB 方案实现简单,在 LB 上也容易做集中式的访问控制,这一方案目前还是业界主流。集中式 LB 的主要问题是单点问题,所有服务调用流量都经过 LB,当服务数量和调用量大的时候,LB 容易成为瓶颈,且一旦 LB 发生故障对整个系统的影响是灾难性的。另外,LB 在服务消费方和服务提供方之间增加了一跳 (hop),有一定性能开销。 第二种是进程内 LB 方案,针对集中式 LB 的不足,进程内 LB 方案将 LB 的功能以库的形式集成到服务消费方进程里头,该方案也被称为软负载 (Soft Load Balancing) 或者客户端负载方案,下图 Fig 2 展示了这种方案的工作原理。这一方案需要一个服务注册表 (Service Registry) 配合支持服务自注册和自发现,服务提供方启动时,首先将服务地址注册到服务注册表(同时定期报心跳到服务注册表以表明服务的存活状态,相当于健康检查),服务消费方要访问某个服务时,它通过内置的 LB 组件向服务注册表查询(同时缓存并定期刷新)目标服务地址列表,然后以某种负载均衡策略选择一个目标服务地址,最后向目标服务发起请求。这一方案对服务注册表的可用性 (Availability) 要求很高,一般采用能满足高可用分布式一致的组件(例如 Zookeeper, Consul, Etcd 等)来实现。 Fig 2, 进程内 LB 方案 进程内 LB 方案是一种分布式方案,LB 和服务发现能力被分散到每一个服务消费者的进程内部,同时服务消费方和服务提供方之间是直接调用,没有额外开销,性能比较好。但是,该方案以客户库 (Client Library) 的方式集成到服务调用方进程里头,如果企业内有多种不同的语言栈,就要配合开发多种不同的客户端,有一定的研发和维护成本。另外,一旦客户端跟随服务调用方发布到生产环境中,后续如果要对客户库进行升级,势必要求服务调用方修改代码并重新发布,所以该方案的升级推广有不小的阻力。 进程内 LB 的案例是 Netflix 的开源服务框架,对应的组件分别是:Eureka 服务注册表,Karyon 服务端框架支持服务自注册和健康检查,Ribbon 客户端框架支持服务自发现和软路由。另外,阿里开源的服务框架 Dubbo 也是采用类似机制。 第三种是主机独立 LB 进程方案,该方案是针对第二种方案的不足而提出的一种折中方案,原理和第二种方案基本类似,不同之处是,他将 LB 和服务发现功能从进程内移出来,变成主机上的一个独立进程,主机上的一个或者多个服务要访问目标服务时,他们都通过同一主机上的独立 LB 进程做服务发现和负载均衡,见下图 Fig 3。 Fig 3 主机独立 LB 进程方案 该方案也是一种分布式方案,没有单点问题,一个 LB 进程挂了只影响该主机上的服务调用方,服务调用方和 LB 之间是进程内调用,性能好,同时,该方案还简化了服务调用方,不需要为不同语言开发客户库,LB 的升级不需要服务调用方改代码。该方案的不足是部署较复杂,环节多,出错调试排查问题不方便。 该方案的典型案例是 Airbnb 的 SmartStack 服务发现框架,对应组件分别是:Zookeeper 作为服务注册表,Nerve 独立进程负责服务注册和健康检查,Synapse/HAproxy 独立进程负责服务发现和负载均衡。Google 最新推出的基于容器的 PaaS 平台 Kubernetes,其内部服务发现采用类似的机制。 服务前端路由微服务除了内部相互之间调用和通信之外,最终要以某种方式暴露出去,才能让外界系统(例如客户的浏览器、移动设备等等)访问到,这就涉及服务的前端路由,对应的组件是服务网关 (Service Gateway),见图 Fig 4,网关是连接企业内部和外部系统的一道门,有如下关键作用: 服务反向路由,网关要负责将外部请求反向路由到内部具体的微服务,这样虽然企业内部是复杂的分布式微服务结构,但是外部系统从网关上看到的就像是一个统一的完整服务,网关屏蔽了后台服务的复杂性,同时也屏蔽了后台服务的升级和变化。安全认证和防爬虫,所有外部请求必须经过网关,网关可以集中对访问进行安全控制,比如用户认证和授权,同时还可以分析访问模式实现防爬虫功能,网关是连接企业内外系统的安全之门。限流和容错,在流量高峰期,网关可以限制流量,保护后台系统不被大流量冲垮,在内部系统出现故障时,网关可以集中做容错,保持外部良好的用户体验。监控,网关可以集中监控访问量,调用延迟,错误计数和访问模式,为后端的性能优化或者扩容提供数据支持。日志,网关可以收集所有的访问日志,进入后台系统做进一步分析。 Fig 4, 服务网关 除以上基本能力外,网关还可以实现线上引流,线上压测,线上调试 (Surgical debugging),金丝雀测试 (Canary Testing),数据中心双活 (Active-Active HA) 等高级功能。 网关通常工作在 7 层,有一定的计算逻辑,一般以集群方式部署,前置 LB 进行负载均衡。 开源的网关组件有 Netflix 的 Zuul,特点是动态可热部署的过滤器 (filter) 机制,其它如 HAproxy,Nginx 等都可以扩展作为网关使用。 在介绍过服务注册表和网关等组件之后,我们可以通过一个简化的微服务架构图 (Fig 5) 来更加直观地展示整个微服务体系内的服务注册发现和路由机制,该图假定采用进程内 LB 服务发现和负载均衡机制。在下图 Fig 5 的微服务架构中,服务简化为两层,后端通用服务(也称中间层服务 Middle Tier Service)和前端服务(也称边缘服务 Edge Service,前端服务的作用是对后端服务做必要的聚合和裁剪后暴露给外部不同的设备,如 PC,Pad 或者 Phone)。后端服务启动时会将地址信息注册到服务注册表,前端服务通过查询服务注册表就可以发现然后调用后端服务;前端服务启动时也会将地址信息注册到服务注册表,这样网关通过查询服务注册表就可以将请求路由到目标前端服务,这样整个微服务体系的服务自注册自发现和软路由就通过服务注册表和网关串联起来了。如果以面向对象设计模式的视角来看,网关类似 Proxy 代理或者 Façade 门面模式,而服务注册表和服务自注册自发现类似 IoC 依赖注入模式,微服务可以理解为基于网关代理和注册表 IoC 构建的分布式系统。 Fig 5, 简化的微服务架构图 服务容错当企业微服务化以后,服务之间会有错综复杂的依赖关系,例如,一个前端请求一般会依赖于多个后端服务,技术上称为 1 -> N 扇出 (见图 Fig 6)。在实际生产环境中,服务往往不是百分百可靠,服务可能会出错或者产生延迟,如果一个应用不能对其依赖的故障进行容错和隔离,那么该应用本身就处在被拖垮的风险中。在一个高流量的网站中,某个单一后端一旦发生延迟,可能在数秒内导致所有应用资源 (线程,队列等) 被耗尽,造成所谓的雪崩效应 (Cascading Failure,见图 Fig 7),严重时可致整个网站瘫痪。 Fig 6, 服务依赖 Fig 7, 高峰期单个服务延迟致雪崩效应 经过多年的探索和实践,业界在分布式服务容错一块探索出了一套有效的容错模式和最佳实践,主要包括: Fig 8, 弹性电路保护状态图 电路熔断器模式 (Circuit Breaker Patten), 该模式的原理类似于家里的电路熔断器,如果家里的电路发生短路,熔断器能够主动熔断电路,以避免灾难性损失。在分布式系统中应用电路熔断器模式后,当目标服务慢或者大量超时,调用方能够主动熔断,以防止服务被进一步拖垮;如果情况又好转了,电路又能自动恢复,这就是所谓的弹性容错,系统有自恢复能力。下图 Fig 8 是一个典型的具备弹性恢复能力的电路保护器状态图,正常状态下,电路处于关闭状态 (Closed),如果调用持续出错或者超时,电路被打开进入熔断状态 (Open),后续一段时间内的所有调用都会被拒绝 (Fail Fast),一段时间以后,保护器会尝试进入半熔断状态 (Half-Open),允许少量请求进来尝试,如果调用仍然失败,则回到熔断状态,如果调用成功,则回到电路闭合状态。舱壁隔离模式 (Bulkhead Isolation Pattern),顾名思义,该模式像舱壁一样对资源或失败单元进行隔离,如果一个船舱破了进水,只损失一个船舱,其它船舱可以不受影响 。线程隔离 (Thread Isolation) 就是舱壁隔离模式的一个例子,假定一个应用程序 A 调用了 Svc1/Svc2/Svc3 三个服务,且部署 A 的容器一共有 120 个工作线程,采用线程隔离机制,可以给对 Svc1/Svc2/Svc3 的调用各分配 40 个线程,当 Svc2 慢了,给 Svc2 分配的 40 个线程因慢而阻塞并最终耗尽,线程隔离可以保证给 Svc1/Svc3 分配的 80 个线程可以不受影响,如果没有这种隔离机制,当 Svc2 慢的时候,120 个工作线程会很快全部被对 Svc2 的调用吃光,整个应用程序会全部慢下来。限流 (Rate Limiting/Load Shedder),服务总有容量限制,没有限流机制的服务很容易在突发流量 (秒杀,双十一) 时被冲垮。限流通常指对服务限定并发访问量,比如单位时间只允许 100 个并发调用,对超过这个限制的请求要拒绝并回退。回退 (fallback),在熔断或者限流发生的时候,应用程序的后续处理逻辑是什么?回退是系统的弹性恢复能力,常见的处理策略有,直接抛出异常,也称快速失败 (Fail Fast),也可以返回空值或缺省值,还可以返回备份数据,如果主服务熔断了,可以从备份服务获取数据。Netflix 将上述容错模式和最佳实践集成到一个称为 Hystrix 的开源组件中,凡是需要容错的依赖点 (服务,缓存,数据库访问等),开发人员只需要将调用封装在 Hystrix Command 里头,则相关调用就自动置于 Hystrix 的弹性容错保护之下。Hystrix 组件已经在 Netflix 经过多年运维验证,是 Netflix 微服务平台稳定性和弹性的基石,正逐渐被社区接受为标准容错组件。 服务框架微服务化以后,为了让业务开发人员专注于业务逻辑实现,避免冗余和重复劳动,规范研发提升效率,必然要将一些公共关注点推到框架层面。服务框架 (Fig 9) 主要封装公共关注点逻辑,包括: Fig 9, 服务框架 服务注册、发现、负载均衡和健康检查,假定采用进程内 LB 方案,那么服务自注册一般统一做在服务器端框架中,健康检查逻辑由具体业务服务定制,框架层提供调用健康检查逻辑的机制,服务发现和负载均衡则集成在服务客户端框架中。监控日志,框架一方面要记录重要的框架层日志、metrics 和调用链数据,还要将日志、metrics 等接口暴露出来,让业务层能根据需要记录业务日志数据。在运行环境中,所有日志数据一般集中落地到企业后台日志系统,做进一步分析和处理。REST/RPC 和序列化,框架层要支持将业务逻辑以 HTTP/REST 或者 RPC 方式暴露出来,HTTP/REST 是当前主流 API 暴露方式,在性能要求高的场合则可采用 Binary/RPC 方式。针对当前多样化的设备类型 (浏览器、普通 PC、无线设备等),框架层要支持可定制的序列化机制,例如,对浏览器,框架支持输出 Ajax 友好的 JSON 消息格式,而对无线设备上的 Native App,框架支持输出性能高的 Binary 消息格式。配置,除了支持普通配置文件方式的配置,框架层还可集成动态运行时配置,能够在运行时针对不同环境动态调整服务的参数和配置。限流和容错,框架集成限流容错组件,能够在运行时自动限流和容错,保护服务,如果进一步和动态配置相结合,还可以实现动态限流和熔断。管理接口,框架集成管理接口,一方面可以在线查看框架和服务内部状态,同时还可以动态调整内部状态,对调试、监控和管理能提供快速反馈。Spring Boot 微框架的 Actuator 模块就是一个强大的管理接口。统一错误处理,对于框架层和服务的内部异常,如果框架层能够统一处理并记录日志,对服务监控和快速问题定位有很大帮助。安全,安全和访问控制逻辑可以在框架层统一进行封装,可做成插件形式,具体业务服务根据需要加载相关安全插件。文档自动生成,文档的书写和同步一直是一个痛点,框架层如果能支持文档的自动生成和同步,会给使用 API 的开发和测试人员带来极大便利。Swagger 是一种流行 Restful API 的文档方案。当前业界比较成熟的微服务框架有 Netflix 的 Karyon/Ribbon,Spring 的 Spring Boot/Cloud,阿里的 Dubbo 等。 运行期配置管理服务一般有很多依赖配置,例如访问数据库有连接字符串配置,连接池大小和连接超时配置,这些配置在不同环境 (开发 / 测试 / 生产) 一般不同,比如生产环境需要配连接池,而开发测试环境可能不配,另外有些参数配置在运行期可能还要动态调整,例如,运行时根据流量状况动态调整限流和熔断阀值。目前比较常见的做法是搭建一个运行时配置中心支持微服务的动态配置,简化架构如下图 (Fig 10): Fig 10, 服务配置中心 动态配置存放在集中的配置服务器上,用户通过管理界面配置和调整服务配置,具体服务通过定期拉 (Scheduled Pull) 的方式或者服务器推 (Server-side Push) 的方式更新动态配置,拉方式比较可靠,但会有延迟同时有无效网络开销 (假设配置不常更新),服务器推方式能及时更新配置,但是实现较复杂,一般在服务和配置服务器之间要建立长连接。配置中心还要解决配置的版本控制和审计问题,对于大规模服务化环境,配置中心还要考虑分布式和高可用问题。 配置中心比较成熟的开源方案有百度的 Disconf,360 的 QConf,Spring 的 Cloud Config 和阿里的 Diamond 等。 Netflix 的微服务框架Netflix 是一家成功实践微服务架构的互联网公司,几年前,Netflix 就把它的几乎整个微服务框架栈开源贡献给了社区,这些框架和组件包括: Eureka: 服务注册发现框架Zuul: 服务网关Karyon: 服务端框架Ribbon: 客户端框架Hystrix: 服务容错组件Archaius: 服务配置组件Servo: Metrics 组件Blitz4j: 日志组件下图 Fig 11 展示了基于这些组件构建的一个微服务框架体系,来自 recipes-rss。 Fig 11, 基于 Netflix 开源组件的微服务框架 Netflix 的开源框架组件已经在 Netflix 的大规模分布式微服务环境中经过多年的生产实战验证,正逐步被社区接受为构造微服务框架的标准组件。Pivotal 去年推出的 Spring Cloud 开源产品,主要是基于对 Netflix 开源组件的进一步封装,方便 Spring 开发人员构建微服务基础框架。对于一些打算构建微服务框架体系的公司来说,充分利用或参考借鉴 Netflix 的开源微服务组件 (或 Spring Cloud),在此基础上进行必要的企业定制,无疑是通向微服务架构的捷径。 原文地址:https://www.infoq.cn/article/basis-frameworkto-implement-micro-service#anch130564%20%EF%BC%8C
auto_answer 2019-12-02 01:55:22 0 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT 阿里云科技驱动中小企业数字化