• 关于

    可靠操作系统错误如何解决

    的搜索结果

问题

【精品问答】消息服务 MNS

阿里云消息服务MNS(Message Notification Service)是一种高效、可靠、安全、便捷、可弹性扩展的分布式消息服务。消息服务MNS能够帮助应用开发者在应用的分布式组件上自由的传递数据...
montos 2020-04-08 12:35:50 2 浏览量 回答数 1

问题

分布式事务了解吗?你们是如何解决分布式事务问题的?【Java问答学堂】58期

面试题 分布式事务了解吗?你们是如何解决分布式事务问题的? 面试官心理分析 只要聊到你做了分布式系统,必问分布式事务,你对分布式事务一无所知的话,确实会很坑...
剑曼红尘 2020-07-16 15:11:28 5 浏览量 回答数 1

问题

破除自动化灾难恢复的4个谎言

美国在飓风“桑迪”袭击之后的几个月里,灾难恢复 (DR) 规划的方方面面都被媒体广泛报道,同时也成为IT管理员们讨论的中心话题。每个企业都意识到自己应该做好DR规划,以应对实际自然灾难和如同自然灾难...
elinks 2019-12-01 21:15:22 7289 浏览量 回答数 0

回答

分布式事务的解决方案有如下几种: 全局消息基于可靠消息服务的分布式事务TCC最大努力通知方案1:全局事务(DTP模型)全局事务基于DTP模型实现。DTP是由X/Open组织提出的一种分布式事务模型——X/Open Distributed Transaction Processing Reference Model。它规定了要实现分布式事务,需要三种角色: AP:Application 应用系统 它就是我们开发的业务系统,在我们开发的过程中,可以使用资源管理器提供的事务接口来实现分布式事务。 TM:Transaction Manager 事务管理器 分布式事务的实现由事务管理器来完成,它会提供分布式事务的操作接口供我们的业务系统调用。这些接口称为TX接口。事务管理器还管理着所有的资源管理器,通过它们提供的XA接口来同一调度这些资源管理器,以实现分布式事务。DTP只是一套实现分布式事务的规范,并没有定义具体如何实现分布式事务,TM可以采用2PC、3PC、Paxos等协议实现分布式事务。RM:Resource Manager 资源管理器 能够提供数据服务的对象都可以是资源管理器,比如:数据库、消息中间件、缓存等。大部分场景下,数据库即为分布式事务中的资源管理器。资源管理器能够提供单数据库的事务能力,它们通过XA接口,将本数据库的提交、回滚等能力提供给事务管理器调用,以帮助事务管理器实现分布式的事务管理。XA是DTP模型定义的接口,用于向事务管理器提供该资源管理器(该数据库)的提交、回滚等能力。DTP只是一套实现分布式事务的规范,RM具体的实现是由数据库厂商来完成的。有没有基于DTP模型的分布式事务中间件?DTP模型有啥优缺点?方案2:基于可靠消息服务的分布式事务这种实现分布式事务的方式需要通过消息中间件来实现。假设有A和B两个系统,分别可以处理任务A和任务B。此时系统A中存在一个业务流程,需要将任务A和任务B在同一个事务中处理。下面来介绍基于消息中间件来实现这种分布式事务。 title 在系统A处理任务A前,首先向消息中间件发送一条消息消息中间件收到后将该条消息持久化,但并不投递。此时下游系统B仍然不知道该条消息的存在。消息中间件持久化成功后,便向系统A返回一个确认应答;系统A收到确认应答后,则可以开始处理任务A;任务A处理完成后,向消息中间件发送Commit请求。该请求发送完成后,对系统A而言,该事务的处理过程就结束了,此时它可以处理别的任务了。 但commit消息可能会在传输途中丢失,从而消息中间件并不会向系统B投递这条消息,从而系统就会出现不一致性。这个问题由消息中间件的事务回查机制完成,下文会介绍。消息中间件收到Commit指令后,便向系统B投递该消息,从而触发任务B的执行;当任务B执行完成后,系统B向消息中间件返回一个确认应答,告诉消息中间件该消息已经成功消费,此时,这个分布式事务完成。上述过程可以得出如下几个结论: 消息中间件扮演者分布式事务协调者的角色。 系统A完成任务A后,到任务B执行完成之间,会存在一定的时间差。在这个时间差内,整个系统处于数据不一致的状态,但这短暂的不一致性是可以接受的,因为经过短暂的时间后,系统又可以保持数据一致性,满足BASE理论。 上述过程中,如果任务A处理失败,那么需要进入回滚流程,如下图所示: title 若系统A在处理任务A时失败,那么就会向消息中间件发送Rollback请求。和发送Commit请求一样,系统A发完之后便可以认为回滚已经完成,它便可以去做其他的事情。消息中间件收到回滚请求后,直接将该消息丢弃,而不投递给系统B,从而不会触发系统B的任务B。此时系统又处于一致性状态,因为任务A和任务B都没有执行。 上面所介绍的Commit和Rollback都属于理想情况,但在实际系统中,Commit和Rollback指令都有可能在传输途中丢失。那么当出现这种情况的时候,消息中间件是如何保证数据一致性呢?——答案就是超时询问机制。 title 系统A除了实现正常的业务流程外,还需提供一个事务询问的接口,供消息中间件调用。当消息中间件收到一条事务型消息后便开始计时,如果到了超时时间也没收到系统A发来的Commit或Rollback指令的话,就会主动调用系统A提供的事务询问接口询问该系统目前的状态。该接口会返回三种结果: 提交 若获得的状态是“提交”,则将该消息投递给系统B。回滚 若获得的状态是“回滚”,则直接将条消息丢弃。处理中 若获得的状态是“处理中”,则继续等待。消息中间件的超时询问机制能够防止上游系统因在传输过程中丢失Commit/Rollback指令而导致的系统不一致情况,而且能降低上游系统的阻塞时间,上游系统只要发出Commit/Rollback指令后便可以处理其他任务,无需等待确认应答。而Commit/Rollback指令丢失的情况通过超时询问机制来弥补,这样大大降低上游系统的阻塞时间,提升系统的并发度。 下面来说一说消息投递过程的可靠性保证。 当上游系统执行完任务并向消息中间件提交了Commit指令后,便可以处理其他任务了,此时它可以认为事务已经完成,接下来消息中间件一定会保证消息被下游系统成功消费掉!那么这是怎么做到的呢?这由消息中间件的投递流程来保证。 消息中间件向下游系统投递完消息后便进入阻塞等待状态,下游系统便立即进行任务的处理,任务处理完成后便向消息中间件返回应答。消息中间件收到确认应答后便认为该事务处理完毕! 如果消息在投递过程中丢失,或消息的确认应答在返回途中丢失,那么消息中间件在等待确认应答超时之后就会重新投递,直到下游消费者返回消费成功响应为止。当然,一般消息中间件可以设置消息重试的次数和时间间隔,比如:当第一次投递失败后,每隔五分钟重试一次,一共重试3次。如果重试3次之后仍然投递失败,那么这条消息就需要人工干预。 title title 有的同学可能要问:消息投递失败后为什么不回滚消息,而是不断尝试重新投递? 这就涉及到整套分布式事务系统的实现成本问题。 我们知道,当系统A将向消息中间件发送Commit指令后,它便去做别的事情了。如果此时消息投递失败,需要回滚的话,就需要让系统A事先提供回滚接口,这无疑增加了额外的开发成本,业务系统的复杂度也将提高。对于一个业务系统的设计目标是,在保证性能的前提下,最大限度地降低系统复杂度,从而能够降低系统的运维成本。 不知大家是否发现,上游系统A向消息中间件提交Commit/Rollback消息采用的是异步方式,也就是当上游系统提交完消息后便可以去做别的事情,接下来提交、回滚就完全交给消息中间件来完成,并且完全信任消息中间件,认为它一定能正确地完成事务的提交或回滚。然而,消息中间件向下游系统投递消息的过程是同步的。也就是消息中间件将消息投递给下游系统后,它会阻塞等待,等下游系统成功处理完任务返回确认应答后才取消阻塞等待。为什么这两者在设计上是不一致的呢? 首先,上游系统和消息中间件之间采用异步通信是为了提高系统并发度。业务系统直接和用户打交道,用户体验尤为重要,因此这种异步通信方式能够极大程度地降低用户等待时间。此外,异步通信相对于同步通信而言,没有了长时间的阻塞等待,因此系统的并发性也大大增加。但异步通信可能会引起Commit/Rollback指令丢失的问题,这就由消息中间件的超时询问机制来弥补。 那么,消息中间件和下游系统之间为什么要采用同步通信呢? 异步能提升系统性能,但随之会增加系统复杂度;而同步虽然降低系统并发度,但实现成本较低。因此,在对并发度要求不是很高的情况下,或者服务器资源较为充裕的情况下,我们可以选择同步来降低系统的复杂度。 我们知道,消息中间件是一个独立于业务系统的第三方中间件,它不和任何业务系统产生直接的耦合,它也不和用户产生直接的关联,它一般部署在独立的服务器集群上,具有良好的可扩展性,所以不必太过于担心它的性能,如果处理速度无法满足我们的要求,可以增加机器来解决。而且,即使消息中间件处理速度有一定的延迟那也是可以接受的,因为前面所介绍的BASE理论就告诉我们了,我们追求的是最终一致性,而非实时一致性,因此消息中间件产生的时延导致事务短暂的不一致是可以接受的。 方案3:最大努力通知(定期校对)最大努力通知也被称为定期校对,其实在方案二中已经包含,这里再单独介绍,主要是为了知识体系的完整性。这种方案也需要消息中间件的参与,其过程如下: title 上游系统在完成任务后,向消息中间件同步地发送一条消息,确保消息中间件成功持久化这条消息,然后上游系统可以去做别的事情了;消息中间件收到消息后负责将该消息同步投递给相应的下游系统,并触发下游系统的任务执行;当下游系统处理成功后,向消息中间件反馈确认应答,消息中间件便可以将该条消息删除,从而该事务完成。上面是一个理想化的过程,但在实际场景中,往往会出现如下几种意外情况: 消息中间件向下游系统投递消息失败上游系统向消息中间件发送消息失败对于第一种情况,消息中间件具有重试机制,我们可以在消息中间件中设置消息的重试次数和重试时间间隔,对于网络不稳定导致的消息投递失败的情况,往往重试几次后消息便可以成功投递,如果超过了重试的上限仍然投递失败,那么消息中间件不再投递该消息,而是记录在失败消息表中,消息中间件需要提供失败消息的查询接口,下游系统会定期查询失败消息,并将其消费,这就是所谓的“定期校对”。 如果重复投递和定期校对都不能解决问题,往往是因为下游系统出现了严重的错误,此时就需要人工干预。 对于第二种情况,需要在上游系统中建立消息重发机制。可以在上游系统建立一张本地消息表,并将 任务处理过程 和 向本地消息表中插入消息 这两个步骤放在一个本地事务中完成。如果向本地消息表插入消息失败,那么就会触发回滚,之前的任务处理结果就会被取消。如果这量步都执行成功,那么该本地事务就完成了。接下来会有一个专门的消息发送者不断地发送本地消息表中的消息,如果发送失败它会返回重试。当然,也要给消息发送者设置重试的上限,一般而言,达到重试上限仍然发送失败,那就意味着消息中间件出现严重的问题,此时也只有人工干预才能解决问题。 对于不支持事务型消息的消息中间件,如果要实现分布式事务的话,就可以采用这种方式。它能够通过重试机制+定期校对实现分布式事务,但相比于第二种方案,它达到数据一致性的周期较长,而且还需要在上游系统中实现消息重试发布机制,以确保消息成功发布给消息中间件,这无疑增加了业务系统的开发成本,使得业务系统不够纯粹,并且这些额外的业务逻辑无疑会占用业务系统的硬件资源,从而影响性能。 因此,尽量选择支持事务型消息的消息中间件来实现分布式事务,如RocketMQ。 方案4:TCC(两阶段型、补偿型)TCC即为Try Confirm Cancel,它属于补偿型分布式事务。顾名思义,TCC实现分布式事务一共有三个步骤: Try:尝试待执行的业务 这个过程并未执行业务,只是完成所有业务的一致性检查,并预留好执行所需的全部资源Confirm:执行业务 这个过程真正开始执行业务,由于Try阶段已经完成了一致性检查,因此本过程直接执行,而不做任何检查。并且在执行的过程中,会使用到Try阶段预留的业务资源。Cancel:取消执行的业务 若业务执行失败,则进入Cancel阶段,它会释放所有占用的业务资源,并回滚Confirm阶段执行的操作。下面以一个转账的例子来解释下TCC实现分布式事务的过程。 假设用户A用他的账户余额给用户B发一个100元的红包,并且余额系统和红包系统是两个独立的系统。 Try 创建一条转账流水,并将流水的状态设为交易中将用户A的账户中扣除100元(预留业务资源)Try成功之后,便进入Confirm阶段Try过程发生任何异常,均进入Cancel阶段Confirm 向B用户的红包账户中增加100元将流水的状态设为交易已完成Confirm过程发生任何异常,均进入Cancel阶段Confirm过程执行成功,则该事务结束Cancel 将用户A的账户增加100元将流水的状态设为交易失败在传统事务机制中,业务逻辑的执行和事务的处理,是在不同的阶段由不同的部件来完成的:业务逻辑部分访问资源实现数据存储,其处理是由业务系统负责;事务处理部分通过协调资源管理器以实现事务管理,其处理由事务管理器来负责。二者没有太多交互的地方,所以,传统事务管理器的事务处理逻辑,仅需要着眼于事务完成(commit/rollback)阶段,而不必关注业务执行阶段。 TCC全局事务必须基于RM本地事务来实现全局事务TCC服务是由Try/Confirm/Cancel业务构成的, 其Try/Confirm/Cancel业务在执行时,会访问资源管理器(Resource Manager,下文简称RM)来存取数据。这些存取操作,必须要参与RM本地事务,以使其更改的数据要么都commit,要么都rollback。 这一点不难理解,考虑一下如下场景: title 假设图中的服务B没有基于RM本地事务(以RDBS为例,可通过设置auto-commit为true来模拟),那么一旦[B:Try]操作中途执行失败,TCC事务框架后续决定回滚全局事务时,该[B:Cancel]则需要判断[B:Try]中哪些操作已经写到DB、哪些操作还没有写到DB:假设[B:Try]业务有5个写库操作,[B:Cancel]业务则需要逐个判断这5个操作是否生效,并将生效的操作执行反向操作。 不幸的是,由于[B:Cancel]业务也有n(0<=n<=5)个反向的写库操作,此时一旦[B:Cancel]也中途出错,则后续的[B:Cancel]执行任务更加繁重。因为,相比第一次[B:Cancel]操作,后续的[B:Cancel]操作还需要判断先前的[B:Cancel]操作的n(0<=n<=5)个写库中哪几个已经执行、哪几个还没有执行,这就涉及到了幂等性问题。而对幂等性的保障,又很可能还需要涉及额外的写库操作,该写库操作又会因为没有RM本地事务的支持而存在类似问题。。。可想而知,如果不基于RM本地事务,TCC事务框架是无法有效的管理TCC全局事务的。 反之,基于RM本地事务的TCC事务,这种情况则会很容易处理:[B:Try]操作中途执行失败,TCC事务框架将其参与RM本地事务直接rollback即可。后续TCC事务框架决定回滚全局事务时,在知道“[B:Try]操作涉及的RM本地事务已经rollback”的情况下,根本无需执行[B:Cancel]操作。 换句话说,基于RM本地事务实现TCC事务框架时,一个TCC型服务的cancel业务要么执行,要么不执行,不需要考虑部分执行的情况。 TCC事务框架应该提供Confirm/Cancel服务的幂等性保障一般认为,服务的幂等性,是指针对同一个服务的多次(n>1)请求和对它的单次(n=1)请求,二者具有相同的副作用。 在TCC事务模型中,Confirm/Cancel业务可能会被重复调用,其原因很多。比如,全局事务在提交/回滚时会调用各TCC服务的Confirm/Cancel业务逻辑。执行这些Confirm/Cancel业务时,可能会出现如网络中断的故障而使得全局事务不能完成。因此,故障恢复机制后续仍然会重新提交/回滚这些未完成的全局事务,这样就会再次调用参与该全局事务的各TCC服务的Confirm/Cancel业务逻辑。 既然Confirm/Cancel业务可能会被多次调用,就需要保障其幂等性。 那么,应该由TCC事务框架来提供幂等性保障?还是应该由业务系统自行来保障幂等性呢? 个人认为,应该是由TCC事务框架来提供幂等性保障。如果仅仅只是极个别服务存在这个问题的话,那么由业务系统来负责也是可以的;然而,这是一类公共问题,毫无疑问,所有TCC服务的Confirm/Cancel业务存在幂等性问题。TCC服务的公共问题应该由TCC事务框架来解决;而且,考虑一下由业务系统来负责幂等性需要考虑的问题,就会发现,这无疑增大了业务系统的复杂度。
1210119897362579 2019-12-02 00:14:25 0 浏览量 回答数 0

