文档章节

lua 实现动态server集群(一)

t
 tonnis
发布于 2014/11/06 15:44
字数 515
阅读 68
收藏 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(OpenResty)开发高性能Web应用 在互联网公司,Nginx可以说是标配组件,但是主要场景还是负载均衡、反向代理、代理缓存、限流等场景;而...

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

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

fdhay
2016/08/31
45
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

没有更多内容

加载失败,请刷新页面

加载更多

开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
7
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
3
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
2
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
1
0
RabbitMQ学习(2)

1. 生产者客户端 void basicPublish(String exchange, String routingKey, boolean mandatory, boolean immediate, BasicProperties props, byte[] body) 1. 在生产者客户端发送消息时,首先......

江左煤郎
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部