服务器的“服务器”,enginx之于分布式部署的创新意义:使任何服务器程序秒变集群

本文关键字:nginx,元服务器,单机集群,分布式集群,集群引擎

虽然webstack往往被做成集群来进行,但即使存在那样的必要也很难为随便找到的一组服务器搭个集群,enginx就是用来做这事的,继《发布enginx:基于openresty,一个前后端统一,生态共享的webstack实现》,进一步地,enginx之于服务器部署的创新意义还在于:它可以使任何分散,逻辑上相关的一组服务器建立起前后端的拓扑,可能这些srvs并不是webstack使用的那些。

engin x – 从webstack到common svrstack:通用分布式服务器引擎,集群引擎

进言之,它可以使任何服务器程序纳入一个统一的生态,就像openrestry之于web stack srvs一样,因为openrestry是不止webstack srv的srv,而且还是通用服务器子件的集群引擎。所以其中有dns srv也是合理的。。。比如你完全可以用enginx做vpn服务器,搭配游戏逻辑服务器做游戏服务器,等等。

这可以让任何分布式环境,变得自定义。可定制,高伸缩。而且,注意这个而且,仅仅在配置层面就可以完成。不需要涉及到开发。因为基于openresty的越来越多的插件是用来解决这个问题的。

enginx就像是集群定制器,服务器的服务器。通用分布式服务器/集群引擎,甚至可以集成到一台单机。

从分布式到单服多站互转

而且,你可以用enginx做单机集群,这对集中运维,单机多服节约成本方案都有帮助。拿游戏服务器集群和游戏开服来说,对于一个游戏服务器。比如有数据服务器,逻辑服务器地图服务器,登录服务器,消息流转网关 等游戏产品。web也可类比:一个大型用于生产环境的web服务器,拿aliyun的产品方案来说,有rds:就是多个数据库服务器。 ecs:放业务逻辑的服务器。 ocs:放存储逻辑的服务器,比如文件服务器。 至于slb,,其实就是把以上东东连起来的网关。(使分散的成为一体,且完成一些资源匀衡的任务) 就是游戏服务器那一套。或者普通TCP服务器的那一套。以上这些可能分散在网上不同的环境下。

比如:集群环境中的每一个分布式子件都可以是一个进程,一台机器,甚至一个远程进程中的应用,可以是软件,有些是逻辑处理的,有些是流量控制的,有些是负责安全的,这在编程上体现为复杂服务器环境设计,即svr程序的开发 。需要涉及到线程池,异步IO,文档协议库等等,而
在运营和运维上来,随着业务的扩大,体现为增加新的进程,新机器的过程。比如对于,游戏运营来说,要开更多的服,可以在一台服务器,但是无限扩展并不总是好的方法,更高IO更高并发可伸缩总是以不断增加升级配置的成本来解决。也提高了运维成本。
但是,完全可以通过engin x,在开发上,配合enginx,仅需要配置一台逻辑服务器。在部署上,分散的服务子件都可以用软件模拟。按软件模拟微缩到原先的复杂服务器程序设计的层面到一台单机,配合enginx重新设计,可达到更高灵活度,可大大降低费用,且可极致利用完服务器资源,

还是来说阿里云上做站的那些产品和方案,不一定要用业界那一套。感觉上ocs,rds,ecs,slb这些鬼,可以对站的服务器环境进行再抽象,使之变成一套自然,前后协调的天然单元。比如用游戏服务器的网关模拟webstack中的负载。只要能保持单机高可用,在限制资源配额内,就能做到真正的那种单服全集成的方案。(VS多服真正的负载均衡)

而这,其实不过是借enginx,在抽象上的一种做法在部署上的一种重组方案而已。

———————————–

以后的文章,会大量例举这方面的例子。比如nginx支持反代和负载,可以用于集群。再讨论其综合运用方面模拟现有各种wamp,lamp等的技术细节。来讨论用enginx 模拟通用的游戏服务器环境和强化/整合/替换各种现有web环境栈的做法。


(此处不设回复,扫码到微信参与留言,或直接点击到原文)

服务器的“服务器”,enginx之于分布式部署的创新意义:使任何服务器程序秒变集群

上一篇:为什么做好数据安全这么难?黑客太牛?


下一篇:发布wordpress for .net monosys,及monosys带来的更好的虚机+paas选型