哪些工具和技术用于构建Stack Exchange网络?

另请参阅:哪些工具和技术用于构建Data Explorer?

返回FAQ索引

评论

另请参阅StackExchange 2.0是否与SO共享相同的代码库?

另请参阅:使用了哪些技术来建立聊天? (尽管目前尚无实际答案。)

另请参阅博客中Bullet Point中Stack Exchange的体系结构。

另请参阅尼克的博客上的Stack Exchange:规划失败和其他文章。

这是一个实现细节,您只需要关心记录的内容:P

zh.wikipedia.org/wiki/Stack_Exchange#Technologies_used

#1 楼

核心
堆栈溢出通过BizSpark使用WISC堆栈(我们已毕业!):


操作系统Microsoft Windows Server 2016 x64


Web服务器IIS 10


运行Microsoft Windows Server 2016 x64的数据库SQL Server 2019


语言C#


/>软件开发工具


IDE Visual Studio 2019

框架Microsoft .NET Core 3.1


Web Framework ASP带有MiniProfiler的.NET Core 3.1


View Engine Razor


浏览器框架jQuery 1.12.4



>数据访问层实体框架Core 2.2和Dapper


通过StackExchange.Redis缓存/其他数据Redis 4.0.7,并通过protobuf-net进行序列化


使用由GitHub托管的GitHub Enterprise实例(以前是自托管GitHub,2010-2014年为Mercurial,2008-2010年为Subversion)的Source Control Git。

比较之外的比较工具4


外部位
reCAPTCHA
DotNetOpenAuth

WMD-现在在WMD中作为开源开发项目PageDown

Prettify
Google Analytics(分析)
TeamCity
HAProxy
MarkdownSharp

LESS(源)
MathJax

Elasticsearch(源代码)

其他


Linux上的WordPress(站点博客)Jekyll(Linux上的?)(适用于blog.stackexchange .com)

WebSocket(用于实时更新;自定义C#实现)
Stack Exchange网站使用的带宽

jQuery Isotope插件(用于网格样式站点列表)(源)


内容


在2018-05-02(UTC)或之后贡献的内容许可知识共享署名-相同方式共享4.0在2011-04-08至2018-05-01(UTC)之间提供的内容的知识共享署名-相同方式共享3.0;知识共享署名-相同方式共享2.5,表示在2011-04-08之前贡献的内容(UTC)(源)

Standard OpenSearch,Atom


托管两个数据中心:

纽约:QTS(现在位于新泽西州的泽西市)。以前由Internap和PEER 1托管。 R630 IIS Web服务器(9个用于所有生产(如SO)共享,两个用于Meta和开发):

2个Intel Xeon处理器E5-2690 v3 @ 2.6 GHz 12核,带24个线程
64 GB RAM
Windows Server 2012 R2
两个驱动器

2 Intel 320 300GB SSD(RAID 1)


2x 10 Gbit / s NIC分组







三台Dell R720xd数据库服务器(两台在纽约市,一台在丹佛,使用SQL AlwaysOn群集)(全局“站点” “专用的数据库和堆栈溢出):

2个Intel Xeon处理器E5-2680 @ 2.7 GHz
384 GB RAM
21个驱动器

操作系统
2个用于数据库的Intel P3700 2TB PCIe NVMe RAID1
24个用于数据库的Intel 710 200GB SSD RAID10


SQL Server 2014 SP1
2x 10 Gbit / s NIC分组


三台Dell R730数据库服务器(两台在纽约市,一台在丹佛,使用SQL AlwaysOn群集)(所有其他站点,职业,51区等):

2个Intel Xeon处理器X5680 @ 3.33 GHz
768 GB RAM
28个驱动器

镜像对用于OS
2个用于数据库的Intel P3700 2TB PCIe NVMe RAID0
24个用于大型数据库的1.2TB 10K RAID10


SQL Server 2014 SP1
2个10 Gbit / s NIC分组

两个Dell R620 HAProxy服务器(直接):

2个Intel Xeon处理器E5- 2650 @ 2.0 GHz
64 GB RAM
CentOS 7
2x 10 Gbit / s NIC分组(内部)
2x 10 Gbit / s NIC分组(外部)




两台Dell R620 HAProxy服务器(CloudFlare):

2个Intel Xeon处理器E5-2637v2 @ 3.5 GHz @br 192 GB RAM br /> CentOS 7
2x 10 Gbit / s NIC组(内部)
2x 10 Gbit / s NIC组(外部)





两台Dell R630 Railgun服务器(CloudFlare):

2x Intel Xeon处理器E5-2699v3 @ 3.5 GHz
192 GB RAM
CentOS 7
2x 10 Gbit / s NIC组合(内部)
2个10 Gbit / s NIC组合(外部)






2台Dell R630 Redis服务器:

2个Intel Xeon处理器E5-2687Wv3 @ 3.1 GHz
128 GB RAM
CentOS 7
2 x 10 Gbit / s NIC分组

用于标签引擎/搜索的三台Dell R630服务服务器:

2x Intel Xeon处理器E5-2643v3 @ 3.4 GHz
64 GB RAM




一台运行NetBackup的Dell R620 Backup服务器(大多数备份):

2个Intel Xeon处理器E52620 @ 2.0 GHz
16 GB RAM
14个驱动器

OS的镜像对
12个4TB 10K RPM RAID10用于备份(DAS) )


