谈谈在 .Net 平台上的 软件生态 和 软件生产力
我们可以先看看这篇文章 :
《看 StackOverflow 如何用 25 台服务器撑起 5.6 亿的月 PV》 http://www.nowamagic.net/librarys/news/detail/1813
物理机 也好 , 虚拟机 也好 , 用哪种都可以 。 你喜欢用哪种就用哪种 。 ^^
我之前说过 , 用 分布式缓存 作为 共享内存 来 构建集群 是 过去若干年到现在的 事实上的做法 。
这种做法 成本不高 , 容易普及 , 直观易用 。
我们通常说的 “集群治理” , 什么叫 “治理” ? 在上面的基础上再加上 复制分发 的功能就可以实现对 集群 的管理 或者 治理 了 。
集群 , 通常也称为 “Web Farm” , “Server Farm” , 这些都是 好名字 ……
什么是 复制分发 呢 ? 说白了就是 拷贝文件 。
我们说什么 集群治理 , 无非就是想 自动化 的 在 所有服务器上 “克隆” 或者 部署上 应用程序嘛 !
我们在 一台上部署了应用程序 , 希望其它服务器都有同样的部署 , 就是 “克隆” 。
要实现这个 , 就是 拷贝文件 嘛 。
所以, 现在 一会儿 是 容器 , 一会儿 是 实例 , 一会儿 是 每日构建 , 一会儿是 冒烟 , 一会儿是 自动获取源代码 , 一会儿是 自动编译 , 一会儿是 自动发布 …… 还有很多名词 , 实际上这些就是 一件事 , 就是 拷贝文件 嘛 !
为什么要 自动获取源代码 , 为什么要自动编译 ? 人来做的话不就是 喝杯茶 , 点两下鼠标么 ?
再 Ctrl + C , Ctrl + V
实际上 只有 批量复制文件 这件事 才需要 自动化 , 就是 把 要部署的 应用程序文件 拷贝到服务器 , 且是 拷贝到 n 台服务器 上 这件事 , 这件事 才需要 自动化 。
这件事的话 自己写个 程序搞定 。
需要 “云” 吗 ? 需要 “平台” 吗 ? 需要 “框架” 吗 ? 需要 Some Smart Tool 吗?
不需要 。
云 只要 提供 虚拟机 就可以了 。 其它的我们自己搞定 。 我们想怎么玩就怎么玩 。
谈谈在 .Net 平台上的 软件生态 和 软件生产力的更多相关文章
- 分享一些 Windows 平台上的神器
下面分享一些 Windows 平台上日常开发使用的软件,有些软件我自认为是神器,可以大大提高效率. 编辑器类软件 IntelliJ IDEA IntelliJ IDEA 内部集成 Java 开发环境, ...
- 如何在linux平台上编译安装zlib软件(公司部分线上机器缺少zlib不能安装supervisor)
文章在Centos 6.5 linux平台上演示一下如何进行编译安装zlib软件,并配置相关的选项加载使用.示范从下载到安装并配置进行使用过程一系列整套讲解,希望可以给网友考虑使用,谢谢. 工具 ...
- 龙芯GO!龙芯平台上构建Go语言环境指南
龙芯软件生态系列——龙芯GO!龙芯平台上构建Go语言环境指南2016-07-05 龙芯中科1初识Go语言Go语言是Google公司于2009年正式推出的一款开源的编程语言,是由Robert Gries ...
- Go语言在国产CPU平台上应用前景的探索与思考
http://www.chinaaet.com/article/3000087559 0 引言 CPU是电子产品的核心,代表着信息产业的发展水平.CPU发展至今已经有四十多年的历史了,实际就是Inte ...
- JVM 平台上的各种语言的开发指南
JVM 平台上的各种语言的开发指南 为什么我们需要如此多的JVM语言? 在2013年你可以有50中JVM语言的选择来用于你的下一个项目.尽管你可以说出一大打的名字,你会准备为你的下一个项目选择一种新的 ...
- Mac 平台下功能强大的Shimo软件使用指南
年初自从换了MAC工作站后,彻底享受了Apple产品给我们带来的完美体验,可能是刚转过来不适应,在访问网络设备时觉得远程连接不方便,例如ssh,vpn登陆都不是很方便,后来又安装了openvpnfor ...
- 随笔之Android平台上的进程调度探讨
http://blog.csdn.net/innost/article/details/6940136 随笔之Android平台上的进程调度探讨 一由来 最近在翻阅MediaProvider的时候,突 ...
- 在微软平台上运行 SAP 应用程序
本博客介绍了在微软平台上运行 SAP 应用程序的相关信息,作者在基于微软平台使用 SAP 方面有着数十年经验. 发布关于 Azure 的 SAP 说明 几个月前,SAP 针对适用于 SAP 软件 ...
- [原]详解如何将cocos2dx项目编译到Android平台上的(方式一:Cywin+NDK)
链接地址:http://m.blog.csdn.net/blog/yhc13429826359/29357815 2014-6-8阅读578 评论0 前言:cocos2dx作为一个开源的移动2D游戏框 ...
随机推荐
- ResNet 简介
resnet 又叫深度残差网络 图像识别准确率很高,主要作者是国人哦 深度网络的退化问题 深度网络难以训练,梯度消失,梯度爆炸,老生常谈,不多说 resnet 解决了这个问题,并且将网络深度扩展到了最 ...
- CodeForces - 779D
Little Nastya has a hobby, she likes to remove some letters from word, to obtain another word. But i ...
- input获取焦点无效
js控制input获得焦点: $("input").focus(); 无效,写在延时函数中问题解决: setTimeout(function(){ $("input&qu ...
- <Java><类与对象><OOP>
Overview 类 封装(encapsulation): 也称为数据隐藏.从形式上看,是将数据与行为组合起来,并对对象的使用者隐藏了数据的实现方式.封装给对象赋予了黑盒特征,提高重用性和可靠性. 继 ...
- java学习笔记27(File类)
File类: 定义:文件和目录径的抽象表示形式, Java中将路径或者文件封装成File对象 1.File类的静态成员变量 package com.zs.Demo2; import java.io.F ...
- python day08作业
- caffe 中solver.prototxt
关于cifar-10和mnist的weight_decay和momentum也是相当的重要:就是出现一次把cifar-10的两个值直接用在mnist上,发现错误很大.
- Linux用管道命令对文件的移动
我的问题是这样的:我有一个文件夹,里面有大约有1000个文件,然后我想把这样的一部分文件给随机分成两部分,一部分含有100张,另外一部分含有剩下的所有的文件,这个时候如果是在Linux图形界面的话直接 ...
- Pytorch使用多GPU
在caffe中训练的时候如果使用多GPU则直接在运行程序的时候指定GPU的index即可,但是在Pytorch中则需要在声明模型之后,对声明的模型进行初始化,如: cnn = DataParallel ...
- [转载] python必碰到的问题---encode与decode,中文乱码
阅读来源: 字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicod ...