V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
initialdp
V2EX  ›  Lua

lua 很牛啊,有人在服务端用 ta 么?

  •  
  •   initialdp · 2014-08-10 09:59:21 +08:00 · 8905 次点击
    这是一个创建于 3765 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这几天看了一下programing in lua (3ed),感觉lua很牛啊。协程、多值返回、闭包等概念居然早就支持,其中的table更是太厉害了。

    在网上搜了一下,应用lua的项目比较少啊,lua貌似被埋没了。多数集中在游戏领域,国内云风在skynet中大量用了lua。然后貌似就没有其他的了。从网上一些测试结果看,lua非常快,效率应该不是问题。有v友在实际服务端程序中采用lua吗?能谈谈经验或者教训吗?谢谢。
    17 条回复    2019-07-17 17:47:10 +08:00
    egen
        1
    egen  
       2014-08-10 10:12:04 +08:00
    OpenResty
    nginx 结合 lua 脚本做高性能服务器
    wb14123
        2
    wb14123  
       2014-08-10 10:38:25 +08:00
    lua的协程好像没有调度器吧?
    Zuckonit
        3
    Zuckonit  
       2014-08-10 11:43:10 +08:00
    nginx + lua
    initialdp
        4
    initialdp  
    OP
       2014-08-10 11:53:09 +08:00
    在生产环境有人用么?
    yingluck
        5
    yingluck  
       2014-08-10 12:13:10 +08:00
    只记得nginx配置文件和脚本全是用lua
    clino
        6
    clino  
       2014-08-10 12:14:55 +08:00 via Android
    lua是门很棒的语言
    它很容易嵌入到某个系统内部,很小巧
    但小巧容易嵌入导致比较容易形成方言,自带电池方面没python强
    xxxcat
        7
    xxxcat  
       2014-08-10 15:48:24 +08:00
    @wb14123 我所知协程有调度好像只有Erlang,那个比较重量级的,不可能用在Lua这种小巧的语言上。Golang的协程也是协作式的
    sophymax
        8
    sophymax  
       2014-08-10 16:11:17 +08:00 via iPad
    Nginx的lua模块大点的公司都在用
    xia0ta0
        9
    xia0ta0  
       2014-08-10 17:16:19 +08:00
    Lua主要是嵌入在应用里,作为程序的脚本,Openresty和很多游戏就是例子。
    Lua适合写一些简单的逻辑,比如restful api之类的。网站开发的话就算了,曾经用Lua写过,都是泪。。。
    barbery
        10
    barbery  
       2014-08-10 17:34:50 +08:00
    有使用nginx+lua做html静态缓存,lua速度快,内存少,也时候用来做任务队列分发
    wb14123
        11
    wb14123  
       2014-08-10 23:50:48 +08:00 via iPad
    @xxcat go是有调度器自动调度的。
    matate
        12
    matate  
       2014-08-11 09:31:19 +08:00
    在国内,其实lua很多人在用,性能优势非常明显。
    我们的短链接服务就是ngx_lua+redis实现。
    如果做网站开发,虽然也有人很多人的努力,比如http://leafo.net/,但是库包的数量还是很少的,这几乎是一个硬伤。
    单纯论lua这个语言,那是前途无量,因为它在许多程序中都是内嵌的,语法干练灵活,学点lua,绝对有用武之地。
    wb14123
        13
    wb14123  
       2014-08-13 16:24:31 +08:00
    @xxxcat 才发现golang的协程确实是协作式的。不过在进行系统调用的时候调度器会自动进行调度。那lua的只能用yield+手动管理吗?还是有一定的自动调度的功能?
    wb14123
        14
    wb14123  
       2014-08-13 16:40:15 +08:00
    @xxxcat 不过go1.2以后,已经加入了一定程度上的抢占式调度。在协程调用函数的时候,或者channel操作的时候,会进行抢占式调度。
    yingluck
        15
    yingluck  
       2014-10-27 14:23:16 +08:00
    央视网的用户留言和评论应用使用的是 Ngx + Lua
    xpol
        16
    xpol  
       2016-01-07 23:05:32 +08:00
    一直用来写游戏。
    v23x
        17
    v23x  
       2019-07-17 17:47:10 +08:00
    lua 很美很好用

    就是第三方库比较蛋疼
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2820 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 06:55 · PVG 14:55 · LAX 22:55 · JFK 01:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.