V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yueyoum  ›  全部回复第 23 页 / 共 32 页
回复总数  628
1 ... 15  16  17  18  19  20  21  22  23  24 ... 32  
2014-05-20 16:22:32 +08:00
回复了 yueyoum 创建的主题 程序员 大量定时任务如何快速可靠的实现?
@9hills

@MasterYoda

redis 我也大量运用,也算熟悉,expire key
这个在上个项目中 做 功能 CD 是这样做的。
这样做没问题,因为是要去 做这个功能的时候去 查一下 有没有那个key
有就不能做。


但现在的应用场景变了, 是key消失了 需要通知系统, 做一些动作。


所以如果 直接撸redis,也只能考虑用它的通知机制

redis 是单进程单线程模式, 不用测试就知道,量大以后,也会不精确。
2014-05-20 16:18:27 +08:00
回复了 yueyoum 创建的主题 程序员 大量定时任务如何快速可靠的实现?
@MasterYoda

如果是用户查看还有多少时间, 根本就不用redis,
直接把开始时间 保存起来, 然后查看的时候 用 当时时间,起始时间,总时间 就可以算出来。

是 PUSH, 也就是 没有任何操作, 定时器也要工作。



@akira

想过用 erlang 自己实现, 思路和实现都及其简单,简单到连test都不用的地步。

erlang 提供一个 register 接口, 系统把需要定时的任务丢给erlang
erlang spawn一个 process,然后就 sleep住, 醒来后 就带着相应的参数 去回调系统就可以。


只是感觉大量定时任务 在服务端应该是一个极其常见的应用场景。
所以就来问问是否有更好的实现。
2014-05-20 15:58:38 +08:00
回复了 yueyoum 创建的主题 程序员 大量定时任务如何快速可靠的实现?
@9hills

恩,有了trigger 确实是个方法。
没有trigger的时候 expire key 也几乎不可用。 总不能不停的去检测这些key吧

不过 trigger 没接触过,我代会去看看……
2014-05-20 15:57:34 +08:00
回复了 yueyoum 创建的主题 程序员 大量定时任务如何快速可靠的实现?
@Actrace

哦? nodejs 的东西 ? 不了解啊。
2014-05-15 09:48:12 +08:00
回复了 raincious 创建的主题 程序员 各位在外打拼的程序员们,你们认为同事能成为好朋友么?
分人,

有些人能让你们从陌生变成一生的好朋友
有些人能让你们从熟人变成永远的陌生人
2014-05-13 12:29:51 +08:00
回复了 yueyoum 创建的主题 程序员 分布式系统数据库的问题
@xiawinter

确实是这样, 同时感谢LS两位的回答。 我没回复就是 我不涉及到分布式数据库

我的系统是分布式的, 并不是要一个分布式的数据库。
2014-05-13 10:56:57 +08:00
回复了 playmobil 创建的主题 Emacs emacs 命令太长了,能否变成 em
方法太多了,除了LS说的
先找到 emacs的位置 whereis emacs
然后 sudo ln -s /PATH/emacs /usr/bin/e
2014-05-12 19:40:08 +08:00
回复了 yueyoum 创建的主题 程序员 多个 SERVER 之间相互调用的安全性问题
@ritksm

我也知道,但当初期这些server组件 其实是全部署在一台机器上的时候,………………

理论总是要向现实妥协。


而且我感觉如果对API请求做了认证加密,也更加放心自如的部署机器。
2014-05-12 19:14:51 +08:00
回复了 yueyoum 创建的主题 程序员 多个 SERVER 之间相互调用的安全性问题
更新

firefox 也OK了,

在生成 server.csr 的时候 除了common name 其他的都别填
common name 就是域名

client.csr 的 common name 别填 域名
2014-05-12 18:54:30 +08:00
回复了 bruce 创建的主题 云计算 PPT: 高可靠消息系统 RabbitMQ
曾经好好研究过 rabbitmq, 但是 python 的 pikka 库当时有个错误,包了issue 也一直没处理

后来为了简化项目, 就不用 rabbitmq了
2014-05-12 18:51:16 +08:00
回复了 yueyoum 创建的主题 程序员 多个 SERVER 之间相互调用的安全性问题
上面没说清楚

firefox没搞定是 证书成功导入firefox,但在请求url的时候,报错

An error occurred during a connection to api.test.com. Peer's certificate has an invalid signature. (Error code: sec_error_bad_signature)

python requests 库, 一直包SSLError
2014-05-08 18:37:54 +08:00
回复了 Livid 创建的主题 Go 编程语言 Disqus 用 Go 取代 Python 的经验分享
@est 求教 , 那该如何?

event loop ? or erlang Actor model ?
以前我的处理方式是:

简化一下


附件表
topic_attachment

+------+---------+--------------+-----------+
| id | name | upload_date | topic_id |
+------+---------+--------------+-----------+


上传图片会先存入 topic_attachment 表,

insert into topic_attachment (topic_id) values (0)
注意这里把 topic_id 设置为0

当帖子发布成功后,就把 topic_id 设置为当前发表的帖子ID。





如果 上传完附件 ,但是帖子没发表。
当下次打开网页的时候,
就把 select * from topic_attachment where topic_id = 0;的结果返回
并提示 这些附件 需要处理,如果不处理,多少天之后会删除。


用户如果顺着提示点进去,再发贴的时候,就可以勾选这些列出来的附件。
发表完,就把那些勾选的 attachment topic_id 设置为当前发布帖子的ID。


整个流程就是这样, 既方便了用户,也给予了明确提示(如果不处理,多少天要删除)。
顺便也清理了服务器上的无用文件。



————————————————————————————————————————————————————————————————————


如果现在让我重新设计,

我会用redis。

用户只要是在编辑帖子,javascript 就不停的 ajax post 帖子的内容到 server。
server 将这些内容塞进redis,当然post的文件还是存磁盘。

如果用户编辑到一半,关闭了浏览器,再打开帖子i编辑器的时候,
javascript会向server 查询是否有帖子缓存在redis中,如果有,server会返回帖子内容,
javascript自动填充, 这样就有了自动保存的功能。

当用户点击了发表按钮后,POST到server,server再去存mysql,清理redis。

如果用户编辑到一半,然后在也不打开帖子编辑了怎么办?
用定时任务来处理,比如对于已经缓存了1周的帖子,就清除,连同它的附件。
2014-04-26 14:33:35 +08:00
回复了 magine 创建的主题 Django django 有没有内置用字典更新模型的方法
@magine

没记错的话, update 只能用在 queryset 上, get 获取的是单个对象 不是 queryset ,所以不能用。

filter().update() 就行, 翻译成 SQL就是

update TABLE set A=1, B=2 where id = ...
妹子,来跟叔叔学习吧,哈哈哈哈。


忽略上面那句…………


你的想法很好,这么有动力去学习。
不过才如行一年,JAVA的生态圈深如海,现在一边做自己手上的工作,一边看看业界新闻,
看看各种NB框架的源码。 它们的设计。


当然,光看效果不大, 得有实际体会才行。
你现在做的内网应用,估计最麻烦的就是权限问题了。但只要设计好模型,也好处理。


当你转到真正的互联网项目上的时候,就要考虑高性能,可扩展,易于部署,可维护,
高可用 等等问题。



最好 在github 上建个项目吧, 练手
1 ... 15  16  17  18  19  20  21  22  23  24 ... 32  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5548 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 57ms · UTC 08:25 · PVG 16:25 · LAX 00:25 · JFK 03:25
Developed with CodeLauncher
♥ Do have faith in what you're doing.