说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

.NET技术+25台服务器怎样支撑世界第54大网站

HTML文档下载 WORD文档下载 PDF文档下载
同时使用Linux和Windows平台产品,大量使用静态的方法和类,Stack Overflow是个重度性能控。同时,取代横向扩展,他们坚持着纵向扩展思路,因为“硬件永远比程序员便宜”。

【编者按】StackOverflow是一个IT技术问答网站,用户可以在网站上提交和回答问题。当下的StackOverflow已拥有400万个用户,4000万个回答,月PV5.6亿,世界排行第54。然而值得关注的是,支撑他们网站的全部服务器只有25台,并且都保持着非常低的资源使用率,这是一场高有效性、负载均衡、缓存、数据库、搜索及高效代码上的较量。近日,High Scalability创始人Todd Hoff根据Marco Cecconi的演讲视频“ The architecture of StackOverflow”以及Nick Craver的博文“ What it takes to run Stack Overflow”总结了StackOverflow的成功原因。


免费订阅“CSDN大数据”微信公众号,实时了解最新的大数据进展!

CSDN大数据,专注大数据资讯、技术和经验的分享和讨论,提供Hadoop、Spark、Imapala、Storm、HBase、MongoDB、Solr、机器学习、智能算法等相关大数据观点,大数据技术,大数据平台,大数据实践,大数据产业资讯等服务。


以下为译文


意料之中,也是意料之外,Stack Overflow仍然重度使用着微软的产品。他们认为既然微软的基础设施可以满足需求,又足够便宜,那么没有什么理由去做根本上的改变。而在需要的地方,他们同样使用了Linux。究其根本,一切都是为了性能。

另一个值得关注的地方是,Stack Overflow仍然使用着纵向扩展策略,没有使用云。他们使用了384GB的内存和2TB的SSD来支撑SQL Servers,如果使用AWS的话,花费可想而知。没有使用云的另一个原因是Stack Overflow认为云会一定程度上的降低性能,同时也会给优化和排查系统问题增加难度。此外,他们的架构也并不需要横向扩展。峰值期间是横向扩展的杀手级应用场景,然而他们有着丰富的系统调整经验去应对。该公司仍然坚持着Jeff Atwood的名言——硬件永远比程序员便宜。

Marco Ceccon曾提到,在谈及系统时,有一件事情必须首先弄明白——需要解决问题的类型。首先,从简单方面着手,StackExchange究竟是用来做什么的——首先是一些主题,然后围绕这些主题建立社区,最后就形成了这个令人敬佩的问答网站。

其次则是规模相关。StackExchange在飞速增长,需要处理大量的数据传输,那么这些都是如何完成的,特别是只使用了25台服务器,下面一起追根揭底:

状态

  • StackExchange拥有110个站点,以每个月3到4个的速度增长。
  • 400万用户
  • 800万问题
  • 4000万答案
  • 世界排名54位
  • 每年增长100%
  • 月PV 5.6亿万
  • 大多数工作日期间峰值为2600到3000请求每秒,作为一个编程相关网站,一般情况下工作日的请求都会高于周末
  • 25台服务器
  • SSD中储存了2TB的SQL数据
  • 每个web server都配置了2个320G的SSD,使用RAID 1
  • 每个ElasticSearch主机都配备了300GB的机械硬盘,同时也使用了SSD
  • Stack Overflow的读写比是40:60
  • DB Server的平均CPU利用率是10%
  • 11个web server,使用IIS
  • 2个负载均衡器,1个活跃,使用HAProxy
  • 4个活跃的数据库节点,使用MS SQL
  • 3台实现了tag engine的应用程序服务器,所有搜索都通过tag
  • 3台服务器通过ElasticSearch做搜索
  • 2台使用了Redis的服务器支撑分布式缓存和消息
  • 2台Networks(Nexus 5596 + Fabric Extenders)
  • 2 Cisco 5525-X ASAs 
  • 2 Cisco 3945 Routers
  • 主要服务Stack Exchange API的2个只读SQL Servers
  • VM用于部署、域控制器、监控、运维数据库等场合

平台

  • ElasticSearch
  • Redis
  • HAProxy
  • MS SQL
  • Opserver
  • TeamCity
  • Jil——Fast .NET JSON Serializer,建立在Sigil之上
  • Dapper——微型的ORM