问题

浅谈服务器的可用性

作为信息化建设中硬件架构不可或缺的服务器一直以来都备受关注,同时,服务器的更新换代也在见证着世界领先科技的发展历程,不论是最初的16位处理,还是后来红极一时的32位处理器,...
pittman 2019-12-01 21:42:33 8159 浏览量 回答数 1

回答

你好,这里有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

问题

玩转阿里云OSS(一)

玩转OSS,与各位云友分享下~~~~~ 一、    项目需求 近期在一个项目中,用户需要构建一个对外的电商平台,整个站点中会有大量的(千万级)商品图片文件&#...
feun中kul 2019-12-01 21:38:06 8477 浏览量 回答数 4

回答

在primary-secondary 类型的协议中,副本被分为两大类,其中有且仅有一个副本作为primary 副本, 除primary 以外的副本都作为secondary 副本。维护primary 副本的节点作为中心节点,中心节点负 责维护数据的更新、并发控制、协调副本的一致性。 Primary-secondary 类型的协议一般要解决四大类问题:数据更新流程、数据读取方式、Primary 副本的确定和切换、数据同步(reconcile)。 数据更新基本流程 1. 数据更新都由primary 节点协调完成。 2. 外部节点将更新操作发给primary 节点 3. primary 节点进行并发控制即确定并发更新操作的先后顺序 4. primary 节点将更新操作发送给secondary 节点 5. primary 根据secondary 节点的完成情况决定更新是否成功并将结果返回外部节点 在工程实践中,如果由primary 直接同时发送给其他N 个副本发送数据,则每个 secondary 的更新吞吐受限于primary 总的出口网络带宽,最大为primary 网络出口带宽的1/N。为了 解决这个问题,有些系统(例如,GFS),使用接力的方式同步数据,即primary 将更新发送给第一 个secondary 副本,第一个secondary 副本发送给第二secondary 副本,依次类推。 数据读取方式 数据读取方式也与一致性高度相关。如果只需要最终一致性,则读取任何副本都可以满足需求。如果需要会 话一致性,则可以为副本设置版本号,每次更新后递增版本号,用户读取副本时验证版本号,从而 保证用户读到的数据在会话范围内单调递增。使用primary-secondary 比较困难的是实现强一致性。 由于数据的更新流程都是由primary 控制的,primary 副本上的数据一定是最新的,所以 如果始终只读primary 副本的数据,可以实现强一致性。如果只读primary 副本,则secondary 副本 将不提供读服务。实践中,如果副本不与机器绑定,而是按照数据段为单位维护副本,仅有primary 副本提供读服务在很多场景下并不会造出机器资源浪费。 将副本分散到集群中个,假设primary 也是随机的确定的,那么每台机器 上都有一些数据的primary 副本,也有另一些数据段的secondary 副本。从而某台服务器实际都提供 读写服务。 - 由primary 控制节点secondary 节点的可用性。当primary 更新某个secondary 副本不成功 时,primary 将该secondary 副本标记为不可用,从而用户不再读取该不可用的副本。不可用的 secondary 副本可以继续尝试与primary 同步数据,当与primary 完成数据同步后,primary 可以副本 标记为可用。这种方式使得所有的可用的副本,无论是primary 还是secondary 都是可读的,且在一 个确定的时间内,某secondary 副本要么更新到与primary 一致的最新状态,要么被标记为不可用, 从而符合较高的一致性要求。这种方式依赖于一个中心元数据管理系统,用于记录哪些副本可用, 哪些副本不可用。某种意义上,该方式通过降低系统的可用性来提高系统的一致性。 primary 副本的确定与切换 在primary-secondary 类型的协议中,另一个核心的问题是如何确定primary 副本,尤其是在原 primary 副本所在机器出现宕机等异常时,需要有某种机制切换primary 副本,使得某个secondary 副本成为新的primary 副本。 通常的,在primary-secondary 类型的分布式系统中,哪个副本是primary 这一信息都属于元信 息,由专门的元数据服务器维护。执行更新操作时,首先查询元数据服务器获取副本的primary 信 息,从而进一步执行数据更新流程。 由于分布式系统中可靠的发现节点异常是需要一定的探测时间的,这样的探测时间通常是10 秒级别,这也意味着一旦primary 异常,最多需要10 秒级别的 发现时间,系统才能开始primary 的切换,在这10 秒时间内,由于没有primary,系统不能提供更 新服务,如果系统只能读primary 副本,则这段时间内甚至不能提供读服务。从这里可以看到, primary-backup 类副本协议的最大缺点就是由于primary 切换带来的一定的停服务时间。 数据同步 不一致的secondary 副本需要与primary 进行同步(reconcile)。 通常不一致的形式有三种:一、由于网络分化等异常,secondary 上的数据落后于primary 上的 数据。二、在某些协议下,secondary 上的数据有可能是脏数据,需要被丢弃。所谓脏数据是由于 primary 副本没有进行某一更新操作,而secondary 副本上反而进行的多余的修改操作,从而造成 secondary 副本数据错误。三、secondary 是一个新增加的副本,完全没有数据,需要从其他副本上 拷贝数据。 对于第一种secondary 数据落后的情况,常见的同步方式是回放primary 上的操作日志(通常是 redo 日志),从而追上primary 的更新进度。对于脏数据的情况, 较好的做法是设计的分布式协议不产生脏数据。如果协议一定有产生脏数据的可能,则也应该使得 产生脏数据的概率降到非常低得情况,从而一旦发生脏数据的情况可以简单的直接丢弃有脏数据的 副本,这样相当于副本没有数据。另外,也可以设计一些基于undo 日志的方式从而可以删除脏数据。 如果secondary 副本完全没有数据,则常见的做法是直接拷贝primary 副本的数据,这种方法往往比 回放日志追更新进度的方法快很多。但拷贝数据时primary 副本需要能够继续提供更新服务,这就 要求primary 副本支持快照(snapshot)功能。即对某一刻的副本数据形成快照,然后拷贝快照,拷贝 完成后使用回放日志的方式追快照形成后的更新操作。
kun坤 2020-04-24 15:30:53 0 浏览量 回答数 0

问题

荆门开诊断证明-scc

(微)电〗【186-6605-3854〗号【精品问答】Java技术1000问(1) 问问小秘 2019-11-15 11:24:15 9099 为了方便Java开发者快速找到相关技术问题和答案,开发...
游客5k2abgdj3m2ti 2019-12-01 22:09:00 1 浏览量 回答数 0

回答

1、 描述下应用架构的发展历程 目前,架构的发展历程是从单体架构、分布式架构、SOA架构,再到如今流行的微服务架构 2、单体架构的优点、缺点 优点: I 易于开发,开发人员可在短时间内开发完成单体应用 II 易于测试 III 易于部署 缺点: I 灵活程度不够,一旦修改,自上而下需要整体部署,才可以展现出效果,同时开发效率低,降低团队灵活性 II 降低系统的性能 III 系统启动、重启缓慢 IV 扩展性差 3、 什么是传统的分布式架构 简单来说,就是按照业务垂直切分,每个应用都是一个单体架构,通过API接口互相调用 好处是,依赖解耦,理解清晰,开发便捷速度,缺点是调用存在风险,技术复杂,可靠性降低 4、 SOA架构的优点、缺点 面向服务的SOA架构,根据不同的业务建立不同的服务,优点,模块拆分,开发聚合,降低了耦合度,增加功能,增加子项目即可,方便部署,灵活的分布式部署 缺点,调用、交互采用远程通信,接口开发增加工作量 5、 什么是微服务技术 微服务架构在某种程度上是SOA架构的发展。微服务是一种架构风格,对于一个大型的复杂的业务应用系统,业务功能可以拆分为多个独立的微服务,各个服务间是松耦合的,通过各种远程通信协议,实现交互,各个服务可以独立部署、扩容、升降级 6、 目前流行的微服务解决方案 目前最常见的,包括两种,一种基于SpringCloud中间件的微服务解决方案,选型比较中立,内部组件,可以自由更换搭配使用,大致上三种,服务发现,一种Eureka,一种Consul,一种etcd或者阿里nacos,共用组件,服务调用组件Feign。负载均衡ribbon,熔断器hystrix,网关,zuul,gateway,等,配置中心,携程阿波罗,nacos,Config;全链路监控,zipkin,pinpoint,skywalking,其他组件 另一种基于Dubbo实现微服务解决方案,可以Dubbo,nacos,其他 7、 什么是中间件 中间件,是在操作系统之上,应用软件之下的中间层软件。本质上归结为技术架构。常见的中间件,包括服务治理中间件、配置中心、链路监控、分布式事务、分布式定时任务、分布式缓存、消息中间件、API网关、数据库中间件等 8、 什么是Spring Cloud 也是一个中间件,由Spring官方开发维护,基于SpringBoot技术框架,提供了一整套的微服务解决方案。包括服务注册与发现、配置中心、全链路监控、API网关、熔断器等组件,可以随需扩展或替换使用 9、 SpringCloud项目模块 注册中心 Eureka 第一代网关 Zuul 多语言 Sidecar 负载均衡 Ribbon 熔断器 Hystrix 第二代网关 gateway 集群监控 Turbine 声明式HTTP客户端 Feign 注册中心 consul 链路追踪 sleuth 配置中心 config 服务总线 Bus 等 10、 SpringCloud与服务治理中间件 服务治理中间件包含服务注册与发现、服务路由、复杂均衡、自我保护、丰富的治理管理机制等功能。服务路由包含服务上下线、在线测试、就近选择、A/B测试、灰度发布等,负载均衡支持根据状态权重进行负载。自我保护,服务降级、优雅降级、流量控制,Spring Cloud中使用了相关 11、 Springcloud与配置中心中间件 单体应用中,属性配置和代码采用硬编码形式放在一起,简单方便,但是在分布式系统中,多个服务实例,需要分别管理每个服务下对应的配置项,往往配置项项目一致,内容存在偏差,则上线需要检查所有的配置项,如果修改配置项,就要重启等,开发管理相当麻烦,另外还会涉及安全性的问题,比如数据库密码等的存放。分布式系统中,需要我们统一管理,负责管理的中间件,就是配置中心。配置中心,应该具备的功能,分别是支持各种复杂的配置场景,与公司的运维体系和权限体系集成一体,各种配置兼容支持。 SpringCloud Config是配置中心中间件,将应用原本放在本地的配置,统一放置到中心服务器,拥有了更好地管理发布能力,基于应用、环境、版本三个维度管理,配置存储支持git等。无缝支持Spring技术的Environment和PropertySource接口 12、 Springcloud与网关中间件 API是在系统边界上,面向API的串行集中式强管控服务,至少具备如下功能 I 统一接入功能,提供一个高性能、高并发、高可靠的网关服务,也要支持负载均衡、异地多活、容灾切换 Ii 协议适配功能,因为网关是集中式强管控,必须要提供满足各个请求协议,能够协议适配 Iii 流量管控 Iv 安全防护、权限校验 SpringCloud第一代网关采用zuul,根据默认或者配置的路由规则,进行负载或者路由,只能支持基本功能,如果想要实现高度定制更多功能,就需要,进行开发filter过滤器 SpringCloud第二代网关采用Gateway,zuul采用每个请求分配一个线程的方式,不能支持高并发,gateway采用netty框架,具有强大的高并发处理能力,且实现了网管基本功能,例如安全,监控,限流等 13、 Springcloud与全链路监控中间件 分布式系统下,对于日志追踪等,有迫切的需求,需要一个可视化展示监控平台,进行汇集。全链路监控中间件基本功能如下,定位慢调用:各种web服务调用,慢sql执行,定位各种错误,定位各种异常,展现服务依赖,展现调用链路,应用告警SpringCloud采用sleuth 14、 Springcloud与分布式事务 微服务架构之后,困难,在于,1)系统拆分后,服务间调用通信、故障处理变得复杂2)微服务化后,服务调用的分布式事务问题突出3)数量众多,测试部署运维复杂,那么随着Docker容器技术、Devops技术的发展,各种PAAS平台工具的退出,变得愈加容易。分布式事务没有统一方案 15、 Springcloud与领域驱动 微服务作为一种架构风格,提供了快速开发微服务应用的能力,但是对于业务如何开发,业务架构如何治理,架构如何防腐,还需要方法论进行指导,领域驱动作为业务治理和架构防腐的方法论,结合起来,才能更好地提供企业使用 16、 SpringCloud与gRPC协议 通过SpringCloud进行搭建微服务应用,服务间得通信往往采用的是Feign中间件形式,实现简单快捷的调用,底层采用的http形式,相对于gRPC协议或者RPC协议的调用来说,性能相对低下,因此,可以切换开源技术框架gRPC实现 17、 SpringCloud与Dubbo生态融合 SpringCloud与Dubbo在本质上不在一个领域没有可比性。Dubbo是一个基于RPC协议的通信框架,而SpringCloud是实现微服务中间件,随着发展,两者生态也在不断融合,目前已经开源了Spring-cloud-dubbo的项目
huc_逆天 2020-02-25 11:08:12 0 浏览量 回答数 0

回答

