......我们有个同事用 lua 脚本写了个类似功能。
简单说就是 lua 嵌进 nginx 里,然后 nginx 请求前会先通过 lua 脚本查询数据库,然后拼出正确的 nginx 配置然后执行。
很有帮助的讨论,我最近写的东西是用异步队列 (sidekiq) 实现一个有依赖关系的任务序列 (即单个任务可能会依赖前置任务完成才能开始), 并且每个任务内部还有一个状态机,调用外部的异步服务。因为状态机的状态转移和外部服务调用没办法做成原子操作,所以最后还是要人为的给行加锁,用 with_lock(&block)
才解决了竞争问题。
所以结论是:在用数据库做强状态机的情况下,必须要先抢锁再运算。楼主的例子举的很不合适,如果真做金融相关的系统,性能和数据一致比起来,肯定是倾向于数据一致性的。
顺便 show 下状态机.... 感觉状态机相关的资料比较少,特别是很难找到状态机的设计最佳实践之类的东西,这个状态机设计成这样也是两个月里反复修改直到现在才成型的。
帮了大忙...我正好也面临非常类似的情况
#6 楼 @quakewang 觉得你这个方案特别靠谱...回头实践下再来汇报...
#12 楼 @quakewang 你意思是放在 ~/.bash_profile
里面?
我在想有没有办法在应用机上不放任何敏感信息 (数据库密码这样)..敏感信息最多只保留在部署工具机上
#2 楼 @hz_qiuyuanxin 你这个方案跟 2,3 一样,就看你怎么做的优雅了..
听起来楼主的需求只要用 systemd 就好了....不过这是 linux 下的东西........
不过有看到 systemd 的介绍说,the feature of socket activation is inspired by launchd, the apple project. 所以楼主也可以看看 launchd 有没有写法也是支持 socket activation 这样功能..
,,,诶哟。同问...我也想知道
看看 这本书能帮助理解。实例变量,类变量和类实例变量的区别......
-,-..诶...遇到渣人就没办法了..
也许说明干的活你不认可,老板画的饼不够圆。下次挑公司时候多注意?
赞...
断更了...??