UI

  • UI拥有一个信息收件箱,用于新徽章获得、用户发送信息、重大事件发生时的信息收取,使用WebSockets实现,并通过Redis支撑。
  • 搜索箱通过 ElasticSearch 实现,使用了一个REST接口。
  • 因为用户提出问题的频率很高,因此很难显示最新问题,每秒都会有新的问题产生,从而这里需要开发一个关注用户行为模式的算法,只给用户显示感兴趣的问题。它使用了基于Tag的复杂查询,这也是开发独立Tag Engine的原因。
  • 服务器端模板用于生成页面。

服务器

  • 25台服务器并没有满载,CPU使用率并不高,单计算SO(Stack Overflow)只需要5台服务器。
  • 数据库服务器资源利用率在10%左右,除下执行备份时。
  • 为什么会这么低?因为数据库服务器足足拥有384GB内存,同时web server的CPU利用率也只有10%-15%。
  • 纵向扩展还没有遇到瓶颈。通常情况下,如此流量使用横向扩展大约需要100到300台服务器。
  • 简单的系统。基于.Net,只用了9个项目,其他系统可能需要100个。之所以使用这么少系统是为了追求极限的编译速度,这点需要从系统开始时就进行规划,每台服务器的编译时间大约是10秒。
  • 11万行代码,对比流量来说非常少。
  • 使用这种极简的方式主要基于几个原因。首先,不需要太多测试,因为Meta.stackoverflow本来就是一个问题和bug讨论社区。其次,Meta.stackoverflow还是一个软件的测试网站,如果用户发现问题的话,往往会提出并给予解决方案。
  • 纽约数据中心使用的是Windows 2012,已经向2012 R2升级(Oregon已经完成了升级),Linux系统使用的是Centos 6.4。

SSD

  • 默认使用的是Intel 330(Web层等)
  • Intel 520用于中间层写入,比如Elastic Search
  • 数据层使用Intel 710和S3700
  • 系统同时使用了RAID 1和RAID 10(任何4+以上的磁盘都使用RAID 10)。不畏惧故障发生,即使生产环境中使用了上千块2.5英寸SSD,还没碰到过一块失败的情景。每个模型都使用了1个以上的备件,多个磁盘发生故障的情景不在考虑之中。
  • ElasticSearch在SSD上表现的异常出色,因为SO writes/re-indexes的操作非常频繁。
  • SSD改变了搜索的使用方式。因为锁的问题,Luncene.net并不能支撑SO的并发负载,因此他们转向了ElasticSearch。在全SSD环境下,并不需要围绕Binary Reader建立锁。

高可用性

  • 异地备份——主数据中心位于纽约,备份数据中心在Oregon。
  • Redis有两个从节点,SQL有2个备份,Tag Engine有3个节点,elastic有3个节点,冗余一切,并在两个数据中心同时存在。
  • Nginx是用于SSL,终止SSL时转换使用HAProxy。
  • 并不是主从所有,一些临时的数据只会放到缓存中
  • 所有HTTP流量发送只占总流量的77%,还存在Oregon数据中心的备份及一些其他的VPN流量。这些流量主要由SQL和Redis备份产生。

数据库

  • MS SQL Server
  • Stack Exchange为每个网站都设置了数据库,因此Stack Overflow有一个、Server Fault有一个,以此类推。
  • 在纽约的主数据中心,每个集群通常都使用1主和1只读备份的配置,同时还会在Oregon数据中心也设置一个备份。如果是运行的是Oregon集群,那么两个在纽约数据中心的备份都会是只读和同步的。
  • 为其他内容准备的数据库。这里还存在一个“网络范围”的数据库,用于储存登陆凭证和聚合数据(大部分是stackexchange.com用户文件或者API)。
  • Careers Stack Overflow、stackexchange.com和Area 51等都拥有自己独立的数据库模式。
  • 模式的变化需要同时提供给所有站点的数据库,它们需要向下兼容,举个例子,如果需要重命名一个列,那么将非常麻烦,这里需要进行多个操作:增加一个新列,添加作用在两个列上的代码,给新列写数据,改变代码让新列有效,移除旧列。
  • 并不需要分片,所有事情通过索引来解决,而且数据体积也没那么大。如果有filtered indexes需求,那么为什么不更高效的进行?常见模式只在DeletionDate = Null上做索引,其他则通过为枚举指定类型。每项votes都设置了1个表,比如一张表给post votes,1张表给comment votes。大部分的页面都可以实时渲染,只为匿名用户缓存,因此,不存在缓存更新,只有重查询。
  • Scores是非规范化的,因此需要经常查询。它只包含IDs和dates,post votes表格当下大约有56454478行,使用索引,大部分的查询都可以在数毫秒内完成。
  • Tag Engine是完全独立的,这就意味着核心功能并不依赖任何外部应用程序。它是一个巨大的内存结构数组结构,专为SO用例优化,并为重负载组合进行预计算。Tag Engine是个简单的windows服务,冗余的运行在多个主机上。CPU使用率基本上保持在2-5%,3个主机专门用于冗余,不负责任何负载。如果所有主机同时发生故障,网络服务器将把Tag Engine加载到内存中持续运行。
  • 关于Dapper无编译器校验查询与传统ORM的对比。使用编译器有很多好处,但在运行时仍然会存在fundamental disconnect问题。同时更重要的是,由于生成nasty SQL,通常情况还需要去寻找原始代码,而Query Hint和parameterization控制等能力的缺乏更让查询优化变得复杂。