1、 描述下应用架构的发展历程 目前,架构的发展历程是从单体架构、分布式架构、SOA架构,再到如今流行的微服务架构 2、单体架构的优点、缺点 优点: I 易于开发,开发人员可在短时间内开发完成单体应用 II 易于测试 III 易于部署 缺点: I 灵活程度不够,一旦修改,自上而下需要整体部署,才可以展现出效果,同时开发效率低,降低团队灵活性 II 降低系统的性能 III 系统启动、重启缓慢 IV 扩展性差 3、 什么是传统的分布式架构 简单来说,就是按照业务垂直切分,每个应用都是一个单体架构,通过API接口互相调用 好处是,依赖解耦,理解清晰,开发便捷速度,缺点是调用存在风险,技术复杂,可靠性降低 4、 SOA架构的优点、缺点 面向服务的SOA架构,根据不同的业务建立不同的服务,优点,模块拆分,开发聚合,降低了耦合度,增加功能,增加子项目即可,方便部署,灵活的分布式部署 缺点,调用、交互采用远程通信,接口开发增加工作量 5、 什么是微服务技术 微服务架构在某种程度上是SOA架构的发展。微服务是一种架构风格,对于一个大型的复杂的业务应用系统,业务功能可以拆分为多个独立的微服务,各个服务间是松耦合的,通过各种远程通信协议,实现交互,各个服务可以独立部署、扩容、升降级 6、 目前流行的微服务解决方案 目前最常见的,包括两种,一种基于SpringCloud中间件的微服务解决方案,选型比较中立,内部组件,可以自由更换搭配使用,大致上三种,服务发现,一种Eureka,一种Consul,一种etcd或者阿里nacos,共用组件,服务调用组件Feign。负载均衡ribbon,熔断器hystrix,网关,zuul,gateway,等,配置中心,携程阿波罗,nacos,Config;全链路监控,zipkin,pinpoint,skywalking,其他组件 另一种基于Dubbo实现微服务解决方案,可以Dubbo,nacos,其他 7、 什么是中间件 中间件,是在操作系统之上,应用软件之下的中间层软件。本质上归结为技术架构。常见的中间件,包括服务治理中间件、配置中心、链路监控、分布式事务、分布式定时任务、分布式缓存、消息中间件、API网关、数据库中间件等 8、 什么是Spring Cloud 也是一个中间件,由Spring官方开发维护,基于SpringBoot技术框架,提供了一整套的微服务解决方案。包括服务注册与发现、配置中心、全链路监控、API网关、熔断器等组件,可以随需扩展或替换使用 9、 SpringCloud项目模块 注册中心 Eureka 第一代网关 Zuul 多语言 Sidecar 负载均衡 Ribbon 熔断器 Hystrix 第二代网关 gateway 集群监控 Turbine 声明式HTTP客户端 Feign 注册中心 consul 链路追踪 sleuth 配置中心 config 服务总线 Bus 等 10、 SpringCloud与服务治理中间件 服务治理中间件包含服务注册与发现、服务路由、复杂均衡、自我保护、丰富的治理管理机制等功能。服务路由包含服务上下线、在线测试、就近选择、A/B测试、灰度发布等,负载均衡支持根据状态权重进行负载。自我保护,服务降级、优雅降级、流量控制,Spring Cloud中使用了相关 11、 Springcloud与配置中心中间件 单体应用中,属性配置和代码采用硬编码形式放在一起,简单方便,但是在分布式系统中,多个服务实例,需要分别管理每个服务下对应的配置项,往往配置项项目一致,内容存在偏差,则上线需要检查所有的配置项,如果修改配置项,就要重启等,开发管理相当麻烦,另外还会涉及安全性的问题,比如数据库密码等的存放。分布式系统中,需要我们统一管理,负责管理的中间件,就是配置中心。配置中心,应该具备的功能,分别是支持各种复杂的配置场景,与公司的运维体系和权限体系集成一体,各种配置兼容支持。 SpringCloud Config是配置中心中间件,将应用原本放在本地的配置,统一放置到中心服务器,拥有了更好地管理发布能力,基于应用、环境、版本三个维度管理,配置存储支持git等。无缝支持Spring技术的Environment和PropertySource接口 12、 Springcloud与网关中间件 API是在系统边界上,面向API的串行集中式强管控服务,至少具备如下功能 I 统一接入功能,提供一个高性能、高并发、高可靠的网关服务,也要支持负载均衡、异地多活、容灾切换 Ii 协议适配功能,因为网关是集中式强管控,必须要提供满足各个请求协议,能够协议适配 Iii 流量管控 Iv 安全防护、权限校验 SpringCloud第一代网关采用zuul,根据默认或者配置的路由规则,进行负载或者路由,只能支持基本功能,如果想要实现高度定制更多功能,就需要,进行开发filter过滤器 SpringCloud第二代网关采用Gateway,zuul采用每个请求分配一个线程的方式,不能支持高并发,gateway采用netty框架,具有强大的高并发处理能力,且实现了网管基本功能,例如安全,监控,限流等 13、 Springcloud与全链路监控中间件 分布式系统下,对于日志追踪等,有迫切的需求,需要一个可视化展示监控平台,进行汇集。全链路监控中间件基本功能如下,定位慢调用:各种web服务调用,慢sql执行,定位各种错误,定位各种异常,展现服务依赖,展现调用链路,应用告警SpringCloud采用sleuth 14、 Springcloud与分布式事务 微服务架构之后,困难,在于,1)系统拆分后,服务间调用通信、故障处理变得复杂2)微服务化后,服务调用的分布式事务问题突出3)数量众多,测试部署运维复杂,那么随着Docker容器技术、Devops技术的发展,各种PAAS平台工具的退出,变得愈加容易。分布式事务没有统一方案 15、 Springcloud与领域驱动 微服务作为一种架构风格,提供了快速开发微服务应用的能力,但是对于业务如何开发,业务架构如何治理,架构如何防腐,还需要方法论进行指导,领域驱动作为业务治理和架构防腐的方法论,结合起来,才能更好地提供企业使用 16、 SpringCloud与gRPC协议 通过SpringCloud进行搭建微服务应用,服务间得通信往往采用的是Feign中间件形式,实现简单快捷的调用,底层采用的http形式,相对于gRPC协议或者RPC协议的调用来说,性能相对低下,因此,可以切换开源技术框架gRPC实现 17、 SpringCloud与Dubbo生态融合 SpringCloud与Dubbo在本质上不在一个领域没有可比性。Dubbo是一个基于RPC协议的通信框架,而SpringCloud是实现微服务中间件,随着发展,两者生态也在不断融合,目前已经开源了Spring-cloud-dubbo的项目
huc_逆天 2020-02-24 21:01:42 0 浏览量 回答数 0

问题

【精品问答】Java技术1000问(1)

为了方便Java开发者快速找到相关技术问题和答案,开发者社区策划了Java技术1000问内容,包含最基础的如何学Java、实践中遇到的技术问题、RocketMQ面试、Java容器部署实践等维度内容。 我们会以每...
问问小秘 2019-12-01 21:57:43 39926 浏览量 回答数 17

问题

提高软件测试效率方法探讨

摘要:软件测试是保证软件质量的重要手段。如何组织软件测试,耗费最少时间与最小工作量完成软件测试,使软件质量满足用户要求,是软件研发单位需要解决的问题。本文结合工程实践,从...
技术小菜鸟 2019-12-01 21:17:12 3420 浏览量 回答数 1

问题

企业运营对DevOps的「傲慢与偏见」

摘要:出于各种原因,并非所有人都信任 DevOps 。有些人觉得 DevOps 只不过给开发者改善产品提供了一个途径而已,还有的人觉得 DevOps 是一堆悦耳的空头支票,甚至有人认为...
忆远0711 2019-12-01 21:32:29 9823 浏览量 回答数 0

问题

提高软件测试效率方法探讨

       摘要:软件测试是保证软件质量的重要手段。如何组织软件测试,耗费最少时间与最小工作量完成软件测试,使软件质量满足用户要求,是软件研发单位需要解决的问题。本文结合工程实践&#...
技术小菜鸟 2019-12-01 21:38:35 4319 浏览量 回答数 1

问题

该来的终于来了:“第一起”基于 IPv6 的 DDoS 攻击

作者介绍 杨彪,蚂蚁金服技术专家,《分布式服务架构:原理、设计与实战》和《可伸缩服务架构:框架与中间件》作者。近10年互联网和游戏行业工作经验,曾在酷我音乐盒、人人游戏...
驻云科技 2019-12-01 21:44:35 4186 浏览量 回答数 1

问题

软件项目的用户验收测试

       随着当今技术和市场环境的变化,越来越多的企业选择将软件项目外包,同时也有更多成熟的大型软件企业加入到软件项目的承包队伍中。外包的软件项目越来越多,如何对这些外包的项目进行验收测试日益成...
技术小菜鸟 2019-12-01 21:47:00 4292 浏览量 回答数 1

回答

