混搭.NET技术
新闻 .NET技术+25台服务器怎样支撑世界第54大网站 再度燃起人们对.NET的技术热情。这篇新闻中透露了StackExchange 在技术方面的混搭,这也是我所崇尚的。因此我也在社区里极力推广Mono平台,这篇短文就想和大家一起讨论一下混搭.NET技术。
混搭(Mashup)架构是一种新型的集成各种技术的应用开发架构。传统上,Mashup源于流行音乐,是一种音乐类型,也被称为bastard pop,指的是艺术家组合或者混合两首不同的歌曲(通常属于不同的流派)的音乐和歌词来创作新的歌曲。它拥有三个特征:天生的创新性,人们的经验性和结果的和谐性。 特征一:天生的创新性。从起源上看,Mashup是一种内容上的创新组合。这里重点是创新,虽然组合的元素通常都源自于本来无关但非常常见的东西,但这和任何创新活动类似,一旦组合便会产生一种具有新意的新生事物。 特征二:人们的经验性。这些组合都是人工进行合成的,而不是通过计算算法来合成的,人们的经验和思维在Mashup过程中起到了决定性作用。 特征三:结果的和谐性。无独有偶,在现实社会中Mashup风潮也影响着服装时尚界,设计师们把街头朋克元素引入到传统的英格兰服饰,用运动T恤混搭具有少女风情的篷篷裙,产生了意想不到的匹配效果。时尚界也称Mix & Match风格,从字面上理解,Mix是混合,Match是匹配,合起来翻译成混搭。指将不同风格,不同材质,不同身价的东西按照个人口味拼凑在一起,从而混合搭配出完全个人化的风格。Mix就是混合两个或多个元素,来展现新的用户体验。Match是指一种和谐相配的有机组合,否则就是“瞎搭”了。这就是特征三,混搭结果必须和谐匹配,具有这种既混且搭的东西,现实生活中除了音乐和服装,还有中国火锅,多元文化,多元的收藏,装饰和建筑风格等等,人们的情绪可以说也是一种混搭的表现。
对IT技术来说,就如同创造新音乐,新服装那样,它能让开发人员创造针对特定的业务需求的业务混搭IT技术。下面我们来看下StackExchange 在技术方面的混搭:
1、混搭Windows和Linux
Stack Overflow 把系统部署在Windows 平台上,同时使用Linux系统上,什么好用用什么,不要做无必要的系统之争,比如 C# 在 Windows 机器上运行最好,我们使用 IIS;Redis 在*nix 机器上可以得到充分发挥,使用*nix。还有 Windows上也有IIS ARR,但是他没有Linux上的Haproxy好,所以它使用Haproxy,同样的还有Windows上有nlb,Linux上有LVS,LVS 比NLB 好太多了,所以不要局限于所使用的系统,完全可以混搭使用Windows和Linux。
2、混搭物理服务器和虚拟机
硬件永远比开发者和有效率的代码便宜。基于木桶效应,速度肯定受限于某个短板,现有的云服务基本上都存在容量和性能限制。StackExchange 混搭使用了物理服务器和虚拟机,物理服务器可以将发挥纵向扩展的威力,数据库服务器使用SSD 磁盘,365GB内存 ,这样高配置的服务器现在云平台上基本没有,同时在一些低负载的场景使用虚拟机,例如VM 用于部署、域控制器、监控、运维数据库等场合。
3、混搭.NET开源社区技术
Stack Overflow 主要使用微软的.NET技术,混搭.NET开源社区的技术。 Stack Overflow本身就是.NET开源社区的一个参与者,他运用了redis作为其缓存层,目前最流行的Redis的.NET 驱动就是ServiceStack.redis,它是Stack Exchange的一位开发者Demis Bellot 所开发的开源的、支持.NET与Mono平台的REST Web Services框架ServiceStack 的一部分。微型的 ORM ——Dapper也是 Stack Overflow 开源的,还有Stack Overflow的开源监控解决方案Opserver,也是 Stack Exchange发布。它基于.NET框架构建,这在监控工具领域有些与众不同。
4、混搭其他技术
使用 http://logstash.net/做日志管理,SSD 改变了搜索的使用方式。因为锁的问题,Luncene.net 并不能支撑 SO 的并发负载,因此他们转向了 ElasticSearch。
在众多的技术方案中,不同的技术方案都有它的优点,不过从单一的方式来说,也会有缺点,但两种技术方案的结合混搭,就可以解决这些问题,最大程度上发挥各自优点,弥补不同技术方案的缺点。不过只有象StackExchange 具备丰富的技术能力的专业团队,才能很好的完成混搭,让后期的使用安枕无忧。
任何一个技术方案,管理都会有风险,混搭当然也会有。因此,在进行混搭创新之前,首先要对混搭的技术有一个准确的评估,比如你的技术方案与要混搭创新的技术之间有没有优势互补,微软在2011年以前经常是复制社区的技术,一个微软技术的使用者局限于微软的技术,这就好比是近亲繁殖,微软现在已经改变策略,直接集成社区的技术,这也是一种混搭创新,特别是使用微软技术的同仁们也要学会混搭;第二点,在进行混搭创新的变革之前,要和整个公司团队有充分的沟通,让你的团队很清楚地知道为什么要进行这样的混搭创新,,大多数人都不大喜欢被改变,所以领导者决心要变革、要创新就必须说服成员,告诉他们不改变会怎样。
2014年的.NET技术已经进入一个新的高度,.NET vNext 有一个专门为云端环境优化过的模式,该模式允许你在部署程序的时候连同他们所用到的.NET Framework的相关库一同部署。由于.NET的运行时和框架中的库部署在了程序基础(app-basis)上,所以在同一台机器上,每一个程序可以运行不同版本的.NET vNext,并且可以单独升级,互不影响。这些库已经被显著的优化、精简以便减少框架占用的空间,并且将会使用NuGet来发布。.NET开发团队以跨平台的思想来开发这个模式,在开发过程中和Xamarin积极合作,以确保经过云端优化过的.NET程序可以运行在装有 Mono 运行时的Mac和Linux上。一次将非Windows主机作为一等公民对待。微软将Mono和Linux完全集成到他们的构建环境和测试矩阵中,并积极地与社区共同努力将Mono变成一个托管ASP.NET的顶级平台,Xamarin最近也在行动,剑桥大学的开源顾问全职加入Xamarin 公司,他的工作是确保Mono 成为Linux上的一等公民。消息来自他的博客 http://t.cn/RPLN4Hj。.NET和ASP.NET的巨大生产力可以提供给那些使用混合开发环境的团队。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Jmeter(二十四) - 从入门到精通 - JMeter函数 - 中篇(详解教程)
- [javascript] elementui和vue下复制粘贴上传图片
- SQL Server通过创建临时表遍历更新数据
- 对于 JavaScript 中循环之间的技术差异概述
- 初识 webpack 原理——自定义插件
- 高性能解决线程饥饿的利器 StampedLock
- 前端应该知道的web调试工具——whistle
- 最强大的 CSS 布局 —— Grid 布局
- SAP Spartacus ProductConnector和ProductService实现
- Sorted Adjacent Differences(CodeForces - 1339B)【思维+贪心】
- Redis 发布订阅,小功能大用处,真没那么废材!
- R语言实现生物序列的降维比对
- Tomcat NIO(9)-IO线程-Overall流程和关键类
- 有限元平面四边形等差单元python编程
- 动图演示:手撸堆栈的两种实现方法!