编码

  • 流程

  • 大部分程序员都是远程工作,自己选择编码地点
  • 编译非常快
  • 然后运行少量的测试
  • 一旦编译成功,代码即转移至开发交付准备服务器
  • 通过功能开关隐藏新功能
  • 在相同硬件上作为其他站点测试运行
  • 然后转移至Meta.stackoverflow测试,每天有上千个程序员在使用,一个很好的测试环境
  • 如果通过则上线,在更广大的社区进行测试

  • 大量使用静态类和方法,为了更简单及更好的性能
  • 编码过程非常简单,因为复杂的部分被打包到库里,这些库被开源和维护。.Net 项目数量很低,因为使用了社区共享的部分代码。
  • 开发者同时使用2到3个显示器,多个屏幕可以显著提高生产效率。

缓存

  • 缓存一切
  • 5个等级的缓存
  • 1级是网络级缓存,缓存在浏览器、CDN以及代理服务器中。
  • 2级由.Net框架 HttpRuntime.Cache完成,在每台服务器的内存中。
  • 3级Redis,分布式内存键值存储,在多个支撑同一个站点的服务器上共享缓存项。
  • 4级SQL Server Cache,整个数据库,所有数据都被放到内存中。
  • 5级SSD。通常只在SQL Server预热后才生效。
  • 举个例子,每个帮助页面都进行了缓存,访问一个页面的代码非常简单:

  • 使用了静态的方法和类。从OOP角度来看确实很糟,但是非常快并有利于简洁编码。
  • 缓存由Redis和Dapper支撑,一个微型ORM

  • 为了解决垃圾收集问题,模板中1个类只使用1个副本,被建立和保存在缓存中。监测一切,包括GC操。据统计显示,间接层增加GC压力达到了某个程度时会显著的降低性能。
  • CDN Hit 。鉴于查询字符串基于文件内容进行哈希,只在有新建立时才会被再次取出。每天3000万到5000万Hit,带宽大约为300GB到600GB。
  • CDN不是用来应对CPU或I/O负载,而是帮助用户更快的获得答案

部署

  • 每天5次部署,不去建立过大的应用。主要因为

  • 可以直接的监视性能
  • 尽可能最小化建立,可以工作才是重点

  • 产品建立后再通过强大的脚本拷贝到各个网页层,每个服务器的步骤是:

  • 通过POST通知HAProxy下架某台服务器
  • 延迟IIS结束现有请求(大约5秒)
  • 停止网站(通过同一个PSSession结束所有下游)
  • Robocopy文件
  • 开启网站
  • 通过另一个POST做HAProxy Re-enable

  • 几乎所有部署都是通过puppet或DSC,升级通常只是大幅度调整RAID阵列并通过PXE boot安装,这样做非常快速。

协作

  • 团队

  • SRE (System Reliability Engineering):5人
  • Core Dev(Q&A site)6-7人
  • Core Dev Mobile:6人
  • Careers团队专门负责SO Careers产品开发:7人

  • Devops和开发者结合的非常紧密
  • 团队间变化很大
  • 大部分员工远程工作
  • 办公室主要用于销售,Denver和London除外
  • 一切平等,些许偏向纽约工作者,因为面对面有助于工作交流,但是在线工作影响也并不大
  • 对比可以在同一个办公室办公,他们更偏向热爱产品及有才华的工程师,他们可以很好的衡量利弊
  • 许多人因为家庭而选择远程工作,纽约是不错,但是生活并不宽松
  • 办公室设立在曼哈顿,那是个人才的诞生地。数据中心不能太偏,因为经常会涉及升级
  • 打造一个强大团队,偏爱极客。早期的微软就聚集了大量极客,因此他们征服了整个世界
  • Stack Overflow社区也是个招聘的地点,他们在那寻找热爱编码、乐于助人及热爱交流的人才。

编制预算

  • 预算是项目的基础。钱只花在为新项目建立基础设施上,如此低利用率的 web server还是3年前数据中心建立时购入。

测试

  • 快速迭代和遗弃
  • 许多测试都是发布队伍完成的。开发拥有一个同样的SQL服务器,并且运行在相同的Web层,因此性能测试并不会糟糕。
  • 非常少的测试。Stack Overflow并没有进行太多的单元测试,因为他们使用了大量的静态代码,还有一个非常活跃的社区。
  • 基础设施改变。鉴于所有东西都有双份,所以每个旧配置都有备份,并使用了一个快速故障恢复机制。比如,keepalived可以在负载均衡器中快速回退。
  • 对比定期维护,他们更愿意依赖冗余系统。SQL备份用一个专门的服务器进行测试,只为了可以重存储。计划做每两个月一次的全数据中心故障恢复,或者使用完全只读的第二数据中心。
  • 每次新功能发布都做单元测试、集成测试盒UI测试,这就意味着可以预知输入的产品功能测试后就会推送到孵化网站,即meta.stackexchange(原meta.stackoverflow)。

监视/日志

  • 当下正在考虑使用http://logstash.net/做日志管理,目前使用了一个专门的服务将syslog UDP传输到SQL数据库中。网页中为计时添加header,这样就可以通过HAProxy来捕获并且融合到syslog传输中。
  • Opserver和Realog用于显示测量结果。Realog是一个日志展示系统,由Kyle Brandt和Matt Jibson使用Go建立。
  • 日志通过HAProxy负载均衡器借助syslog完成,而不是IIS,因为其功能比IIS更丰富。

关于云

  • 还是老生常谈,硬件永远比开发者和有效率的代码便宜。基于木桶效应,速度肯定受限于某个短板,现有的云服务基本上都存在容量和性能限制。
  • 如果从开始就使用云来建设SO说不定也会达到现在的水准。但毫无疑问的是,如果达到同样的性能,使用云的成本将远远高于自建数据中心。

性能至上

  • StackOverflow是个重度的性能控,主页加载的时间永远控制在50毫秒内,当下的响应时间是28毫秒。
  • 程序员热衷于降低页面加载时间以及提高用户体验。
  • 每个独立的网络提交都予以计时和记录,这种计量可以弄清楚提升性能需要修改的地方。
  • 如此低资源利用率的主要原因就是高效的代码。web server的CPU平均利用率在5%到15%之间,内存使用为15.5 GB,网络传输在20 Mb/s到40 Mb/s。SQL服务器的CPU使用率在5%到10%之间,内存使用是365GB,网络传输为100 Mb/s到200 Mb/s。这可以带来3个好处:给升级留下很大的空间;在严重错误发生时可以保持服务可用;在需要时可以快速回档。

学到的知识

1. 为什么使用MS产品的同时还使用Redis?什么好用用什么,不要做无必要的系统之争,比如C#在Windows机器上运行最好,我们使用IIS;Redis在*nix机器上可以得到充分发挥,我们使用*nix。

2. Overkill即策略。平常的利用率并不能代表什么,当某些特定的事情发生时,比如备份、重建等完全可以将资源使用拉满。

3. 坚固的SSD。所有数据库都建立在SSD之上,这样可以获得0延时。

4. 了解你的读写负载。

5. 高效的代码意味着更少的主机。只有新项目上线时才会因为特殊需求增加硬件,通常情况下是添加内存,但在此之外,高效的代码就意味着0硬件添加。所以经常只讨论两个问题:为存储增加新的SSD;为新项目增加硬件。

6. 不要害怕定制化。SO在Tag上使用复杂查询,因此专门开发了所需的Tag Engine。

7. 只做必须做的事情。之所以不需要测试是因为有一个活跃的社区支撑,比如,开发者不用担心出现“Square Wheel”效应,如果开发者可以制作一个更更轻量级的组件,那就替代吧。