原生XML扩展 我更喜欢使用其中一个原生XML扩展,因为它们与PHP捆绑在一起,通常比所有第三方库更快,并且在标记上给我所需的所有控制权。 DOM DOM扩展允许您使用PHP 5通过DOM API操作XML文档。它是W3C的文档对象模型核心级别3的实现,这是一个平台和语言中立的接口,允许程序和脚本动态访问和更新文件的内容,结构和风格。 DOM能够解析和修改现实世界(破碎)的HTML,并且可以执行XPath查询。它基于libxml。 使用DOM需要一些时间才能提高效率,但这个时间非常值得IMO。由于DOM是一个与语言无关的接口,因此您可以找到多种语言的实现,因此如果您需要更改编程语言,那么您很可能已经知道如何使用该语言的DOM API。 一个基本的用法示例可以在抓取A元素的href属性中找到,一般的概念概述可以在php的DOMDocument中找到 StackOverflow上已经广泛介绍了如何使用DOM扩展,因此如果您选择使用它,您可以确定您遇到的大多数问题都可以通过搜索/浏览Stack Overflow来解决。 XMLReader的 XMLReader扩展是一个XML pull解析器。读取器在文档流上作为光标前进,并在途中停在每个节点上。 与DOM一样,XMLReader基于libxml。我不知道如何触发HTML解析器模块,因此使用XMLReader解析损坏的HTML的可能性可能不如使用DOM,因为您可以明确告诉它使用libxml的HTML解析器模块。 使用php从h1标签获取所有值时,可以找到一个基本用法示例 XML解析器 此扩展允许您创建XML解析器,然后为不同的XML事件定义处理程序。每个XML解析器还有一些您可以调整的参数。 XML Parser库也基于libxml,并实现了SAX样式的XML推送解析器。它可能是比DOM或SimpleXML更好的内存管理选择,但是比XMLReader实现的pull解析器更难以使用。 SimpleXML的 SimpleXML扩展提供了一个非常简单且易于使用的工具集,用于将XML转换为可以使用普通属性选择器和数组迭代器处理的对象。 当您知道HTML是有效的XHTML时,SimpleXML是一个选项。如果你需要解析破碎的HTML,甚至不要考虑SimpleXml,因为它会窒息。 一个基本的用法示例可以在一个简单的CRUD节点程序和xml文件的节点值中找到,PHP手册中还有很多其他的例子。 第三方库(基于libxml) 如果您更喜欢使用第三方库,我建议使用实际上使用DOM / libxml而不是字符串解析的库。 FluentDom - 回购 FluentDOM为PHP中的DOMDocument提供了类似jQuery的流畅XML接口。选择器是用XPath或CSS编写的(使用CSS到XPath转换器)。当前版本扩展了DOM实现标准接口并添加了DOM Living Standard的功能。FluentDOM可以加载JSON,CSV,JsonML,RabbitFish等格式。可以通过Composer安装。 HtmlPageDom Wa72 \ HtmlPageDom`是一个用于轻松操作HTML文档的PHP库。它需要来自Symfony2组件的DomCrawler来遍历DOM树,并通过添加操作HTML文档的DOM树的方法来扩展它。 phpQuery(多年未更新) phpQuery是一个服务器端,可链接,CSS3选择器驱动的文档对象模型(DOM)API,基于用PHP5编写的jQuery JavaScript库,并提供额外的命令行界面(CLI)。 另见:https://github.com/electrolinux/phpquery Zend_Dom Zend_Dom提供了处理DOM文档和结构的工具。目前,我们提供Zend_Dom_Query,它提供了一个统一的界面,可以使用XPath和CSS选择器查询DOM文档。 的QueryPath QueryPath是一个用于操作XML和HTML的PHP​​库。它不仅适用于本地文件,还适用于Web服务和数据库资源。它实现了许多jQuery接口(包括CSS样式的选择器),但它在服务器端使用时经过了大量调整。可以通过Composer安装。 fDOMDocument fDOMDocument扩展了标准DOM,以便在所有错误情况下使用异常,而不是PHP警告或通知。为方便起见,他们还添加了各种自定义方法和快捷方式,并简化了DOM的使用。 军刀/ XML saber / xml是一个包装和扩展XMLReader和XMLWriter类的库,用于创建一个简单的“xml到对象/数组”映射系统和设计模式。编写和读取XML是单遍的,因此可以快速并且需要大型xml文件的低内存。 FluidXML FluidXML是一个用于使用简洁流畅的API来操作XML的PHP​​库。它利用XPath和流畅的编程模式,既有趣又有效。 第三方(不是基于libxml的) 构建DOM / libxml的好处是,您可以获得良好的开箱即用性能,因为您基于本机扩展。但是,并非所有第三方库都沿着这条路线行进。其中一些列在下面 PHP简单的HTML DOM解析器 用PHP5 +编写的HTML DOM解析器允许您以非常简单的方式操作HTML! 需要PHP 5+。 支持无效的HTML。 使用选择器在HTML页面上查找标签,就像jQuery一样。 从一行中提取HTML中的内容。 我一般不推荐这个解析器。代码库很糟糕,解析器本身很慢而且内存很耗。并非所有jQuery选择器(例如子选择器)都是可能的。任何基于libxml的库都应该比这更容易。 PHP Html解析器 PHPHtmlParser是一个简单,灵活的html解析器,允许您使用任何css选择器(如jQuery)选择标签。目标是帮助开发需要快速,简单的方法来废弃html的工具,无论它是否有效!这个项目最初是由sunra / php-simple-html-dom-parser支持的,但支持似乎已经停止,所以这个项目是我对他以前工作的改编。 同样,我不推荐这个解析器。CPU使用率很高,速度相当慢。还没有清除已创建DOM对象的内存的功能。这些问题尤其适用于嵌套循环。文档本身不准确且拼写错误,自4月14日以来没有回复修复。 加农 通用标记器和HTML / XML / RSS DOM解析器 能够操纵元素及其属性 支持无效的HTML和UTF8 可以对元素执行类似CSS3的高级查询(比如jQuery - 支持的命名空间) HTML美化器(如HTML Tidy) 缩小CSS和Javascript 排序属性,更改字符大小写,更正缩进等。 扩展 使用基于当前字符/标记的回调解析文档 操作以较小的功能分隔,以便轻松覆盖 快速而简单 从未使用过它。不知道它是否有用。 HTML 5 您可以使用上面的方法来解析HTML5,但由于HTML5允许的标记,可能会有怪癖。因此,对于HTML5,您要考虑使用专用解析器,例如 html5lib 基于WHATWG HTML5规范的HTML解析器的Python和PHP实现,可与主要桌面Web浏览器实现最大兼容性。 HTML5最终确定后,我们可能会看到更多专用解析器。还有一个W3的博客文章,名为How-To for html 5 parsing,值得一试。 网页服务 如果您不想编写PHP,您也可以使用Web服务。一般来说,我发现这些实用程序很少,但那只是我和我的用例。 ScraperWiki。 ScraperWiki的外部界面允许您以您希望在Web或您自己的应用程序中使用的形式提取数据。您还可以提取有关任何刮刀状态的信息。 常用表达 最后也是最不推荐的,您可以使用正则表达式从HTML中提取数据。通常,不鼓励在HTML上使用正则表达式。 您可以在网上找到与标记相匹配的大多数片段都很脆弱。在大多数情况下,它们只适用于非常特殊的HTML。微小的标记更改,例如在某处添加空格,或添加或更改标记中的属性,可以使RegEx在未正确编写时失败。在HTML上使用RegEx之前,您应该知道自己在做什么。 HTML解析器已经知道HTML的语法规则。必须为您编写的每个新RegEx讲授正则表达式。RegEx在某些情况下很好,但它实际上取决于您的用例。 您可以编写更可靠的解析器,但是使用正则表达式编写完整可靠的自定义解析器是浪费时间,因为上述库已经存在并且在此方面做得更好。
游客gsy3rkgcdl27k 2019-12-02 02:09:37 0 浏览量 回答数 0

回答

本文介绍了如何使用 Serverless 工作流提供长流程分布式事务保证,帮助用户聚焦于自身业务逻辑。 简介 复杂的业务场景例如电商网站、酒店、航班预定这类涉及订单管理的应用通常要访问多个远程服务,并且对操作事务性语义(即所有步骤全部成功或全部失败,不存在中间状态)有较高要求。在流量较小、数据存储集中的应用中,事务性可以通过关系型数据库提供的 ACID 特性满足。然而在大流量场景下,为了高可用和可扩展性,业务通常选择向微服务的分布式架构方向演进。在这样的架构中提供多步骤事务性的保证通常需要引入队列和数据库来持久化消息以及展现流程状态,这类系统的开发和运维会给业务方带来额外的成本和负担。而使用 Serverless 工作流提供长流程分布式事务保证会帮您解决这些问题。 场景描述 假设某应用为其用户提供预定火车票、航班和酒店的功能,要求三个步骤保证事务性。该功能需要三个远程调用实现(例如预定火车票需要调用 12306 接口),如果三个调用都成功则该订单成功。然而实际上任何一个远程调用都有可能会失败,因此该应用需要对不同的失败场景做出相应的补偿逻辑,回退已完成操作。如下图所示: 如果预定火车票(BuyTrainTicket)成功,而预定航班(ReserveFlight)失败,则需要取消已经购买的火车票 (CancelTrainTicket),并告知用户订单失败。 如果预定火车票(BuyTrainTicket)和预定航班(ReserveFlight)均成功,但是预订酒店(ReserveHotel) 失败,则需要取消已经预定的航班(CancelFlight)和火车票(CancelTrainTicket),并告知用户订单失败。 longtxn-saga_train_flight_hotel Serverless 工作流实现 下文的示例将 FC 函数编排成一个 Serverless 工作流流程从而实现了一个可靠的多步骤长流程,该示例分为 3 步: 创建 FC 函数 创建流程 执行并查看结果 步骤 1:创建 FC 函数(模拟上面提到的3个操作:预定火车票、预定航班、预定酒店) 创建下面的 Python2.7 的函数,关于创建的详细步骤,可以参见 FC 文档,建议命名: Service: fnf-demo Function: Operation Operation 函数模拟各操作(例如预定航班、预定酒店)的实现,根据输入决定该操作执行结果(成功或失败)。 import json import logging import uuid def handler(event, context): evt = json.loads(event) logger = logging.getLogger() id = uuid.uuid4() op = "operation" if 'operation' in evt: op = evt['operation'] if op in evt: result = evt[op] if result == False: logger.info("%s failed" % op) exit() logger.info("%s succeeded, id %s" % (op, id)) return '{"%s":"success", "%s_txnID": "%s"}' % (op, op, id) 步骤 2:创建流程 使用 Serverless 工作流控制台创建下面的流程。 配置流程 RAM 角色 { "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "fnf.aliyuncs.com" ] } } ], "Version": "1" } 流程定义 version: v1 type: flow steps: - type: task resourceArn: acs:fc:{region}:{accountID}:services/fnf-demo/functions/Operation name: BuyTrainTicket inputMappings: - target: operation source: buy_train_ticket - target: buy_train_ticket source: $input.buy_train_ticket_result catch: - errors: - FC.Unknown goto: OrderFailed - type: task resourceArn: acs:fc:{region}:{accountID}:services/fnf-demo/functions/Operation name: ReserveFlight inputMappings: - target: operation source: reserve_flight - target: reserve_flight source: $input.reserve_flight_result catch: # 捕获 ReserveFlight task 抛出的 FC.Unknown 错误,跳转到 CancelTrainTicket。 - errors: - FC.Unknown goto: CancelTrainTicket - type: task resourceArn: acs:fc:{region}:{accountID}:services/fnf-demo/functions/Operation name: ReserveHotel inputMappings: - target: operation source: reserve_hotel - target: reserve_hotel source: $input.reserve_hotel_result retry: # 对 FC.Unknown 类型的错误最多指数退避重试 3 次,初始间隔 1s,后续间隔 = 上次间隔 * 2。 - errors: - FC.Unknown intervalSeconds: 1 maxAttempts: 3 multiplier: 2 catch: # 捕获 ReserveHotel task 抛出的 FC.Unknown 错误,跳转到 CancelFlight。 - errors: - FC.Unknown goto: CancelFlight - type: succeed name: OrderSucceeded - type: task resourceArn: acs:fc:{region}:{accountID}:services/fnf-demo/functions/Operation name: CancelFlight inputMappings: - target: operation source: cancel_flight - target: reserve_flight_txnID source: $local.reserve_flight_txnID - type: task resourceArn: acs:fc:{region}:{accountID}:services/fnf-demo/functions/Operation name: CancelTrainTicket inputMappings: - target: operation source: cancel_train_ticket - target: reserve_flight_txnID source: $local.reserve_flight_txnID - type: fail name: OrderFailed 步骤 3:执行并查看结果 在控制台上对创建好的流程(Flow)开始一个新的执行(Execution)。StartExecution API 要求传入 JSON 格式的输入。下面的 JSON 对象可以模拟每个步骤的成功或失败(例如 "reserve_hotel_result":"fail" 代表模拟预定酒店这步失败)。StartExecution 是一个异步 API,调用结束后,Serverless 工作流会返回一个执行名字用来查询流程执行状态。 { "buy_train_ticket_result":"success", "reserve_flight_result":"success", "reserve_hotel_result":"fail" } 流程执行开始后,在 Serverless 工作流控制台单击进入该执行并查看执行过程和结果。可以看到,由于 "reserve_hotel_result":"fail" 和 ReserveHotel 函数调用失败,Serverless 工作流按照流程定义,依次取消航班(CancelFlight)、取消火车票(CancelTrainTicket)。Serverless 工作流每个步骤转换有持久化的保证,因此网络中断或进程崩溃等失败场景不会影响流程事务性的保证。 Screen Shot 2019-06-26 at 12.14.50 PM 流程执行会产生执行历史事件(event),这些事件可以通过控制台或者 SDK/CLI 调用 GetExecutionHistory API 查询。 Screen Shot 2019-06-26 at 12.17.26 PM 错误处理和重试 上面示例中的预定航班、预定酒店等远程调用都有可能受到网络或服务错误等原因导致调用失败,而增加对瞬时错误的重试可以提高订单流程成功率。Serverless 工作流在任务(Task)类型的步骤(Step)自带重试功能,如预定酒店这个步骤用下面的写法可以实现对 FC.Unknown 类型的错误指数退避。假设重试到达最大次数后 ReserveHotel 都无法成功,按照该步骤中 catch 的定义,ReserveHotel 函数抛出的 FC.Unknown 错误会被捕获并将跳转到 CancelFlight 执行定义好的补偿逻辑。 - type: task resourceArn: acs:fc:{region}:{accountID}:services/fnf-demo/functions/Operation name: ReserveHotel inputMappings: - target: operation source: reserve_hotel retry: # 对 FC.Unknown 类型的错误最多指数退避重试3次,初始间隔1s,后续间隔 = 上次间隔 * 2。 - errors: - FC.Unknown intervalSeconds: 1 maxAttempts: 3 multiplier: 2 catch: # 捕获 ReserveHotel task 抛出的 FC.Unknown 错误,跳转到 CancelFlight。 - errors: - FC.Unknown goto: CancelFlight 下图可以看到加入重试之后预订酒店(ReserveHotel)任务执行了多次直到最大重试数。Screen Shot 2019-06-26 at 12.19.55 PM 步骤间的数据传递 预定酒店失败后需要取消航班和火车票,这两部分别需要用到预定航班和预定火车票返回的交易 ID (txnID),下面的 inputMapping 对象描述了如何将之前步骤产生的输出传入 CancelFlight 这个步骤中。 - type: task resourceArn: acs:fc:{region}:{accountID}:services/fnf-demo/functions/Operation name: CancelFlight inputMappings: - target: operation source: cancel_flight - target: reserve_flight_txnID source: $local.reserve_flight_txnID 流程执行各步骤结束的输出都会被放在 StepExited 事件详情(EventDetail)的 local 对象中。 { "input":{ "operation":"reserve_hotel", "reserve_hotel_result":"fail" }, "local":{ "buy_train_ticket":"success", "buy_train_ticket_txnID":"d37412b3-bb68-4d04-9d90-c8c15643d45e", "reserve_flight_result":"success", "reserve_flight_txnID":"024caecf-cfa3-43a6-b561-9b6fe0571b55" }, "resourceArn":"acs:fc:{region}:{accountID}:services/fnf-demo/functions/Operation", "cause":"{"errorMessage":"Process exited unexpectedly before completing request (duration: 12ms, maxMemoryUsage: 9.18MB)"}", "error":"FC.Unknown", "retryCount":3, "goto":"CancelFlight" } 结合上面的 EventDetail 和 inputMappings 的映射之后,传入到 CancelFlight 步骤的输入变成如下 JSON 对象,这样 CancelFlight 函数的输入会包含 reserve_flight_txnID 字段。 "input":{ "operation":"cancel_flight", "reserve_flight_txnID":"024caecf-cfa3-43a6-b561-9b6fe0571b55" }
1934890530796658 2020-03-27 10:47:41 0 浏览量 回答数 0

回答

服务器和操作系统 1、主板的两个芯片分别是什么芯片,具备什么作用? 北桥:离CPU近,负责CPU、内存、显卡之间的通信。 南桥:离CPU远,负责I/O总线之间的通信。 2、什么是域和域控制器? 将网络中的计算机逻辑上组织到一起,进行集中管理,这种集中管理的环境称为域。 在域中,至少有一台域控制器,域控制器中保存着整个域的用户账号和安全数据,安装了活动目录的一台计算机为域控制器,域管理员可以控制每个域用户的行为。 3、现在有300台虚拟机在云上,你如何进行管理? 1)设定堡垒机,使用统一账号登录,便于安全与登录的考量。 2)使用ansiable、puppet进行系统的统一调度与配置的统一管理。 3)建立简单的服务器的系统、配置、应用的cmdb信息管理。便于查阅每台服务器上的各种信息记录。 4、简述raid0 raid1 raid5 三种工作模式的工作原理及特点 磁盘冗余阵列(Redundant Arrays of Independent Disks,RAID),把硬盘整合成一个大磁盘,在大磁盘上再分区,存放数据、多块盘放在一起可以有冗余(备份)。 RAID整合方式有很多,常用的:0 1 5 10 RAID 0:可以是一块盘和N个盘组合 优点:读写快,是RAID中最好的 缺点:没有冗余,一块坏了数据就全没有了 RAID 1:只能2块盘,盘的大小可以不一样,以小的为准 10G+10G只有10G,另一个做备份。它有100%的冗余,缺点:浪费资源,成本高 RAID 5 :3块盘,容量计算10*(n-1),损失一块盘 特点:读写性能一般,读还好一点,写不好 总结: 冗余从好到坏:RAID1 RAID10 RAID 5 RAID0 性能从好到坏:RAID0 RAID10 RAID5 RAID1 成本从低到高:RAID0 RAID5 RAID1 RAID10 5、linux系统里,buffer和cache如何区分? buffer和cache都是内存中的一块区域,当CPU需要写数据到磁盘时,由于磁盘速度比较慢,所以CPU先把数据存进buffer,然后CPU去执行其他任务,buffer中的数据会定期写入磁盘;当CPU需要从磁盘读入数据时,由于磁盘速度比较慢,可以把即将用到的数据提前存入cache,CPU直接从Cache中拿数据要快的多。 6、主机监控如何实现? 数据中心可以用zabbix(也可以是nagios或其他)监控方案,zabbix图形界面丰富,也自带很多监控模板,特别是多个分区、多个网卡等自动发现并进行监控做得非常不错,不过需要在每台客户机(被监控端)安装zabbix agent。 如果在公有云上,可以使用云监控来监控主机的运行。 网络 7、主机与主机之间通讯的三要素有什么? IP地址、子网掩码、IP路由 8、TCP和UDP都可以实现客户端/服务端通信,这两个协议有何区别? TCP协议面向连接、可靠性高、适合传输大量数据;但是需要三次握手、数据补发等过程,耗时长、通信延迟大。 UDP协议面向非连接、可靠性低、适合传输少量数据;但是连接速度快、耗时短、延迟小。 9、简述TCP协议三次握手和四次分手以及数据传输过程 三次握手: (1)当主机A想同主机B建立连接,主机A会发送SYN给主机B,初始化序列号seq=x。主机A通过向主机B发送SYS报文段,实现从主机A到主机B的序列号同步,即确定seq中的x。 (2)主机B接收到报文后,同意与A建立连接,会发送SYN、ACK给主机A。初始化序列号seq=y,确认序号ack=x+1。主机B向主机A发送SYN报文的目的是实现从主机B到主机A的序列号同步,即确定seq中的y。 (3)主机A接收到主机B发送过来的报文后,会发送ACK给主机B,确认序号ack=y+1,建立连接完成,传输数据。 四次分手: (1)当主机A的应用程序通知TCP数据已经发送完毕时,TCP向主机B发送一个带有FIN附加标记的报文段,初始化序号seq=x。 (2)主机B收到这个FIN报文段,并不立即用FIN报文段回复主机A,而是想主机A发送一个确认序号ack=x+1,同时通知自己的应用程序,对方要求关闭连接(先发ack是防止主机A重复发送FIN报文)。 (3)主机B发送完ack确认报文后,主机B 的应用程序通知TCP我要关闭连接,TCP接到通知后会向主机A发送一个带有FIN附加标记的报文段,初始化序号seq=x,ack=x+1。 (4)主机A收到这个FIN报文段,向主机B发送一个ack确认报文,ack=y+1,表示连接彻底释放。 10、SNAT和DNAT的区别 SNAT:内部地址要访问公网上的服务时(如web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。 DNAT:当内部需要提供对外服务时(如对外发布web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布。 数据库 11、叙述数据的强一致性和最终一致性 强一致性:在任何时刻所有的用户或者进程查询到的都是最近一次成功更新的数据。强一致性是程度最高一致性要求,也是最难实现的。关系型数据库更新操作就是这个案例。 最终一致性:和强一致性相对,在某一时刻用户或者进程查询到的数据可能都不同,但是最终成功更新的数据都会被所有用户或者进程查询到。当前主流的nosql数据库都是采用这种一致性策略。 12、MySQL的主从复制过程是同步的还是异步的? 主从复制的过程是异步的复制过程,主库完成写操作并计入binlog日志中,从库再通过请求主库的binlog日志写入relay中继日志中,最后再执行中继日志的sql语句。 **13、MySQL主从复制的优点 ** 如果主服务器出现问题,可以快速切换到从服务器提供的服务; 可以在从服务器上执行查询操作,降低主服务器的访问压力; 可以在从服务器上执行备份,以避免备份期间影响主服务器的服务。 14、redis有哪些数据类型? (一)String 最常规的set/get操作,value可以是String也可以是数字。一般做一些复杂的计数功能的缓存。 (二)hash 这里value存放的是结构化的对象,比较方便的就是操作其中的某个字段。做单点登录的时候,就是用这种数据结构存储用户信息,以cookieId作为key,设置30分钟为缓存过期时间,能很好的模拟出类似session的效果。 (三)list 使用List的数据结构,可以做简单的消息队列的功能。另外还有一个就是,可以利用lrange命令,做基于redis的分页功能,性能极佳,用户体验好。 (四)set 因为set堆放的是一堆不重复值的集合。所以可以做全局去重的功能。为什么不用JVM自带的Set进行去重?因为我们的系统一般都是集群部署,使用JVM自带的Set,比较麻烦,难道为了一个做一个全局去重,再起一个公共服务,太麻烦了。 另外,就是利用交集、并集、差集等操作,可以计算共同喜好,全部的喜好,自己独有的喜好等功能。 (五)Zset Zset多了一个权重参数score,集合中的元素能够按score进行排列。可以做排行榜应用,取TOP N操作。另外,sorted set可以用来做延时任务。最后一个应用就是可以做范围查找。 15、叙述分布式数据库及其使用场景? 分布式数据库应该是数据访问对应用透明,每个分片默认采用主备架构,提供灾备、恢复、监控、不停机扩容等整套解决方案,适用于TB或PB级的海量数据场景。 应用 16、Apache、Nginx、Lighttpd都有哪些特点? Apache特点:1)几乎可以运行在所有的计算机平台上;2)支持最新的http/1.1协议;3)简单而且强有力的基于文件的配置(httpd.conf);4)支持通用网关接口(cgi);5)支持虚拟主机;6)支持http认证,7)集成perl;8)集成的代理服务器;9)可以通过web浏览器监视服务器的状态,可以自定义日志;10)支持服务器端包含命令(ssi);11)支持安全socket层(ssl);12)具有用户绘画过程的跟踪能力;13)支持fastcgi;14)支持java servlets Nginx特点:nginx是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器,处理静态文件,索引文件以及自动索引,无缓存的反向代理加速,简单的负载均衡和容错,具有很高的稳定性,支持热部署。 Lighttpd特点:是一个具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块,Lighttpd是众多opensource轻量级的webserver中较为优秀的一个,支持fastcgi,cgi,auth,输出压缩,url重写,alias等重要功能。 17、LVS、NGINX、HAPROXY的优缺点? LVS优点:具有很好的可伸缩性、可靠性、可管理性。抗负载能力强、对内存和CPU资源消耗比较低。工作在四层上,仅作分发,所以它几乎可以对所有的应用做负载均衡,且没有流量的产生,不会受到大流量的影响。 LVS缺点:软件不支持正则表达式处理,不能做动静分离,如果web应用比较庞大,LVS/DR+KEEPALIVED实施和管理比较复杂。相对而言,nginx和haproxy就简单得多。 nginx优点:工作在七层之上,可以针对http应用做一些分流的策略。比如针对域名、目录结构。它的正则规则比haproxy更为强大和灵活。对网络稳定性依赖非常小。理论上能PING就能进行负载均衡。配置和测试简单,可以承担高负载压力且稳定。nginx可以通过端口检测到服务器内部的故障。比如根据服务器处理网页返回的状态码、超时等。并且可以将返回错误的请求重新发送给另一个节点,同时nginx不仅仅是负载均衡器/反向代理软件。同时也是功能强大的web服务器,可以作为中层反向代理、静态网页和图片服务器使用。 nginx缺点:不支持URL检测,仅支持HTTP和EMAIL,对session的保持,cookie的引导能力相对欠缺。 Haproxy优点:支持虚拟主机、session的保持、cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。支持TCP协议的负载均衡;单纯从效率上讲比nginx更出色,且负载策略非常多。 aproxy缺点:扩展性能差;添加新功能很费劲,对不断扩展的新业务很难对付。 18、什么是中间件?什么是jdk? 中间件介绍: 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源 中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯 是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口 但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递 通过中间件,应用程序可以工作于多平台或OS环境。 jdk:jdk是Java的开发工具包 它是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境 19、日志收集、日志检索、日志展示的常用工具有哪些? ELK或EFK。 Logstash:数据收集处理引擎。支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后存储以供后续使用。 Kibana:可视化化平台。它能够搜索、展示存储在 Elasticsearch 中索引数据。使用它可以很方便的用图表、表格、地图展示和分析数据。 Elasticsearch:分布式搜索引擎。具有高可伸缩、高可靠、易管理等特点。可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,现在使用最广的开源搜索引擎之一,Wikipedia 、StackOverflow、Github 等都基于它来构建自己的搜索引擎。 Filebeat:轻量级数据收集引擎。基于原先 Logstash-fowarder 的源码改造出来。换句话说:Filebeat就是新版的 Logstash-fowarder,逐渐取代其位置。 20、什么是蓝绿发布和灰度发布? 蓝绿:旧版本-新版本 灰度:新旧版本各占一定比例,比例可自定义 两种发布都通过devops流水线实现
剑曼红尘 2020-03-23 15:51:44 0 浏览量 回答数 0

问题

程序员报错QA大分享(1)

程序员报错QA征集第一弹来了哦~包含QA分享一期征集的部分内容,链接附带解决方案,可收藏哦~ npm install安装依赖一直报错?报错https://developer.aliyun.com/ask/301...
问问小秘 2020-06-18 15:46:14 1684 浏览量 回答数 2

问题

Git 改变了分布式 Web 开发规则:报错

版本控制系统是大部分开发项目的核心组件,无论是开发应用程序、网站还是操作系统。大部分项目都涉及多个开发人员,往往位于不同的位置。分布式版本控制系统并不是新事物,但是 Git 版本控制系统为开发人员之...
kun坤 2020-06-08 11:09:24 3 浏览量 回答数 1

回答

Go 的优势在于能够将简单的和经过验证的想法结合起来,同时避免了其他语言中出现的许多问题。本文概述了 Go 背后的一些设计原则和工程智慧,作者认为,Go 语言具备的所有这些优点,将共同推动其成为接替 Java 并主导下一代大型软件开发平台的最有力的编程语言候选。很多优秀的编程语言只是在个别领域比较强大,如果将所有因素都纳入考虑,没有其他语言能够像 Go 语言一样“全面开花”,在大型软件工程方面,尤为如此。 基于现实经验 Go 是由经验丰富的软件行业老手一手创建的,长期以来,他们对现有语言的各种缺点有过切身体会的痛苦经历。几十年前,Rob Pike 和 Ken Thompson 在 Unix、C 和 Unicode 的发明中起到了重要作用。Robert Griensemer 在为 JavaScript 和 Java 开发 V8 和 HotSpot 虚拟机之后,在编译器和垃圾收集方面拥有数十年的经验。有太多次,他们不得不等待 Google 规模的 C++/Java 代码库进行编译。于是,他们开始着手创建新的编程语言,将他们半个世纪以来的编写代码所学到的一切经验包含进去。 专注于大型工程 小型工程项目几乎可以用任何编程语言来成功构建。当成千上万的开发人员在数十年的持续时间压力下,在包含数千万行代码的大型代码库上进行协作时,就会发生真正令人痛苦的问题。这样会导致一些问题,如下: 较长的编译时间导致中断开发。代码库由几个人 / 团队 / 部门 / 公司所拥有,混合了不同的编程风格。公司雇佣了数千名工程师、架构师、测试人员、运营专家、审计员、实习生等,他们需要了解代码库,但也具备广泛的编码经验。依赖于许多外部库或运行时,其中一些不再以原始形式存在。在代码库的生命周期中,每行代码平均被重写 10 次,被弄得千疮百痍,而且还会发生技术偏差。文档不完整。 Go 注重减轻这些大型工程的难题,有时会以使小型工程变得更麻烦为代价,例如,代码中到处都需要几行额外的代码行。 注重可维护性 Go 强调尽可能多地将工作转给自动化的代码维护工具中。Go 工具链提供了最常用的功能,如格式化代码和导入、查找符号的定义和用法、简单的重构以及代码异味的识别。由于标准化的代码格式和单一的惯用方式,机器生成的代码更改看起来非常接近 Go 中人为生成的更改并使用类似的模式,从而允许人机之间更加无缝地协作。 保持简单明了 初级程序员为简单的问题创建简单的解决方案。高级程序员为复杂的问题创建复杂的解决方案。伟大的程序员找到复杂问题的简单解决方案。 ——Charles Connell 让很多人惊讶的一点是,Go 居然不包含他们喜欢的其他语言的概念。Go 确实是一种非常小巧而简单的语言,只包含正交和经过验证的概念的最小选择。这鼓励开发人员用最少的认知开销来编写尽可能简单的代码,以便许多其他人可以理解并使用它。 使事情清晰明了 良好的代码总是显而易见的,避免了那些小聪明、难以理解的语言特性、诡异的控制流和兜圈子。 许多语言都致力提高编写代码的效率。然而,在其生命周期中,人们阅读代码的时间却远远超过最初编写代码所需的时间(100 倍)。例如,审查、理解、调试、更改、重构或重用代码。在查看代码时,往往只能看到并理解其中的一小部分,通常不会有完整的代码库概述。为了解释这一点,Go 将所有内容都明确出来。 错误处理就是一个例子。让异常在各个点中断代码并在调用链上冒泡会更容易。Go 需要手动处理和返回每个错误。这使得它可以准确地显示代码可以被中断的位置以及如何处理或包装错误。总的来说,这使得错误处理编写起来更加繁琐,但是也更容易理解。 简单易学 Go 是如此的小巧而简单,以至于人们可以在短短几天内就能研究通整个语言及其基本概念。根据我们的经验,培训用不了一个星期(相比于掌握其他语言需要几个月),初学者就能够理解 Go 专家编写的代码,并为之做出贡献。为了方便吸引更多的用户,Go 网站提供了所有必要的教程和深入研究的文章。这些教程在浏览器中运行,允许人们在将 Go 安装到本地计算机上之前就能够学习和使用 Go。 解决之道 Go 强调的是团队之间的合作,而不是个人的自我表达。 在 Go(和 Python)中,所有的语言特性都是相互正交和互补的,通常有一种方法可以做一些事情。如果你想让 10 个 Python 或 Go 程序员来解决同一个问题,你将会得到 10 个相对类似的解决方案。不同的程序员在彼此的代码库中感觉更自在。在查看其他人的代码时,国骂会更少,而且人们的工作可以更好地融合在一起,从而形成了一致的整体,人人都为之感到自豪,并乐于工作。这还避免了大型工程的问题,如: 开发人员认为良好的工作代码很“混乱”,并要求在开始工作之前进行重写,因为他们的思维方式与原作者不同。 不同的团队成员使用不同的语言子集来编写相同代码库的部分内容。 ![image.png](https://ucc.alicdn.com/pic/developer-ecology/e64418f1455d46aaacfdd03fa949f16d.png) 简单、内置的并发性 Go 专为现代多核硬件设计。 目前使用的大多数编程语言(Java、JavaScript、Python、Ruby、C、C++)都是 20 世纪 80 年代到 21 世纪初设计的,当时大多数 CPU 只有一个计算内核。这就是为什么它们本质上是单线程的,并将并行化视为边缘情况的马后炮。通过现成和同步点之类的附加组件来实现,而这些附加组件既麻烦又难以正确使用。第三方库虽然提供了更简单的并发形式,如 Actor 模型,但是总有多个可用选项,结果导致了语言生态系统的碎片化。今天的硬件拥有越来越多的计算内核,软件必须并行化才能高效运行。Go 是在多核处理器时代编写的,并且在语言中内置了简单、高级的 CSP 风格并发性。 面向计算的语言原语 就深层而言,计算机系统接收数据,对其进行处理(通常要经过几个步骤),然后输出结果数据。例如,Web 服务器从客户端接收 HTTP 请求,并将其转换为一系列数据库或后端调用。一旦这些调用返回,它就将接收到的数据转换成 HTML 或 JSON 并将其输出给调用者。Go 的内置语言原语直接支持这种范例: 结构表示数据 读和写代表流式 IO 函数过程数据 goroutines 提供(几乎无限的)并发性 在并行处理步骤之间传输管道数据 因为所有的计算原语都是由语言以直接形式提供的,因此 Go 源代码更直接地表达了服务器执行的操作。 OO — 好的部分 更改基类中的某些内容的副作用 面向对象非常有用。过去几十年来,面向对象的使用富有成效,并让我们了解了它的哪些部分比其他部分能够更好地扩展。Go 在面向对象方面采用了一种全新的方法,并记住了这些知识。它保留了好的部分,如封装、消息传递等。Go 还避免了继承,因为它现在被认为是有害的,并为组合提供了一流的支持。 现代标准库 目前使用的许多编程语言(Java、JavaScript、Python、Ruby)都是在互联网成为当今无处不在的计算平台之前设计的。因此,这些语言的标准库只提供了相对通用的网络支持,而这些网络并没有针对现代互联网进行优化。Go 是十年前创建的,当时互联网已全面发展。Go 的标准库允许在没有第三方库的情况下创建更复杂的网络服务。这就避免了第三方库的常见问题: 碎片化:总是有多个选项实现相同的功能。 膨胀:库常常实现的不仅仅是它们的用途。 依赖地狱:库通常依赖于特定版本的其他库。 未知质量:第三方代码的质量和安全性可能存在问题。 未知支持:第三方库的开发可能随时停止支持。 意外更改:第三方库通常不像标准库那样严格地进行版本控制。 关于这方面更多的信息请参考 Russ Cox 提供的资料 标准化格式 Gofmt 的风格没有人会去喜欢,但人人都会喜欢 gofmt。 ——Rob Pike Gofmt 是一种以标准化方式来格式化 Go 代码的程序。它不是最漂亮的格式化方式,但却是最简单、最不令人生厌的格式化方式。标准化的源代码格式具有惊人的积极影响: 集中讨论重要主题: 它消除了围绕制表符和空格、缩进深度、行长、空行、花括号的位置等一系列争论。 开发人员在彼此的代码库中感觉很自在, 因为其他代码看起来很像他们编写的代码。每个人都喜欢自由地按照自己喜欢的方式进行格式化代码,但如果其他人按照自己喜欢的方式格式化了代码,这么做很招人烦。 自动代码更改并不会打乱手写代码的格式,例如引入了意外的空白更改。 许多其他语言社区现在正在开发类似 gofmt 的东西。当作为第三方解决方案构建时,通常会有几个相互竞争的格式标准。例如,JavaScript 提供了 Prettier 和 StandardJS。这两者都可以用,也可以只使用其中的一个。但许多 JS 项目并没有采用它们,因为这是一个额外的决策。Go 的格式化程序内置于该语言的标准工具链中,因此只有一个标准,每个人都在使用它。 快速编译 ![image.png](https://ucc.alicdn.com/pic/developer-ecology/8a76f3f07f484266af42781d9e7b8692.png) 对于大型代码库来说,它们长时间的编译是促使 Go 诞生的原因。Google 主要使用的是 C++ 和 Java,与 Haskell、Scala 或 Rust 等更复杂的语言相比,它们的编译速度相对较快。尽管如此,当编译大型代码库时,即使是少量的缓慢也会加剧编译的延迟,从而激怒开发人员,并干扰流程。Go 的设计初衷是为了提高编译效率,因此它的编译器速度非常快,几乎没有编译延迟的现象。这给 Go 开发人员提供了与脚本类语言类似的即时反馈,还有静态类型检查的额外好处。 交叉编译 由于语言运行时非常简单,因此它被移植到许多平台,如 macOS、Linux、Windows、BSD、ARM 等。Go 可以开箱即用地为所有这些平台编译二进制文件。这使得从一台机器进行部署变得很容易。 快速执行 Go 的运行速度接近于 C。与 JITed 语言(Java、JavaScript、Python 等)不同,Go 二进制文件不需要启动或预热的时间,因为它们是作为编译和完全优化的本地代码的形式发布的。Go 的垃圾收集器仅引入微秒量级的可忽略的停顿。除了快速的单核性能外,Go 还可以轻松利用所有的 CPU 内核。 内存占用小 像 JVM、Python 或 Node 这样的运行时不仅仅在运行时加载程序代码,每次运行程序时,它们还会加载大型且高度复杂的基础架构,以进行编译和优化程序。如此一来,它们的启动时间就变慢了,并且还占用了大量内存(数百兆字节)。而 Go 进程的开销更小,因为它们已经完全编译和优化,只需运行即可。Go 还以非常节省内存的方式来存储数据。在内存有限且昂贵的云环境中,以及在开发过程中,这一点非常重要。我们希望在一台机器上能够快速启动整个堆栈,同时将内存留给其他软件。 部署规模小 Go 的二进制文件大小非常简洁。Go 应用程序的 Docker 镜像通常比用 Java 或 Node 编写的等效镜像要小 10 倍,这是因为它无需包含编译器、JIT,以及更少的运行时基础架构的原因。这些特点,在部署大型应用程序时很重要。想象一下,如果要将一个简单的应用程序部署到 100 个生产服务器上会怎么样?如果使用 Node/JVM 时,我们的 Docker 注册表就必须提供 100 个 docker 镜像,每个镜像 200MB,那么一共就需要 20GB。要完成这些部署就需要一些时间。想象一下,如果我们想每天部署 100 次的话,如果使用 Go 服务,那么 Docker 注册表只需提供 10 个 docker 镜像,每个镜像只有 20MB,共只需 2GB 即可。大型 Go 应用程序可以更快、更频繁地部署,从而使得重要更新能够更快地部署到生产环境中。 独立部署 Go 应用程序部署为一个包含所有依赖项的单个可执行文件,并无需安装特定版本的 JVM、Node 或 Python 运行时;也不必将库下载到生产服务器上,更无须对运行 Go 二进制文件的机器进行任何更改。甚至也不需要讲 Go 二进制文件包装到 Docker 来共享他们。你需要做的是,只是将 Go 二进制文件放到服务器上,它就会在那里运行,而不用关心服务器运行的是什么。前面所提到的那些,唯一的例外是使用net和os/user包时针对对glibc的动态链接。 供应依赖关系 Go 有意识避免使用第三方库的中央存储库。Go 应用程序直接链接到相应的 Git 存储库,并将所有相关代码下载(供应)到自己的代码库中。这样做有很多好处: 在使用第三方代码之前,我们可以对其进行审查、分析和测试。该代码就和我们自己的代码一样,是我们应用程序的一部分,应该遵循相同的质量、安全性和可靠性标准。 无需永久访问存储依赖项的各个位置。从任何地方(包括私有 Git repos)获取第三方库,你就能永久拥有它们。 经过验收后,编译代码库无需进一步下载依赖项。 若互联网某处的代码存储库突然提供不同的代码,这也并不足为奇。 即使软件包存储库速度变慢,或托管包不复存在,部署也不会因此中断。 兼容性保证 Go 团队承诺现有的程序将会继续适用于新一代语言。这使得将大型项目升级到最新版本的编译器会非常容易,并且可从它们带来的许多性能和安全性改进中获益。同时,由于 Go 二进制文件包含了它们需要的所有依赖项,因此可以在同一服务器上并行运行使用不同版本的 Go 编译器编译的二进制文件,而无需进行复杂的多个版本的运行时设置或虚拟化。 文档 在大型工程中,文档对于使软件可访问性和可维护性非常重要。与其他特性类似,Go 中的文档简单实用: 由于它是嵌入到源代码中的,因此两者可以同时维护。 它不需要特殊的语法,文档只是普通的源代码注释。 可运行单元测试通常是最好的文档形式。因此 Go 要求将它们嵌入到文档中。 所有的文档实用程序都内置在工具链中,因此每个人都使用它们。 Go linter 需要导出元素的文档,以防止“文档债务”的积累。 商业支持的开源 当商业实体在开放式环境下开发时,那么一些最流行的、经过彻底设计的软件就会出现。这种设置结合了商业软件开发的优势——一致性和精细化,使系统更为健壮、可靠、高效,并具有开放式开发的优势,如来自许多行业的广泛支持,多个大型实体和许多用户的支持,以及即使商业支持停止的长期支持。Go 就是这样发展起来的。 缺点 当然,Go 也并非完美无缺,每种技术选择都是有利有弊。在决定选择 Go 之前,有几个方面需要进行考虑考虑。 未成熟 虽然 Go 的标准库在支持许多新概念(如 HTTP 2 Server push 等)方面处于行业领先地位,但与 JVM 生态系统中的第三方库相比,用于外部 API 的第三方 Go 库可能不那么成熟。 即将到来的改进 由于清楚几乎不可能改变现有的语言元素,Go 团队非常谨慎,只在新特性完全开发出来后才添加新特性。在经历了 10 年的有意稳定阶段之后,Go 团队正在谋划对语言进行一系列更大的改进,作为 Go 2.0 之旅的一部分。 无硬实时 虽然 Go 的垃圾收集器只引入了非常短暂的停顿,但支持硬实时需要没有垃圾收集的技术,例如 Rust。 结语 本文详细介绍了 Go 语言的一些优秀的设计准则,虽然有的准则的好处平常看起来没有那么明显。但当代码库和团队规模增长几个数量级时,这些准则可能会使大型工程项目免于许多痛苦。总的来说,正是这些设计准则让 Go 语言成为了除 Java 之外的编程语言里,用于大型软件开发项目的绝佳选择。
有只黑白猫 2020-01-07 14:11:38 0 浏览量 回答数 0

回答

您可以通过阿里云RDS管理控制台或API创建RDS实例。本文介绍如何通过控制台创建RDS MySQL实例。 其他引擎创建实例请参见: 创建RDS SQL Server实例 创建RDS PostgreSQL实例 创建RDS PPAS实例 创建RDS MariaDB实例 除了新版本的创建实例页面,您也可以切换回旧版创建实例页面。操作详情请参见: 创建RDS实例(新版) 创建RDS实例(旧版) 优惠活动 首购折扣价:首次购买RDS MySQL享受折扣价。详情请参见优惠活动。 计费说明 关于实例计费说明,请参见计费方式。 前提条件 已注册阿里云账号。具体操作请参见注册阿里云账号。 若您要创建按量付费的实例,请确保您的阿里云账号的余额大于等于100元。 注意事项 包年包月实例无法转为按量付费实例。 按量付费实例可以转为包年包月实例,请参见按量付费转包年包月。 同一个主账号,最多可以创建30个按量付费的RDS实例。如需提高此限额,请提交工单申请。 创建RDS实例(新版) 进入RDS实例创建页面。 说明 您也可以在当前创建RDS实例页面上方单击返回旧版切换到旧版创建RDS实例页面。 设置以下参数。 类别 说明 计费方式 包年包月:属于预付费,即在新建实例时需要支付费用。适合长期需求,价格比按量付费更实惠,且购买时长越长,折扣越多。 按量付费:属于后付费,即按小时扣费。适合短期需求,用完可立即释放实例,节省费用。 地域 实例所在的地域,即实例所在的地理位置。 购买后无法更换地域。 请根据目标用户所在的地理位置就近选择地域,提升用户访问速度。 请确保RDS实例与需要连接的ECS实例创建于同一个地域,否则它们无法通过内网互通,只能通过外网互通,无法发挥最佳性能。 类型 数据库引擎的类型和版本,这里选择MySQL。 当前支持MySQL 5.5、5.6、5.7、8.0。 说明 不同地域支持的数据库类型不同,请以实际界面为准。 系列 基础版:单节点,计算与存储分离,性价比高。 高可用版:一个主节点和一个备节点,经典高可用架构。 三节点企业版(原金融版):一个主节点和两个备节点,位于同一地域的三个不同的可用区,提供金融级可靠性。 说明 不同地域和数据库版本支持的系列不同,请以实际界面为准。关于各个系列的详细介绍,请参见产品系列概述。 存储类型 本地SSD盘:与数据库引擎位于同一节点的SSD盘。将数据存储于本地SSD盘,可以降低I/O延时。 ESSD云盘:增强型(Enhanced)SSD云盘,是阿里云全新推出的超高性能云盘产品。ESSD云盘基于新一代分布式块存储架构,结合25GE网络和RDMA技术,为您提供单盘高达100万的随机读写能力和更低的单路时延。ESSD云盘分为如下三类: ESSD云盘:PL1性能级别的ESSD云盘。 ESSD PL2云盘:相比PL1,PL2性能级别的ESSD云盘大约可提升2倍IOPS和吞吐量。 ESSD PL3云盘:相比PL1,PL3性能级别的ESSD云盘最高可提升20倍IOPS、11倍吞吐量,适合对极限并发I/O性能要求极高、读写时延极稳定的业务场景。 SSD云盘:基于分布式存储架构的弹性块存储设备。将数据存储于SSD云盘,即实现了计算与存储分离。 更多信息,请参见存储类型。 可用区 可用区是地域中的一个独立物理区域,主节点可用区指主实例所在可用区,备节点可用区指备实例所在可用区。 您可以设置实例为单可用区部署或多可用区部署: 单可用区部署指主节点可用区和备节点可用区都处于相同可用区。 多可用区部署指主节点可用区和备节点可用区处于不同可用区,此时您只需要选择主节点可用区,系统会自动选择备节点可用区。 相比单可用区部署,多可用区部署能提供可用区级别的容灾,建议您使用多可用区部署。 可用区 实例规格 入门级:通用型的实例规格,独享被分配的内存和I/O资源,与同一服务器上的其他通用型实例共享CPU和存储资源。 企业级:独享或独占型的实例规格。独享型指独享被分配的CPU、内存、存储和I/O资源。独占型是独享型的顶配,独占整台服务器的CPU、内存、存储和I/O资源。 说明 每种规格都有对应的CPU核数、内存、最大连接数和最大IOPS。详情请参见主实例规格列表。 存储空间 存储空间包括数据空间、系统文件空间、Binlog文件空间和事务文件空间。调整存储空间时最小单位为5GB。 说明 部分本地SSD盘的存储空间大小与实例规格绑定,ESSD/SSD云盘不受此限制。详情请参见主实例规格列表。 单击下一步:网络和资源组。 设置以下参数。 类别 说明 网络类型 经典网络:传统的网络类型。 专有网络:也称为VPC(Virtual Private Cloud)。VPC是一种隔离的网络环境,安全性和性能均高于传统的经典网络。选择专有网络时您需要选择对应的VPC和主节点交换机。 说明 请确保RDS实例与需要连接的ECS实例网络类型一致(如果选择专有网络,还需要保证VPC一致),否则它们无法通过内网互通。 存储引擎 设置实例的默认存储引擎。当前仅MySQL 8.0高可用版(本地SSD盘)实例支持此选项。 关于阿里自研的X-Engine引擎详情请参见X-Engine简介。 说明 X-Engine兼容InnoDB,而且拥有更好的性能表现,建议您使用X-Engine作为默认存储引擎。 参数模板 设置实例参数模板。当前仅高可用版(本地SSD盘)实例支持此选项。 说明 您可以选择系统参数模板或自定义参数模板,详情请参见使用参数模板。 时区 设置实例时区。当前仅本地SSD盘实例支持此选项。 表名大小写 设置实例表名是否区分大小写。当本地数据库区分大小时,您可以选择区分大小写,便于您迁移数据。当前仅本地SSD盘实例支持此选项。 资源组 实例所属的资源组。 单击下一步:确认订单。 确认参数配置,选择购买量和购买时长(仅包年包月实例),勾选服务协议,单击去支付完成支付。 创建RDS实例(旧版) 进入旧版RDS实例创建页面。 选择计费方式。 按量付费:属于后付费,即按小时扣费。适合短期需求,用完可立即释放实例,节省费用。 包年包月:属于预付费,即在新建实例时需要支付费用。适合长期需求,价格比按量付费更实惠,且购买时长越长,折扣越多。 设置以下参数。 参数 说明 地域 实例所在的地理位置。购买后无法更换地域。 请根据目标用户所在的地理位置就近选择地域,提升用户访问速度。 请确保RDS实例与需要连接的ECS实例创建于同一个地域,否则它们无法通过内网互通,只能通过外网互通,无法发挥最佳性能。 资源组 实例所属的资源组。 数据库类型 即数据库引擎的类型,这里选择MySQL。 说明 不同地域支持的数据库类型不同,请以实际界面为准。 版本 指MySQL的版本。当前支持MySQL 5.5、5.6、5.7、8.0。 说明 不同地域所支持的版本不同,请以实际界面为准。 系列 基础版:单节点,计算与存储分离,性价比高。 高可用版:一个主节点和一个备节点,经典高可用架构。 三节点企业版(原金融版):一个主节点和两个备节点,位于同一地域的三个不同的可用区,提供金融级可靠性。仅4个地域提供三节点企业版实例:华东1、华东2、华南1、华北2。 说明 不同数据库版本支持的系列不同,请以实际界面为准。关于各个系列的详细介绍,请参见产品系列概述。 存储类型 本地SSD盘:与数据库引擎位于同一节点的SSD盘。将数据存储于本地SSD盘,可以降低I/O延时。 SSD云盘:基于分布式存储架构的弹性块存储设备。将数据存储于SSD云盘,即实现了计算与存储分离。 说明 SSD云盘支持云盘加密,能够最大限度保护您的数据安全,您的业务和应用程序无需做额外的改动。详情请参见云盘加密。 ESSD云盘:增强型(Enhanced)SSD云盘,是阿里云全新推出的超高性能云盘产品。ESSD云盘基于新一代分布式块存储架构,结合25GE网络和RDMA技术,为您提供单盘高达100万的随机读写能力和更低的单路时延。 更多信息,请参见存储类型。 密钥 云盘加密所使用的的密钥。密钥的创建请参见管理密钥。 可用区 可用区是地域中的一个独立物理区域,不同可用区之间没有实质性区别。您可以选择将RDS实例的主备节点创建在同一可用区或不同可用区。 相比单可用区,多可用区能提供可用区级别的容灾。 网络类型 经典网络:传统的网络类型。 专有网络(推荐):也称为VPC(Virtual Private Cloud)。VPC是一种隔离的网络环境,安全性和性能均高于传统的经典网络。 说明 请确保RDS实例与需要连接的ECS实例网络类型一致,否则它们无法通过内网互通。 规格 每种规格都有对应的CPU核数、内存、最大连接数和最大IOPS。详情请参见主实例规格列表。 RDS实例有以下规格族: 通用型:独享被分配的内存和I/O资源,与同一服务器上的其他通用型实例共享CPU和存储资源。 独享型:独享被分配的CPU、内存、存储和I/O资源。 独占物理机型:是独享型的顶配,独占整台服务器的CPU、内存、存储和I/O资源。 例如,8核32GB是通用型实例规格,8核32GB(独享套餐)是独享型实例规格,30核220GB(独占主机)是独占物理机型实例规格。 存储空间 该存储空间包括数据空间、系统文件空间、Binlog文件空间和事务文件空间。 设置购买时长(仅针对包年包月实例)和实例数量,然后单击右侧的立即购买。 说明 购买包年包月实例时,可以勾选自动续费,系统将根据您的购买时长进行自动续费。例如,您购买3个月的实例并勾选自动续费,则每次自动续费时会缴纳3个月的费用。 对于包年包月实例,您也可以单击加入购物车将实例加入到购物车中,最后单击购物车进行结算。 在订单确认页面,勾选相关协议,根据提示完成支付。 下一步 在控制台左上角,选择实例所在的地域即可查看到刚刚创建的实例。选择地域 创建实例后,您需要设置白名单和创建账号,如果是通过外网连接,还需要申请外网地址。然后就可以连接实例。 如果连接实例失败,请参见解决无法连接实例问题。 常见问题 为什么创建实例后无反应,实例列表也看不到创建中的实例? 看不到创建中的实例可能有如下两个原因: 地域错误 可能您所在地域和您创建实例时选择的地域不一致。您可以在页面左上角切换地域。 选择地域 可用区内资源不足 由于可用区资源是动态分配的,可能您下单后可用区内资源不足,所以会创建失败,建议您更换可用区重试。创建失败您可以在订单列表里看到退款。 如何授权子账号管理RDS实例? 答:请参见云数据库 RDS 授权。 相关API API 描述 CreateDBInstance 创建RDS实例。 操作视频 RDS实例创建
游客yl2rjx5yxwcam 2020-03-09 10:46:09 0 浏览量 回答数 0

回答

FAQ: LNAMP是不是比LNMP更费内存? LNAMP中处理PHP程序的是Apache,LNMP处理PHP程序的是PHP-FPM,这二者占用的内存是差不多的。 LNAMP为什么会比LNMP更稳定? 原因同上,Apache是全世界流行了十几年的服务器程序,稳定性自然不在话下,而PHP-FPM是以PHP解释器引擎本身添加进了“服务器”的功能特性实现的,尤其在大负载情况下差异更为突出。 LNAMP为什么会比LAMP更高效? LNAMP中处理静态请求的是NGINX,LAMP中处理静态请求的是APACHE。 NGINX主要是以多线程的方式工作的,也就是它只需要一个进程,就可以处理大量的并发请求。而APACHE是以进程的方式工作,每处理一个请求,就需要占用一个进程。进程和线路的区别应该不需要多解释了。 APACHE也可以使用线程的方式,但是这样的话,它处理PHP解析也会同样使用多线程,流量稍高点的环境中会严重影响稳定性。 为什么不带面板? 原因1:本人不擅长写WEB程序。 原因2:任何带有面板的环境套件,对环境本身的修改都有很大的限制,比如流量达到几万IP的时候,你再想优化下环境,一旦有些配置你修改了,就可能会导致面板出问题。 ------------------------- Re:Re 引用第8楼imhua于2014-02-15 23:27发表的 Re : 以后可以考虑升级脚本,比如升级php,nginx等 在计划中 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第10楼xinde于2014-02-16 10:23发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 安装过程有错误 make[2]: *** No rule to make target `/usr/lib/libcurses.so', needed by `client/mysql'.  Stop. make[1]: *** [client/CMakeFiles/mysql.dir/all] Error 2 make: *** [all] Error 2 ....... 发行版,版本号,位数,这些能否提供下? 方便的话最好能PM下IP和密码。 错误是因为缺少 libcurses这个库,不同的系统里名字可能会不一样。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第13楼zikercn于2014-02-16 14:23发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : ln: creating symbolic link `/usr/bin/resolve_stack_dump': File exists /usr/local/mysql/bin/mysqladmin: connect to server at 'localhost' failed error: 'Access denied for user 'root'@'localhost' (using password: NO)' Error Occured! ....... 之前安装过一次了吧?再安装的话应该先重装系统。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第15楼金融之王于2014-02-16 21:00发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 :   现在安装PHP选择5.5,那以后PHP官方出5.6、5.7版本,怎么升级? yum -r install php或 yum update php 应该都行不通吧? ....... 第一,未来会加上升级的选项 第二,不要为了升级而升级,除非网站程序对新版功能有明确要求,或者为了修复漏洞。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第21楼haibin00于2014-02-18 23:45发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 整个服务怎么重启?我安装好后,从新启动了一下服务器,整个lanmap就不能用了,怎么把这些服务都启动尼? 一些常规的指令最好发出来,新手不太懂 具体的系统版本是什么? ------------------------- Re:回22楼服务器之家的帖子 引用第23楼haibin00于2014-02-19 01:04发表的 回22楼服务器之家的帖子 : Debian 6.0.6 64位 安装完,还把php升到5.4了,但我在控制台重启了服务器就不能用了 方便的话IP和密码PM给我看下 ------------------------- 回 25楼(haibin00) 的帖子 密码是错的,你加我QQ吧。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第28楼天之城于2014-02-20 13:41发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 怎么安装支持curl 已经支持了,不需要再安装。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第30楼天之城于2014-02-23 00:17发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 安装好后,有没有单独升级php版本的 暂时没有,以后会考虑增加这个功能。 ------------------------- 引用第32楼1351edu.com于2014-02-23 10:20发表的  : [attachment=49180] 我的装了后,发生502错误。 请联系签名的QQ ------------------------- 回 35楼(天之城) 的帖子 passwd www ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第37楼salesparty于2014-02-24 17:01发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : phpMyAdmin Version information: 3.3.10.5, old enough. 3.4版本之后开始大量使用AJAX,随之而来的是一堆BUG,以至自己带了一套BUG提交机制。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第39楼yipoo于2014-02-25 15:25发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 看起来很好,晚上安装测试下效果 欢迎反馈意见建议~ ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第42楼javin于2014-03-01 11:04发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 数据库的安装信息在哪里? 安装完会在屏幕显示,同时会保存在/root/setup.txt 。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第46楼thorbj于2014-03-02 14:21发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 我的服务器突然遇到能ping通但是网站打不开的问题,请问能不能帮忙分析一下可能是什么原因。LAMP重新安装不行,服务器重装都不行 签名里有QQ ------------------------- Re:回47楼服务器之家的帖子 引用第49楼thorbj于2014-03-02 19:36发表的 回47楼服务器之家的帖子 : 这种服务是怎么收费的,必要时候还真感觉需要你们的帮助 依难度和需要的时间而定。需要的时候可以联系我QQ。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第51楼自言自语于2014-03-03 17:00发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : MySQL是什么版本? 5.5系列最新版 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第53楼自言自语于2014-03-03 18:56发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 我看到安装完以后的FTP根目录是: /home/www/ 请问应该把数据盘挂载到哪个目录下? /home/www/ ------------------------- 回 57楼(马丁) 的帖子 是什么系统? ------------------------- 回 59楼(vagh) 的帖子 service mysqld stop chkconfig mysqld off 上面两个命令让它不启动就行了 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第67楼天之城于2014-03-08 09:48发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 低配云服务器CentOS 6.3 64位,1核512M内存,在编译php 的时候出现内存不足 virtual memory exhausted: Cannot allocate memorymake: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1 改了下,500M以下内存不编译fileinfo模块了。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第70楼幸福黄金于2014-03-14 10:07发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : mysql、apache、nginx、php 能不能自定义安装路径 这个没什么必要,编译安装的软件放到/usr/local/是比较规范的做法。 如果一定要修改,先把脚本下载回来,修改编译参数中的PREFIX即可。 ------------------------- Re:回71楼服务器之家的帖子 引用第72楼amoslee于2014-03-14 19:52发表的 回71楼服务器之家的帖子 : 楼主,同样出现67楼的问题,解决一下 能否PM下IP和密码我检查下? ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第74楼hun于2014-03-14 23:04发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 官方低配能用此环境不,装完占多少内存? 1,能用 2,在合理的范围内,开的APACHE进程越多,配的MYSQL缓存越大,用的内存越多,支撑的访问量越大。一般这么问的人都以为占的内存越少越好,这个以后有时间会开个帖子写一下。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第76楼amoslee于2014-03-15 12:42发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : Error Occured! Current Work Dir: /tmp/dir/php-5.5.10 Command: ....... 能否PM下IP和密码? ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第78楼酷酷机器猫于2014-03-16 18:40发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 楼主 你好。 我装好了,但是有个问题,我文件是二进制上传的,但是安装网站时显示不是二进制上传的。 在用其他一键安装包时没这个问题。 最简单的办法,打包上传然后解压缩。 我现在试过好几种上传方式都不行,是不是哪里设置有问题,帮忙回答下 非常感谢 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第80楼酷酷机器猫于2014-03-16 22:43发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 谢谢 LZ 上个问题解决了。 请问下有没有查看mysql ftp 帐号密码的命令?   类似: cat account.log cat /root/setup.txt ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第83楼灰色状态于2014-03-17 18:01发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 你这个和军哥的LNMP比起来,如何? 都在一楼写过了 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第85楼灰色状态于2014-03-17 20:30发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 请问适合最低配置,1核,512M内存的使用不??? 可以 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第88楼不要作死于2014-03-18 01:24发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : echo '/dev/xvdb1  /home/www ext3    defaults    0  0' >> /etc/fstab 挂载数据盘到/home/www的命令是不是这样? ....... 文件内容不正确 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第91楼智子于2014-03-28 15:51发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : php可以选择,apache和mysql还有nginx这三个软件默认是什么版本 apache 2.2.x最新稳定版 mysql 5.5.x最新稳定版 nginx最新稳定版 安装程序会抓取官方数据分析版本和下载地址 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第99楼aa65535于2014-04-02 13:27发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : Debian系统下无法使用 具体是什么错误? ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第99楼aa65535于2014-04-02 13:27发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : Debian系统下无法使用 这种需求相对来说很小众,如果不需要MYSQL可以设置下不运行这个服务即可。 service mysqld stop chkconfig mysqld off ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第96楼阿莱于2014-04-01 14:15发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 这个安装的时候没有提示,不能让用户选择哪些装哪些不装。 ....... 安装的服务都在/usr/local/目录下,启动脚本在/etc/init.d/目录下。 建议关闭服务即可,没有必要删除文件,占用的硬盘不是很多。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第95楼坤叔于2014-03-31 20:33发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 环境组件官方源太慢了,强烈要求换成国内可靠站点镜像,或者server110自己的服务器! 安装程序会自动分析官方网站上的最新版本的下载地址,如果使用其他下载的地址不方便安装到最新版本。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第97楼lisso.me于2014-04-01 16:44发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : PHP 似乎没有启用PDO支持,请问如何启用? 感谢反馈,安装脚本里已经添加了相应的编译参数。 [attachment=51113] 如果不想重装的话,可以参考下这个链接 http://www.server110.com/php/201404/8711.html 注意下路径有可能不同。 ------------------------- Re:回101楼服务器之家的帖子 引用第107楼aa65535于2014-04-02 16:56发表的 回101楼服务器之家的帖子 : 一直循环出现这个错误: [code]gzip: /tmp/dir/mysql-5.5.37.tar.gz: No such file or directory tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors ....... 你系统里设置的源没有axel,能否PM IP和密码我查看下。 如果只想解决问题的话,自己先安装上axel即可。 晚些时间我会修改下脚本在debian和ubuntu都用编译方式安装axel。 ------------------------- Re:ReRe回101楼服务器之家的帖子 引用第109楼aa65535于2014-04-02 17:35发表的 ReRe回101楼服务器之家的帖子 : 已经PM 发现了点问题,如果方便的话,能否重新装一下这个系统再提供下密码,感谢。 ------------------------- Re:ReReReRe回101楼服务器之家的帖子 引用第111楼aa65535于2014-04-02 19:35发表的 ReReReRe回101楼服务器之家的帖子 : 已经PM了 依赖关系的路径还有点问题,建议你先用CENTOS安装下。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第113楼蓝昼于2014-04-03 15:00发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 亲啊,不能搞个国内分流吗?这速度下到猴年马月啊,从中午11点半装到现在了~下午三点了。。。 这效率太差了,早丧失一键安装的意义了! ....... 恩,我也体会到了,这几天就会调整为在server110.com的服务器上下载。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第115楼haha231于2014-04-03 17:06发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : Current Work Dir: /tmp/dir/php-5.4.26 Command: make -j 1 && make install Error: ....... 能否PM下IP和密码? ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第115楼haha231于2014-04-03 17:06发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : Current Work Dir: /tmp/dir/php-5.4.26 Command: make -j 1 && make install Error: ....... 能否PM下IP和密码? ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第116楼漫步西溪于2014-04-03 17:43发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 安装楼主方法一键安装了环境,应该PHP5.2,如果要换成其他版本的PHP,怎么操作? 我是纯粹业余,不懂技术,还望楼主详细指导下 目前安装程序还不能更换PHP版本,最简单的方法就是重新安装一次。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第120楼blucejum于2014-04-03 21:45发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 显示说需要安装好几天才能装好。。。 这几天会修改为从www.server110.com的服务器上下载安装程序 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第115楼haha231于2014-04-03 17:06发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : Current Work Dir: /tmp/dir/php-5.4.26 Command: make -j 1 && make install Error: ....... 问题已经修复,帐号密码在/root/setup.txt,也可以再重装下。 ------------------------- Re:ReReRe阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第126楼坤叔于2014-04-04 09:46发表的 ReReRe阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 需要怎么操作啊?没经验,还望详细解答 先重装系统 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第130楼haha231于2014-04-05 15:09发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 安装的ftp是什么版本啊,装在哪里,在哪里改设置? /etc/proftpd.conf 这个一般没必要修改 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第133楼坤叔于2014-04-09 20:24发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 请问,为了便于今后管理升级等,若是主机两个盘(系统+数据),怎么设置系统和环境等放在系统盘,而网站数据在数据盘? 如果不经过额外的操作,环境 是安装在系统盘上的。 网站的目录设置在/home/www/,如果有数据盘,就挂到这个目录上。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第135楼漫步西溪于2014-04-10 01:17发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 我也遇到这样的问题。 就按照楼主的站点案例: 1、数据盘挂的是/home/www/目录?而不是/home/www/server110.com/目录? 2、还有,是必须要先挂载数据盘、再site建立站点么?还是顺序先后不影响的? 3、另外,如果我有两个独立的网站数据放在数据盘,又该怎么操作? 1, /home/www/ 2,先挂载会省事些。如果是后挂载,先把 /home/www/下面的文件全部转移走,挂载硬盘后再移回来。 3,/home/www/a.com,/home/www/b.com。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第138楼坤叔于2014-04-11 00:55发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 楼主,请问我按照你的一键安装了环境组件后,能不能使用AMH面板的? 因为我不知道AMH面板是默认自动安装环境组件的, 还是说可以在已经安装环境组件的主机上可以使用 不能 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第141楼水芳网络于2014-04-12 22:52发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 楼主,你这个一键安装,装了phpMyAdmin,但是我不想用phpMyAdmin,请问怎么卸载或者删除啊?先谢谢楼主了 rm -f /usr/local/nginx/conf/extra/phpMyAdmin.conf rm -f /usr/local/httpd/conf/extra/httpd-pma.conf rm -rf /usr/local/app/phpMyAdmin/ service nginx restart service httpd restart ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第143楼漫步西溪于2014-04-13 01:49发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : [attachment=51492] 老板,这是什么情况? 环境是CentOS系统,按照1楼方法,PHP选择了5.5的, ....... mkdir /home/www/default/ mkdir /home/www/logs/ chown -R www.www /home/www/ service httpd restart ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第148楼水芳网络于2014-04-14 08:51发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 楼主,这个一键安装默认安装的mysql是MyISAM引擎,而且不支持InnoDB引擎,有没有必要修改? 如果你要用的网站程序明确要求使用 InnoDB需要在/etc/my.conf里把禁止innodb的选项删除 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第151楼贴息网于2014-04-14 12:44发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 楼主,按照你的步骤安装了,想问问,如何设置伪静态啊?就是把网站所有.php后缀的换成.html后缀的? 和apache环境的一样,用.htaccess。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第155楼samyang于2014-04-17 14:01发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 安装好后php的配置php.ini在/etc/下么,修改保存之后重启nginx么 重启apache ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第158楼酷酷机器猫于2014-04-18 17:31发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 楼主,请问下, 如何配置网站日志?     按照这个教程弄好后  /home/www/logs/ 下面是空的,是不是哪里需要设置或者开启? /usr/local/nginx/conf/vhost/ ------------------------- 回 169楼(haibin00) 的帖子 /root/setup.txt ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第168楼koki于2014-05-06 12:01发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 有个问题想问,安装好环境以后,我添加了xxx.com域名,相应得建立了文件夹,但是目前备案没下来,只能用ip访问,但是 ip访问得路径是/home/www/default/ 修改哪里让 ....... /usr/local/nginx/conf/nginx.conf /usr/local/httpd/conf/extra/httpd-vhosts.conf ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第181楼风沙渡于2014-05-23 13:59发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 楼主,我按你说的方法,安装后显示“Congratulations! Your Installation Is Complete.”,这样应该是成功了吧?在setup.txt里有phpmyadmin跟FTP信息,可这两个都用不了的,管理地址打开是错误页面的?分配的FTP连接超时,这个环境只能用在阿里云吗? 未知厂商的主机,由于系统模板的情况各种各样,有可能会出错,脚本一直在不停的改进兼容性,但这是一条没有头的路。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第189楼鑫森炭业于2014-06-11 10:15发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : php版本5.2.17,不能做个升级的嘛 暂时没有添加升级版本的功能,安装的时候可以指定版本,安装后就不能改了,暂时是这样。 ------------------------- Re:回190楼服务器之家的帖子 引用第191楼鑫森炭业于2014-06-13 09:05发表的 回190楼服务器之家的帖子 : 谢谢回复。我在安装的时候,并没有看到有设置php版本的地方啊? 那么,我现在卸载后再重新安装,哪里有提示设置php版本?谢谢! 仔细看一楼的帖子 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第193楼captaincoco于2014-06-13 09:56发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 如何添加二级子域名。。。。 和一级域名一样 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第195楼0971net于2014-06-14 23:34发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 网站日志怎么启动?在哪里查看 /usr/local/nginx/conf/vhost/域名.conf     #access_log /home/www/logs/域名.log nginx_log;     access_log off; 上面一行注释去掉,第二行删除。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第199楼666ydcom于2014-06-18 11:40发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 安装时选了php5.5的,现在想用回php5.3怎么做啊??急!急! 如果还没部署网站,可以先重装系统,再安装。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第200楼videotx于2014-06-18 14:27发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 看了下代码, 不错! 特别是download_file 递归处理, 很机智 多谢支持! ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第201楼大家看于2014-06-18 16:00发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 我想请问下  Nginx 和 Apache 的最大连接数 上 怎么 算的呢 据我所知Apache 的最大连接数很小 NGINX 的连接数 到时随着配置的提升可以扩展 但是这么搭配 连接数是算 Apache 的 还是 Nginx 的 呢 我是新手 只是简单 问下 我不明白的 所以哪里有不恰当的地方 请多多包涵! Nginx处理请求用的是线程,所有静态和动态请求都会先经过Nginx,动态请求再由Nginx转发给Apache去处理,每一个动态请求在处理期间会占用一个Apache进程,所以影响比较大的是Apache的进程数量。 ------------------------- Re:回204楼服务器之家的帖子 引用第206楼多久啊看于2014-06-19 16:24发表的 回204楼服务器之家的帖子 : 老大 实在没有办法了 虽然试用 很好 但是 我主站用的PHPCMS 开伪静态以后 连连出错 或许是没研究明白吧  连页面都打不开了 没办法 看来 我还得用回去啊 不过真心觉得是不错! 不会是伪静态代码写错了吧 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第213楼多久啊看于2014-06-20 18:39发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 我查找了一下 貌似没有mod_rewrite模块  要手动安装 但是我又不怎么会 好像要重新安装 Apache  才可以 rewrite模块默认已经加载 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第211楼医学生团队于2014-06-20 15:29发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 为什么用"www"这个账号连不上ftp,我用root这个用户就能连接上 错误提示是什么 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第217楼datassss于2014-06-22 00:00发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 如果想要改所有log的位置该怎么做? apache、php、nginx等的配置文件位置在哪里? http://www.server110.com/linux/201406/10673.html ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第219楼求知心切于2014-06-25 10:20发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 哥,mysql的初始密码是多少啊 /root/setup.txt ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第221楼求知心切于2014-06-25 17:23发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 为什么我修改了nginx的nginx.conf配置文件,但是还是访问那个主页呢,我想访问我的主页应该怎么办,楼主,求解   看一楼的帖子,不熟悉的东西不要乱改。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第223楼求知心切于2014-06-26 09:09发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 但是我按1楼的办法设置了,然后访问了ip,一直都是显示你的那个主页,我看已经有我写的文件夹,而且文件夹下面我已经放了代码了,但是就是访问不到我文件夹里面的东西,一直都是跳转到你们设置的default文件夹下的index了,我想要跳转到我的那个文件夹,应该怎么弄?我的命名不是你那个,这个有没有关系?[attachment=54955] 按这个操作一次 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第225楼joseph_lei于2014-06-26 10:26发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 如何增加多域名访问一个站? 按一楼的操作,多绑定一次 ------------------------- Re:回222楼服务器之家的帖子 引用第224楼求知心切于2014-06-26 09:11发表的 回222楼服务器之家的帖子 : 还有听说80端口可能要禁了,但是我看nginx的端口都只开了80的,这个可以手动加其他端口上去吗,不能的话80真的禁了的时候应该怎么处理? 第一,有备案,封80不可能 第二,端口写在配置文件里,可以改 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第231楼0971net于2014-06-27 17:05发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : CentOS-6.5 64位   兼容吗 一楼里测试过的意思就是安装成功,这也要解释,真无语了。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第233楼邻居王大爷于2014-06-27 21:03发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 按照你说的,都安装成功了,但是在我安装wordpress程序的时候那个数据库始终链接不上,试过localhost、127.0.0.1:1000、ip:1000、这些地址都试了,还是链接不上去,求解决..[attachment=55171] 1000是phpMyAdmin的端口,不是MySQL的端口,安装网站程序不要把这个端口加上,地址用localhost。 ------------------------- Re:回234楼服务器之家的帖子 引用第235楼邻居王大爷于2014-06-28 08:54发表的 回234楼服务器之家的帖子 : 数据库地址几乎都试过了,localhost也试过了,会出现502错误,我用你这个教程装了4遍了,前两遍没仔细看清帖子,是带环境装的,不能用,第三遍纯净安装的,成功了,然后数据库连接不上,以为是安装错误,就又重装系统,重装了一遍这个环境,结果还是出现这个问题。另外,我没有绑定域名,绑定的是ip,还有也试过用我其它服务器上的数据库地址,要么不成功,要么出现502。该怎么解决? [attachment=55176] 是阿里云吗 ------------------------- Re:回236楼服务器之家的帖子 引用第237楼邻居王大爷于2014-06-28 11:58发表的 回236楼服务器之家的帖子 : 不是阿里云 我也不好意思在这里问啊...centos6.5的 纯净版 IP和密码PM给我,我一会要出去,回来给你看下。 ------------------------- Re:回238楼服务器之家的帖子 引用第239楼邻居王大爷于2014-06-28 15:14发表的 回238楼服务器之家的帖子 : 密码发给你了,系统重装了一遍,又安装了一次你这个环境,暂时没有绑定网站,现在一切都是全新的,系统是centos 6.5的,你先安装个wordpress试试,看看能不能成功... Segmentation fault,无解,换成PHP5.5可以安装了。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第242楼求知心切于2014-06-30 14:40发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 楼主大人,我按照你的方法安装了,安装之后访问是没有问题,访问的是你们的那个主页,但是我用那个site弄了我的程序进去之后访问的还是你们的主页,是需要加端口吗,还是说需要其他什么配置呢,我是site-》1  然后ortv3.COM,在home/www下面找到这个目录,然后在这个目录下面新建了一个index.php,但是访问的一直都是你们那个主页,请教 写的太乱了,估计是基本的使用都不懂,我说的使用是LINUX,不是LNAMP,慢慢学吧。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第244楼求知心切于2014-06-30 15:26发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 我就是在centos下面按照您的方法安装了您配置的lanmp啊,安装完之后在windows网页访问linux地址是可以打开你的那个主页,但是我再按照你的方法(site)添加了新的站点,在新站点文件夹里面新建了另一个主页的页面,访问linux的ip地址时候的时候还是访问你的那个主页,没有访问到我的那个站点的主页,明白否? 你访问IP,就是那个页面,建不建新站点,它就在那里。 ------------------------- Domains: 这里可以域名也可以用IP,但是不能用IP+目录 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第251楼大家看于2014-07-05 20:45发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 今天安装了两遍 一直提示 collect2: ld returned 1 exit status make: *** [sapi/cli/php] Error 1 Error Occured! ....... 前面的信息也发出来 引用第252楼大家看于2014-07-05 20:47发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 而且我还想请问 数据库 可以单独 提供下载 安装么 你这个数据库 我之前 安装成功调试的时候 测试过 最大连接数 是可调的 不像 其他的 都调不了 无论初始配置是多大 都变不了 而你这个可以! 不能 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第255楼大家看于2014-07-06 10:57发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 今天又安装了一遍 还是 一样! IP和密码PM给我 ------------------------- Re:回256楼服务器之家的帖子 引用第258楼多久啊看于2014-07-06 11:45发表的 回256楼服务器之家的帖子 : IP 用户名 以及密码 已发! 测试了下,应该是你前面安装的环境导致的,先重装系统再安装。 ------------------------- 回 262楼(多久啊看) 的帖子 没影响 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第273楼长剑耿介于2014-07-22 00:35发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : [attachment=56935] 难道我打开方式不对? 如果要用手打,请看清每一个字符。看不好请用复制粘贴。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第276楼zhouyun于2014-07-23 00:18发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : [attachment=57007]为什么我安装screen的时候会报这个错?求大神解释 试一下apt-get update -y ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第280楼neutrino于2014-07-23 12:59发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 想删除就是/etc/init.d/下的nginx httpd ftp mysql,然后删掉/usr/local里的文件夹就行了? 最好重装系统 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第283楼ap5114i1j于2014-07-26 03:03发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : [attachment=57290] 出错了。 ....... yum list *ssl* 命令结果帖一下。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第285楼zong于2014-07-26 11:32发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : yum install php-pear 安装后,PHP版本回到php.5.3.3了。 不能这么玩,重装系统吧。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第288楼f2c-1于2014-07-26 22:27发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 这个安装脚本执行时间太长了,安装Mysql是源码安装,有必要吗? yum install mysql-server不就行了吗? 各有所爱 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第296楼shuangyutv于2014-08-01 13:59发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : mysql可以用navicate远程登录嘛?需要做什么修改? 添加一个主机为任意主机的管理帐号,安装后的root帐号只能从本地登录。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第298楼shuangyutv于2014-08-02 02:25发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 请问一下楼主,我的网站是用Yii框架写的,部署在这个环境下,伪静态怎么设置啊? 我看你教程里面写的是“通过.htaccess文件设置,将规则代码写入到.htaccess文件后,上传到网站根目录即可”,但是我把以前放在LAMP环境下的.htaccess文件我传到根目录下就自动不见了。我想请教一下伪静态的具体配置方法 请说一下在哪里看到它自动不见了 ------------------------- Re:回299楼服务器之家的帖子 引用第301楼shuangyutv于2014-08-02 10:51发表的 回299楼服务器之家的帖子 : [attachment=57837] 附上.htaccess文件 看起来没什么问题 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第304楼啄木网于2014-08-03 20:03发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : phpmyadmin提示链接表的附加功能尚未激活。要查出原因,请点击此处。 好像要修改文件?菜鸟想问下linux里怎样修改啊…… 这个可以不用管,不影响使用,如果一定要管,百度下。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第309楼何林江于2014-08-05 09:36发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 我补充两张图,显示%wa一直很高,最高的时候居然到了99.7%,但我的网站现在几乎都没流量,暂时都只有自己知道,两个站点用的是wordpress,另外一个是dedecms,并且也没什么定时任务之类的 [attachment=57960][attachment=57961] ....... 把Nginx日志打开,再出问题看日志。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第309楼何林江于2014-08-05 09:36发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 我补充两张图,显示%wa一直很高,最高的时候居然到了99.7%,但我的网站现在几乎都没流量,暂时都只有自己知道,两个站点用的是wordpress,另外一个是dedecms,并且也没什么定时任务之类的 [attachment=57960][attachment=57961] .......    前面回过好像没了,再给你回一次吧。 第一个问题,务必添加swap。 http://www.server110.com/linux/201310/2924.html 第二,开Nginx的日志,再出问题看日志。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第315楼may111于2014-08-08 11:38发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : [attachment=58217] 这是什么问题 显示502错误,访问phpmyadmin也是502 /usr/local/httpd/conf/httpd.conf,94行 你给改了吧 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第318楼horek于2014-08-09 10:29发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 您的LNAMP怎么打开phpMyAdmin 麻烦您告知一下 谢谢了 看/root/setup.txt ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第321楼xiaoxialone于2014-08-10 04:04发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 你好。楼主。环境已经配置成功,一开始安装WORDPRESS的时候会提示502 然后就直接改了配置文件,安装成功了。 但是问题wordpress打开插件以及外观两个选项会跳502错误。还请楼主指教下。 http://bbs.aliyun.com/read/164642.html ------------------------- 11111111 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第332楼11号猫弟于2014-08-16 21:49发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 我之前使用的这一套脚本,安装完以后使用了一段时间,挺好用的,但是现在我需要在我的服务器上部署gitlab,还是用域名指向的这个ip,但是被这个脚本拦截到了默认路径,这个时候要怎么做才能让该域名绕开这个脚本呢? 把域名绑定到要用的目录上 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第338楼kagami于2014-08-22 09:09发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 为什么我安装不了呢 连不上server110 你的IP是什么 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第339楼黄靖于2014-08-23 14:29发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 如何将默认的404页面改成自己的404呢 用.htaccess设置,百度下代码 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第345楼ylopt于2014-08-26 10:58发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 刚刚安装了,怎么就显示502呢 下载文件的服务器正在重装系统,等下再装吧。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第353楼00星辰00于2014-08-29 22:19发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 :      请教下 是不是这个环境只能添加一个站点  添加了3个站点只有第一个生效可以访问 后面2个都是报错    没有限制 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第359楼007互联于2014-08-31 15:12发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 安装完之后www登陆FTP登陆不了是什么原因? 看错误提示 ------------------------- Re:回 119楼(服务器之家) 的帖子 引用第361楼灬兵于2014-08-31 19:16发表的 回 119楼(服务器之家) 的帖子 : 楼主指的是重新安装脚本程序 还是单独安装自己想要的PHP版本。 先重装系统再执行安装脚本 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第367楼debao.wang于2014-09-03 12:30发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 如果网站没有采用静态化处理,是php写的动态网站,那么LNAMP相比LAMP优势就不那么明显了。 显然你没有搞明白访问一个网页时这其中最其本的技术原理。 以Discuz官方论坛为例,一次浏览器访问,产生的HTTP请求约60次,动态请求只有2次,剩下的全部都是静态请求,这些静态请求对于Nginx和Apache的资源消耗是天壤之别。 [attachment=60415] ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第369楼dj电音吧于2014-09-03 14:43发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 安装了脚本基本上很顺畅,现在有个问题出现,就是大附件上传出现servers(io)error Nginx和php都设置了支持上传最大512m上传100m以下的就成功,大于的就出现错误。PHP几项的设置应该没问题的。不知道ngunx和apache哪还有会影响文件上传的。请指教!另外我试过设置nginx的一项连接时间为600秒,出现上传进度1%到10%左右会进度弹回1%重复几次后才出现以上错误!请大神指点迷津啊! 只从这些信息的话,判断不出来。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第388楼hap于2014-09-18 08:34发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : Error: configure: warning: bison versions supported for regeneration of the Zend/PHP parsers: 1.28 1.35 1.75 1.875 2.0 2.1 2.2 2.3 2.4 2.4.1 (found: 3.0.2). configure: warning: flex versions supported for regeneration of the Zend/PHP parsers: 2.5.4  (found: 2.5.35) configure: error: freetype.h not found. ....... CentOS yum install freetype-devel Debian apt-get install libfreetype6-dev ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第390楼timedia于2014-09-19 12:46发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 装好也设置好,未提示任何错误 但ftp、站点均无法访问 哪个系统版本?哪个PHP版本? ------------------------- Re:ReReRe阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第394楼timedia于2014-09-22 11:04发表的 ReReRe阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : centos 6.5 PHP 5.3 5.4 5.5 都试过。。。 ps auxf命令结果帖一下 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第400楼eingxin于2014-09-24 15:23发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 话说这个环境那都好,就是跑Discuz 3.2的时候出现图片缓存,怎么都不刷新。快疯掉了 帖个网址看看 ------------------------- Re:回楼主服务器之家的帖子 引用第403楼百般幸运于2014-09-26 09:56发表的 回楼主服务器之家的帖子 : 支持内网安装么? 需要外网下载文件 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第405楼gudianbook于2014-09-27 08:07发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : mysqladmin -u root password '  命令失败  mysqladmin -u root password ' service httpd start  不行 Starting httpd: (98)Address already in use: make_sock: could not bind to address 127.0.0.1:8080 no listening sockets available, shutting down ....... 安装后不需要再执行mysqladmin,你应该还做了一些其他不应该做的操作,具体是什么就不得而知了。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第406楼wjw8801于2014-09-29 22:24发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 问个小白问题:最后那个SIte命令可以建站的是什么工具里有的命令? 这个是我自写的管理脚本 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第409楼stanper于2014-10-03 11:52发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 你好,请问安装完后,phpmyadmin目录在什么位置? /usr/local/app/phpMyAdmin/ ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第412楼wjw8801于2014-10-06 17:48发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 这个可以手动升级Mysql和nginx还有httpd吗? 只要会搞就OK ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第415楼wide于2014-10-09 23:41发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 请教问题: 采用阿里云,为了规避防火墙只能对外使用80和8080端口访问的限制。 将ssh端口从22改用8080。 在更改之前查看了 webcache 监听用 8080 端口,例如: /etc/services:webcache    8080/tcp            # WWW caching service ....... 为了规避防火墙只能对外使用80和8080端口访问的限制,这条不而立,出发点就错了。 ------------------------- Re:回楼主服务器之家的帖子 引用第420楼p584578656于2014-10-11 19:10发表的 回楼主服务器之家的帖子 : 你好,请问一下,网站日志在哪个文件夹?我在FTP里面没有看到有生成的访问日志啊   默认没有记录日志,需要的话看一下Nginx配置文件。 ------------------------- Re:回421楼服务器之家的帖子 引用第422楼p584578656于2014-10-12 09:24发表的 回421楼服务器之家的帖子 : 需要修改配置文件来生成日志吗?Nginx和Apache都需要修改吗? 只需要修改NGINX,网站的配置文件里已经有代码了,但是默认被注释掉,把注释去掉就可以了。 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第429楼xiumuzjq于2014-10-26 21:58发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 您好,我安装了php5.3的脚本但现在因为想装个swoole扩展,要求至少5.3.10的php版本,请问大神,这个可以升级吗?该怎么操作 你可以用php -v看看现在的版本 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第461楼富余劳动力于2014-11-07 11:13发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 请问大神 这套东西,不是阿里云可以用吗? 我们公司自己租的那种服务器能装吗 大部分都可以 ------------------------- Re:Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 引用第511楼高山流水于2014-12-22 10:05发表的 Re阿里云LNAMPLinuxNginxApacheMySQLPHP环境一键安装脚本 : 请问如何开启服务器的gzip压缩呢?是不是Nginx和Apache都要改配置,还是只需要改一个?新手不太懂 还有,建议找个地方开一页FAQ,我把这帖子35页翻了一遍,好费劲啊…… [url=http://bbs.aliyun.com/job.php?action=topost&tid=151729&pid=600353][/url] 默认已经开启了gzip,不需要改动。
云代维 2019-12-02 02:41:55 0 浏览量 回答数 0
阿里云企业服务平台 陈四清的老板信息查询 上海奇点人才服务相关的云产品 爱迪商标注册信息 安徽华轩堂药业的公司信息查询 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 天籁阁商标注册信息 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 北京芙蓉天下的公司信息查询