文档章节

lua 实现动态server集群(一)

t
 tonnis
发布于 2014/11/06 15:44
字数 515
阅读 65
收藏 0

声明:可以随意转载,但是要注明转载来源啊,哈哈

最近由于频繁修改服务端代码,经常是因为增加一点点的功能或者信令增加一个标记位,而不停的升级、编译、提交版本、提交测试、升级支持,弄的心情超级烦躁。从而触发了一个使用脚本动态语言来编写服务想法,想法虽有,但是被采纳的可能不大,试试吧,先分享出来大家看看,Let's go

分析现状:

1、现状当前服务端数量过多,各式各样的服务,甚至有时候一个小功能就一个服务,定制化十分严重。

2、通讯以udp为主,http url ,tcp也有,每个服务均以:收到消息->处理消息->等待消息模式为主

3、代码分散,每个人负责几个服务端,经常出现信令更新不一致现象引起的测试不通过问题。

4、信令每次修改最少要升级2个服务,也就意味着至少要重启2个服务

改善现状提出对脚本语言的要求:

1、兼容当前服务端部分源码(C/C++、boost库),不能让其他同事反感(因为要推广开来)

2、脚本语言性能不能过低,支持多线程,并且要实现模块化,能与基础语言C/C++融合

3、可以信令实现动态解析,实现信令高低版本兼容,处理函数在脚本中实现

4、脚本可以实现热更新,远程更新脚本,远程管理服务

 

考察过很多语言后,lua成为首选,

1、可以与c/c++通讯互相调用

2、可以动态加载实现热更新

3、luarocks可以找到很多第三方库方便扩展

4、在远程管理上已经选择现有的redis,lua也有redis client

先预想拓扑图

© 著作权归作者所有

共有 人打赏支持
t
粉丝 0
博文 2
码字总数 693
作品 0
东城
用Nginx+Lua(OpenResty)开发高性能Web应用

在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而把Nginx作为一个Web容器使用的还不是那么广泛。Nginx的高性能是大家公认的,而Nginx开...

长征2号
2017/08/30
0
0
使用Nginx+Lua(OpenResty)开发高性能Web应用

使用Nginx+Lua(OpenResty)开发高性能Web应用 博客分类: 跟我学Nginx+Lua开发 架构 ngxluaopenresty 在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、...

fdhay
2016/08/31
45
0
使用Nginx+Lua(OpenResty)开发高性能Web应用

Nginx+Lua(OpenResty)开发高性能Web应用 使用Nginx+Lua(OpenResty)开发高性能Web应用 在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而...

oldgril
2017/02/27
0
0
使用Nginx+Lua(OpenResty)开发高性能Web应用

一、ngx_lua简介 1 、Nginx 优点 Nginx设计为一个主进程多个工作进程的工作模式,每个进程是单线程来处理多个连接,而且每个工作进程采用了非阻塞I/O来处理多个连接,从而减少了线程上下文切...

DB_Terrill
2016/10/26
129
0
使用OpenResty(Nginx+Lua)开发高性能Web应用

在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而把Nginx作为一个Web容器使用的还不是那么广泛。Nginx的高性能是大家公认的,而Nginx开...

English0523
2017/11/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ在CentOS环境安装

1.废话不多说准备一台虚拟机,系统为centos,我这里使用的系统版本如下图所示:

凌晨一点
46分钟前
0
0
线程池相关

在java.util.concurrent包下,提供了一系列与线程池相关的类。 使用线程池的好处 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗; 提高响应速度。当任务到达时,任务...

edwardGe
48分钟前
0
0
学习大数据这三个关键技术是一定要掌握!

大数据时代全面来临,大数据、人工智能等技术引领科技创新潮流,获得国家政策大力支持,前景广阔。学习大数据技术的人自然是络绎不绝, 学习大数据虽然是一个趋势,但也要注意大数据培训课程...

董黎明
今天
0
0
jetbrains 上传代码到github

设置中找github 获取token 验证是否成功 测试git 生成key,一路回车即可 ssh-keygen -t rsa -C “youremail@example.com” 打开pub复制key,需要再次输入一次密码 验证是否成功,输入yes即可...

阿豪boy
今天
0
0
分布式服务框架(拾遗)

前言 现在的大部分工程都已经是基于分布式架构来处理。所以这里对分布式框架做一个简单的总结 常用的RPC框架 RPC框架原理 RPC(Remote Procedure Call,远程过程调用)一般用来实现部署在不同...

kukudeku
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部