百万商业圈分布式云平台功能及使用说明
平台功能概述:
简单的说就是将N台电脑,有序分层(逻辑层次划分)组织起来,形成一个有机体(计算集群),去完成一台电脑很难完成的任务。
说的更通俗一点这个云平台就是将数十万台电脑变成一台电脑那样来使用
图表1集群中小型应用架构模型
图表2大规模实际应用架构模型
图表3集群实际测试架构模型
平台功能概述:
简单的说就是将N台电脑,有序分层(逻辑层次划分)组织起来,形成一个有机体(计算集群),去完成一台电脑很难完成的任务。
说的更通俗一点这个云平台就是将数十万台电脑变成一台电脑那样来使用!
平台组成部分:
1、.NETFrameWork3.5
2、平台云集群服务器系统
3、平台云集群应用开发包
4、平台云集群应用开发范例源代码
平台组成部分功能详述:
1、.NETFrameWork3.5
安装在哪里?答:安装在集群节点机上,每台机器都要装
如何安装呢?答:下载Framework3.5Setup.rar 解压后运行:dotNetFx35setup.exe 按提示下一步下一步即可
还有其他配置或设置吗?答:没有。
备注:没有Framework3.5Setup.rar 也可以直接安装VS2008(Microsoft Visual Studio 2008)。
2、平台云集群服务器系统
安装在哪里?答:安装在集群节点机上,每台机器都要装
如何安装呢?答:下载DistributedPlatForm.rar解压后运行:install.bat 提示安装完成,回车即可。
还有其他配置或设置吗?答:有,需要对配置文件进行设置。
先安装还是先配置?答:配置好之后再安装集群服务。
集群服务器系统配置文件(Bwsyq.Distributed.Cluster.exe.config)的使用及说明:
<!-- 分布式集群配置AliasName:节点或子节点名称RootNodeIp:本节点IP UpperNodeIp:上层节点IP HeartRate:心跳频率(秒) WebServerPort:Web服务端口号-->
<WebSystem.Framework.Distributed AliasName="1"RootNodeIp="192.168.2.201" UpperNodeIp="192.168.2.201"HeartRate="1" WebServerPort="8080">
<!-- 子节点信息 可配置多个节点(理论上无限制),考虑到并行处理建议每个节点配置10个子节点,四层配置可达10000台机器-->
<NodeInfoAliasName="02" IP="192.168.2.209"WebServerPort="8080"/>
<!―没有下层节点需要写 “<NodeInfo …> ”这一行吗?答:不需要写-->
<!―有多个下层节点需要怎么写 “<NodeInfo …> ”这一行呢?答:一个节点一行-->
</WebSystem.Framework.Distributed>
名词解释:
AliasName节点或子节点名称 命名规则要求:无 命名原则:上层节点名+XX(00~99) 如:根结点用1第二层节点用1XX 比如:101第三层10101以此类推
AliasName最好不要重复,重复了也不影响
RootNodeIp须是根节点的地址(不能使用127.0.0.1)。
UpperNodeIp是你的上层节点的地址(不能使用127.0.0.1)。
HeartRate 心跳频率,建议设置为1,单位:秒(越小表示频率越高,负载均衡算法越准确) 会影响机器性能吗?答:微乎其微。
WebServerPort:Web服务端口号对外的可以采用80如果只是集群内部使用就无所谓了,取值范围(1~65535)
备注:集群配置的时候在填写IP地址时要注意尽量避免使用127.0.0.1,请使用该节点的真实IP地址,否则会带来不可预知的错误。
3、平台云集群应用开发包
用什么工具进行开发?答:Microsoft Visual Studio 2008/ MicrosoftVisual Studio 2010
安装在哪里?答:开发人员的电脑上
需要安装到集群节点机上吗?答:不需要。
如何使用呢?答:下载DistributedPlatFormSDK.rar 解压即可,无需安装,在开发的时候进行全部引用即可。
有SDK接口函数说明吗?答:有。
用来开发什么程序?答:三种程序,
注:无论开发哪种程序,请先引用SDK中的所有DLL类库
一、开发集群应用业务逻辑程序,也叫商业逻辑(BussinessObject),简称BO,编译成dll类库形式,如:
public class Class1 : WebSystem.Framework.Bo.BaseBo
{
public string sum(int a, int b)
{
//这里输出结果的时候做个小实验,在结果中增加一个IP地址,看看真正运行的到底是哪个节点机
return (a + b).ToString()+ " 实际运行的节点是:"+ Api.LocalIps()[0].ToString();
}
}
假设编译成:testdemo.dll
有特殊要求吗?答:有,所有需要在客户端被调用的类都必须继承WebSystem.Framework.Bo.BaseBo 这个类,不继承发布到集群后,在其它客户端程序将无法调用。