2x 10 Gbit / s NIC分组





一台Dell R730xd SMB3备份服务器(SQL备份) :

2个Intel Xeon处理器E5-2623v3 @ 3.0 GHz
16 GB RAM
30个驱动器

OS的镜像对
16 6TB 7.2K RPM RAID10用于备份(内部)
12 4TB 10K RPM RAID10用于备份(DAS)


2x 10 Gbit / s NIC分组




四个Dell FC630s VMWare ESX(位于两个FX2机箱中):

2个Intel Xeon处理器E5-2698 v2 @ 2.30 GHz
768 GB RAM
16个10 Gbit / s NIC分组(每个FX2 8x 10 Gbit / s)





2个Cisco ASR1001-X路由器
2个ASR1001路由器
2个Fortinet 800C防火墙
2个采用主动/主动冗余配置的Cisco Nexus 5596内核

来源:

Stack Overflow的纽约数据中心(服务器故障博客)
管理和容错的可伸缩性(服务器故障博客)
堆栈溢出是用什么构建的?
堆栈溢出服务器的魅力所在
stackoverflow.com的技术和SEO配置文件
堆栈溢出和DVCS
堆栈溢出网络配置
https://stackexchange.com/performance


评论


嗯,清单似乎不完整。我看不到那里的独角兽...

–Lunatik
2010年5月6日7:10

我喜欢人们如何沉迷于bc3,以至于它们被列为堆栈的一部分

–user145917
2010-09-20 12:35

我能问一下SO团队如何迅速地将网站更新为Razor用户吗?他们实际上是将较旧的aspx视图移植到razor中还是遗留页面与razor并排运行?

–基甸
2011年4月2日,9:50

博客运行的平台/代码是什么?我已经对此发布了一个问题。

–casperOne
2011年6月6日在0:14



StackOverflow如何赚取收入?

– Purushoth
13年8月19日在13:00

可能还应该包括这一部分meta.stackexchange.com/questions/216324/…

–圣堂武士
2014年7月3日18:00

我在某处看到了VMWare,但是能否请您详细说明哪些系统是Bare Metal,哪些系统在虚拟化下运行,也许是Hyper-V?

–詹森·考德威尔(Jason Caldwell)
2014年7月23日下午0:11

StackOverflow使用什么IoC容器?

–比拉
2014年7月28日在15:34

我不得不说看到这一级别的技术细节公开感到惊讶。我不确定这有多普遍,但是我的直觉告诉我,安全专家不会为此感到高兴。也就是说,从理论上讲,恶意方可能能够根据此处的详细程度来缩小攻击选项的空间。只是我的两分钱。

–sammy34
2015年5月30日14:48

广告管理系统如何?

–技术支持
15年7月25日在18:41

这里包含api.stackexchange.com吗?

–一些有用的评论者
16年4月4日在22:00

“ Microsoft Windows Server 2017 x64”-什么? MS是否在2016年至2019年之间发布了专门供Stack使用的Windows Server特殊版本?

– jmbpiano
19年4月18日在15:36

“ Dell R720xd数据库服务器”的驱动器总数未总计。顶层项目说21个驱动器,但下面有28个项目。

–丹在火光中摆弄
19年4月18日在19:48

这个答案需要两个更新:1.我们切换到CommonMark,但是它们在某种程度上仍使用MarkdownSharp和PageDown来实现特殊功能;不知道这篇文章应该详细介绍多少。 2.知识共享许可更新;他们并没有使用CC BY-SA 4.0的所有内容。他们使用2.5、3.0和4.0。

–user289905
20年6月25日在2:02

@ user289905:听起来值得悬赏这个问题吗? :)我已经更新了许可信息(嗯,我建议进行编辑),但是我不知道在CommonMark信息中如何/最好地工作。

– V2Blast
20年8月2日在21:39