8. 注重硬件知识,比如IL。一些代码使用IL而不是C#。聚焦SQL查询计划。使用web server的内存转储究竟做了些什么。探索,比如为什么一个split会产生2GB的垃圾。

9. 切勿官僚作风。总有一些新的工具是你需要的,比如,一个编辑器,新版本的Visual Studio,降低提升过程中的一切阻力。

10. 垃圾回收驱动编程。SO在减少垃圾回收成本上做了很多努力,跳过类似TDD的实践,避免抽象层,使用静态方法。虽然极端,但是确实打造出非常高效的代码。

11. 高效代码的价值远远超出你想象,它可以让硬件跑的更快,降低资源使用,切记让代码更容易被程序员理解。

原文链接: StackOverflow Update: 560M Pageviews A Month, 25 Servers, And It's All About Performance(编译/仲浩 审校/魏伟)

开发者“逆袭”,就等你一票! 基于多路云计算方案焕发新春 浪潮抢发E7 v2服务器 美国人眼中的腾讯 英特尔发布64位凌动处理器Merrifield 布局移动市场 OvershareKit:开源的iOS社交分享工具库 Ruby 2.1.1发布,改进系统加速,服务器兼容等问题 专访Ejoy2D作者云风:因Lua而生的开源图形引擎 当DDoS跨入400Gbps时代,那些来自孩子们的攻击该如何应对! Mesos渐入主流,Twitter模式有望“无限复制” 几十亿美元当头,你现实世界信息是否还会安全? 华为V3服务器挑战小型机,多路高端市场汹涌 迟到的祝福:Ruby生日快乐!编程快乐! 无缘CEO Stephen Elop将执掌微软硬件业务部门 又一API聚集地 3scale成立API Codex 你应该放弃的八大设计元素 Tropo与华为达成合作 Tropo API首次可供中国电信客户使用 抢先看:2014即将召开的Web Design大会 小米盒子2视频推送测试及解决播放优酷视频卡的问题 《近匠》UPYUN——从开发者变为服务者 移动开发者必须了解的10大跨平台工具 不差钱:30+收购案,170亿美元投资,IBM再度出手收购Cloudant 微软反击谷歌:Windows授权费降七成+硬件要求减少一半 [测试] 你的HTML5知识够金质吗? 基于OpenStack的虚拟机在线迁移 当64bit遇上8核心:高通发布Snapdragon 615 深圳Maker Faire创客市集:国内外创客组团来参展 腾讯正式发布QQ浏览器微信版 摩托罗拉今年推智能手表,有望提高续航能力 众筹未来必拥抱众智 果合报告:iOS趋势及手游开发六大核心策略 无视OpenStack的前车之鉴,SAP等毅然支持Cloud Foundry 如何设置某指定目录的属性 关于JB的简单问题,谢谢. 请大家谈一下win2000下VPN技术的实现 有关Libpcap的编译问题!急! .bak文件?请指教。 KMP算法求解~!!! 如何实现在线订购? 关于升级机器的问题 如何在Image中放大缩小一个WMF文件?还有如何去拖动这个放大缩小的WMF图片呢? 高手请指教 请教:如何由ip获得访问者所在地区 哪位兄弟教教我,如果实现自适应静音检测? 一个B-S结构的售楼软件的报价大致应该是多少? 我的确是做了错事,我决心去努力,但似乎力不从心? 100分 求《UML与Rational Rose从入门到精通》 急!各位高手关于要把多个DC放到一个pDC上显示的问题。 急。关于ppc和sybase的问题 请问编一个WINDOWS画笔 谁有c434009A主板的驱动程序。 请问在windows下如何实现像数据库一样的读、写锁? 为啥我在InstallShield中调用DLL中的函数总是出错呢? 如何能在HTML控件显示区域显示“....(指定的文件名)不存在”? 请问如何把TIF格式转换成JPG或GIF的格式?? 代理不能定时执行,请指教,谢谢。 怎样与外部数据库建立联合查询? 如何接受来自vbscript的字符数据列表 怎么在Gtk+的gnomemessagebox显示中文? (在线等待,急!)在vc中怎么使用datagrid控件 我使用的是odbc访问数据库 好急的问题,有关于SMS的接收字符处理问题,想了好几天没有结果 那位兄弟手头上有ASP.NET高级编程的电子书? DataGrid 控件问题,帮帮我把,朋友! automount? 一个比较难的问题! 关于datagrid的问题 在线等待 在cmd编辑器中用java运行已编译的文件运行不成功怎样解决 各位帮我解决一下这个问题!!!谢谢 关于ResourceManager的疑惑? 两台机器无法访问? 大家有没有听说过zebudom.js这个javascript的API?请问哪里可以下载它? 模块的连接 如何用php开发一个在线语音聊天室? 请问:有谁能提供Microsoft Project 2002简体中文专业版下载地址????急用!!!!!! 《The C++ Programming Language》有没有中译版? 请高手帮我看看: session的范围 硬件加、解密卡合作 请问那里能下到C或者C++的编译环境? 我的网页做好了,在我自己的机子上显示的很好看,在别的机子上有的显示的和在我的机子上显示的一样,很不错,但在有些机子上显示就变形了 怎样在文件中查找指定的字串? 为什么这两个查询都不能运行呢? 人们将不愿意做那样的工作,将会感到厌烦 用英语怎么说 一个苹果四刀分成七份一个苹果,只能切四刀,分成七份.怎么分? 作文,走进诗歌王国 质量是物体的属性可以用什么实验证明?(除天平,写下实验步骤) 班风建设问题如何写啊 参观了科技博物馆,知道了许多有关恐龙的知识.(修改病句) 马和驴故事的寓意 12字以内 班风建设怎么体现?我们要进行班级风采大赛,要求展现班风建设,不知从何入手, 贱的书面语怎么讲?人的本性就是这样,可是不能老用贱来形容,可又不知道书面语怎么讲,有哪位资深一点的帮我解释解释?谢谢了我想重申一下 不是大街上骂街的那种“贱”,我指得是那种, 马和驴子的故事有什么启示?就是马和驴一起驮货驴子力气没有马大 感到很累 马没答应 过一会 驴就累死了 货物全都落到了马的身上大概就是这么个故事 告诉了我们什么深刻的道理呢? 圆明园里面有几个小园 “嫂子”的书面语怎么讲,填申请表用, 马和驴子的那个故事告诉我们什么道理?就是马和驴一起驮货驴子力气没有马大 感到很累 马没答应 过一会 驴就累死了 货物全都落到了马的身上大概就是这么个故事 告诉了我们什么深刻的道 浅谈如何加强班风建设 理解的前提是什么(政治题,要书面语,不要自己说) 请问天秤有分几种性格啊?我是天秤女,我的感情路总是不顺,请问为什么呢?而且我的人缘方面总是时好时坏的,这又是为什么呢? 马和驴的寓意 若点N(a,b)满足方程关系式a*2;+b*2;-4a-14a+45=0,(1)求u=b-3/a+2的最大值(2)求t=a*2;+b*2;的取值范围 在图书馆,新生小林想借一本名著 你向他推荐 朝花夕拾 .下列不能作为推荐语的一项是 来看啊A.这本书记录了鲁迅先生的一些往事留下了他成长的足迹给人很多启发值得一 《马和驴》的寓意 予处理,这种写法在书面语里规范吗? 在图书馆,新生小琳想借一本名著,你向她推荐《朝花夕拾》.下列不能作为推荐语的一项是( )A.这本书记录了鲁迅先生的一些往事,留下了他成长的足迹,给人很多启发,值得一读.B.我喜欢这 圆明园有什么称呼 我平时很少看电视 用英语怎么说突出“平时” 人生自古多磨难,世间冷暖皆自知是什么意思? 长沙市博物馆作文50~100字 钢笔出水新买的钢笔,灌满了蓝黑的钢笔水,使着使着就不出水了,但是里面还有很多的钢笔水, 给我找篇大约300字关于中秋节的文章,题目叫中秋随想300字左右,叫中秋随想,不要太深奥,我说了是300字,不是3000字,看清楚咯,是300字,是300字,是300字,是300字,是300字,是300字,是300字 急寻狭路相逢勇者胜辩论反方的辩论词啊提供详细的辩论词 最好能提供此辩论赛的视频 关于钢笔出水Hero 565,其实正常写起来挺流畅,出水量也正好,但是有以下三个问题让我很头痛:1)出水流畅时写一小段时间,出水量突然增多,伴随一整滴墨从笔尖流出,在纸上流下一块让我很郁 狭路相逢勇者胜的辩论词 小明做了如下实验:①把一段带叶的植物枝条,用刀削成平整的斜面.②插入装有红墨水的烧杯中,置于阳光下照射.③待枝条基部颜色有变化后,取出枝条洗净.④在枝条上方横切和纵切植物枝条, 很少英语怎么说 曾参中参的读音 看世间冷暖, 有没有在科技信息投过稿的,评价如何?在看的各位亲人,谁知道科技信息出刊怎么样,需要发论文,可杂志社也忒多了,挑的我眼花,同学以前发论文有上当受骗的,自己很担心~ 楞伽经谁懂里面的意思 我想知道楞伽经谁懂 我想知道 辩论 狭路相逢勇者胜马上有一场辩论赛,是狭路相逢勇者胜还是智者胜,我方是勇者胜,一辩陈词基本写完了,二三辩是提问题让对方回答,请大家帮着想想用什么问题能让对方很难回答,而更好的 科学发展是弊大还是利大 议论稿 100个字 有懂字体的高手吗,我想知道这是什么字体,有点急, 人间冷暖,何去何重, 琵琶行中琵琶女的演奏过程分为几个层次 底面半径8厘米的圆柱形容器与底面半径12厘米的圆锥形容器深相等,把圆锥体容器装满水,再把水倒入圆柱体容器内,水深比圆锥体容器的六分之五低2.5厘米,圆柱深几厘米 带时间陈述句改一般疑问句 意思是深入思考的四字成语是什么 我敬佩的一个人 400 把陈述句改为一般疑问句要怎么改?比如像名词性物主代词要改成什么? 高一数学题若点N(a,b)满足方程关系式a²+b²-4a-14b+45=0,则m=b-3/a+2的最大值为多少?答案是2+根号3 我敬佩的一个人作文400 将陈述句改一般疑问句They are going shopping tomorrow.是Are they going shopping tomorrow.还是Are they go shopping tomorrow.讲下为什么, 若点N(a,b)满足方程关系式a²+b²-4a-14b+45=0,则u=(b-3)/(a+2)的最大值 人们将不愿意做那样的工作,将会感到厌烦 英语怎么说 陈述句 改一般疑问句怎么改 this flower is weak.2this is an orange 《琵琶行》中琵琶女的乐曲演奏有何发展变化 加菲猫在现实生活中是哪个品种提前说谢谢了哈 动物保健所有兽医吗? 小红做20道题,做错一道扣3分,对一道得5分,不做得0分,他错的和没做的一样多,作对了多少道题? 像河南、陕西、河北、山东、山西等等这样的省份地形分划最早在哪个朝代形成了?我记得好像是元朝吧,山西,河南河北、陕西的省份地形已经成形了 有人知道 笑面冷暖心愈安 写诗人带着诗句的文章就和 04重庆满分作文 独上高楼 一样类型的文章,去看看 04重庆作文 独上高楼要这种类型的 日本小学英语课提前至三年级三星LG“偷电”揩油伊朗“绞刑未死”囚犯 获颁“免死令”巴黎:从肮脏地狱到世界之都“魅力西藏”倾倒柏林德国或将有条件同意建立欧元区银行业共韩国呼吁整容节目热降温韩拟购先进雷达探测周边隐形战机德电视台开拍《中国人来了》澳大利亚发现金子树俄军试验场发生严重爆炸事故德媒文章 中国统计方式使失业率“超稳惨案三年后 菲律宾“局部道歉” 现总中韩强烈抗议日本争岛视频韩媒:韩国越冬泡菜有望入选联合国非物澳大利亚蓝山险招治山火 当地居民获准美国海军军官出卖最高机密 换取Lad越南一中学发生越战遗留废弹爆炸 致1马来西亚水坝泄洪引发水灾 3死3失踪评论:拒任“非常任理事国”沙特给美脸被“假寡妇”咬会丧命 英国中学因毒蜘三种情形子女可不随父母姓京沪高速铁路通车运营图文:愿像洪湖水一样传唱50年图文:千余电影剧本在汉交易和拍卖10月制造业PMI为50.8%利比亚班加西再次爆发激烈冲突 至少3图文:中国歌剧:只有接地气才能聚人气恩施富硒土特产抱团闯市场我国有了反间谍法发挥政治工作对强军兴军的生命线作用小模特也是掘金高手越挠越痒这是为啥?加拿大暂停疫区国入境签证布基纳法索二将“争权”维珍旅游太空船爆炸偷点儿吃的就坐牢法官解禁隔离女护士金正恩视察平壤机场工地乌东部两州选举准备就绪加拿大杀3警男子被判终身监禁 75年中国拉动日本旅游收入创纪录
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